@sealpixel/ui 1.0.0-rc.0

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 (196) hide show
  1. package/LICENSE.md +59 -0
  2. package/README.md +10 -0
  3. package/dist/components/lumbra-button.d.ts +28 -0
  4. package/dist/components/lumbra-button.d.ts.map +1 -0
  5. package/dist/components/lumbra-button.js +87 -0
  6. package/dist/components/lumbra-button.js.map +1 -0
  7. package/dist/components/lumbra-editor.d.ts +226 -0
  8. package/dist/components/lumbra-editor.d.ts.map +1 -0
  9. package/dist/components/lumbra-editor.js +873 -0
  10. package/dist/components/lumbra-editor.js.map +1 -0
  11. package/dist/components/lumbra-nav.d.ts +48 -0
  12. package/dist/components/lumbra-nav.d.ts.map +1 -0
  13. package/dist/components/lumbra-nav.js +159 -0
  14. package/dist/components/lumbra-nav.js.map +1 -0
  15. package/dist/components/lumbra-slider.d.ts +48 -0
  16. package/dist/components/lumbra-slider.d.ts.map +1 -0
  17. package/dist/components/lumbra-slider.js +168 -0
  18. package/dist/components/lumbra-slider.js.map +1 -0
  19. package/dist/components/lumbra-stage.d.ts +92 -0
  20. package/dist/components/lumbra-stage.d.ts.map +1 -0
  21. package/dist/components/lumbra-stage.js +344 -0
  22. package/dist/components/lumbra-stage.js.map +1 -0
  23. package/dist/components/lumbra-toolbar.d.ts +30 -0
  24. package/dist/components/lumbra-toolbar.d.ts.map +1 -0
  25. package/dist/components/lumbra-toolbar.js +127 -0
  26. package/dist/components/lumbra-toolbar.js.map +1 -0
  27. package/dist/components/pincel-button.d.ts +28 -0
  28. package/dist/components/pincel-button.d.ts.map +1 -0
  29. package/dist/components/pincel-button.js +87 -0
  30. package/dist/components/pincel-button.js.map +1 -0
  31. package/dist/components/pincel-editor.d.ts +195 -0
  32. package/dist/components/pincel-editor.d.ts.map +1 -0
  33. package/dist/components/pincel-editor.js +794 -0
  34. package/dist/components/pincel-editor.js.map +1 -0
  35. package/dist/components/pincel-nav.d.ts +33 -0
  36. package/dist/components/pincel-nav.d.ts.map +1 -0
  37. package/dist/components/pincel-nav.js +147 -0
  38. package/dist/components/pincel-nav.js.map +1 -0
  39. package/dist/components/pincel-slider.d.ts +48 -0
  40. package/dist/components/pincel-slider.d.ts.map +1 -0
  41. package/dist/components/pincel-slider.js +168 -0
  42. package/dist/components/pincel-slider.js.map +1 -0
  43. package/dist/components/pincel-stage.d.ts +66 -0
  44. package/dist/components/pincel-stage.d.ts.map +1 -0
  45. package/dist/components/pincel-stage.js +233 -0
  46. package/dist/components/pincel-stage.js.map +1 -0
  47. package/dist/components/pincel-toolbar.d.ts +30 -0
  48. package/dist/components/pincel-toolbar.d.ts.map +1 -0
  49. package/dist/components/pincel-toolbar.js +127 -0
  50. package/dist/components/pincel-toolbar.js.map +1 -0
  51. package/dist/components/sealpixel-button.d.ts +28 -0
  52. package/dist/components/sealpixel-button.d.ts.map +1 -0
  53. package/dist/components/sealpixel-button.js +117 -0
  54. package/dist/components/sealpixel-button.js.map +1 -0
  55. package/dist/components/sealpixel-editor.d.ts +226 -0
  56. package/dist/components/sealpixel-editor.d.ts.map +1 -0
  57. package/dist/components/sealpixel-editor.js +1245 -0
  58. package/dist/components/sealpixel-editor.js.map +1 -0
  59. package/dist/components/sealpixel-nav.d.ts +48 -0
  60. package/dist/components/sealpixel-nav.d.ts.map +1 -0
  61. package/dist/components/sealpixel-nav.js +159 -0
  62. package/dist/components/sealpixel-nav.js.map +1 -0
  63. package/dist/components/sealpixel-slider.d.ts +75 -0
  64. package/dist/components/sealpixel-slider.d.ts.map +1 -0
  65. package/dist/components/sealpixel-slider.js +269 -0
  66. package/dist/components/sealpixel-slider.js.map +1 -0
  67. package/dist/components/sealpixel-stage.d.ts +118 -0
  68. package/dist/components/sealpixel-stage.d.ts.map +1 -0
  69. package/dist/components/sealpixel-stage.js +409 -0
  70. package/dist/components/sealpixel-stage.js.map +1 -0
  71. package/dist/components/sealpixel-stepper.d.ts +69 -0
  72. package/dist/components/sealpixel-stepper.d.ts.map +1 -0
  73. package/dist/components/sealpixel-stepper.js +248 -0
  74. package/dist/components/sealpixel-stepper.js.map +1 -0
  75. package/dist/components/sealpixel-toolbar.d.ts +30 -0
  76. package/dist/components/sealpixel-toolbar.d.ts.map +1 -0
  77. package/dist/components/sealpixel-toolbar.js +149 -0
  78. package/dist/components/sealpixel-toolbar.js.map +1 -0
  79. package/dist/controllers/gesture-controller.d.ts +65 -0
  80. package/dist/controllers/gesture-controller.d.ts.map +1 -0
  81. package/dist/controllers/gesture-controller.js +125 -0
  82. package/dist/controllers/gesture-controller.js.map +1 -0
  83. package/dist/controllers/session-controller.d.ts +15 -0
  84. package/dist/controllers/session-controller.d.ts.map +1 -0
  85. package/dist/controllers/session-controller.js +37 -0
  86. package/dist/controllers/session-controller.js.map +1 -0
  87. package/dist/define.d.ts +21 -0
  88. package/dist/define.d.ts.map +1 -0
  89. package/dist/define.js +27 -0
  90. package/dist/define.js.map +1 -0
  91. package/dist/i18n.d.ts +11 -0
  92. package/dist/i18n.d.ts.map +1 -0
  93. package/dist/i18n.js +27 -0
  94. package/dist/i18n.js.map +1 -0
  95. package/dist/icons.d.ts +32 -0
  96. package/dist/icons.d.ts.map +1 -0
  97. package/dist/icons.js +45 -0
  98. package/dist/icons.js.map +1 -0
  99. package/dist/index.d.ts +18 -0
  100. package/dist/index.d.ts.map +1 -0
  101. package/dist/index.js +17 -0
  102. package/dist/index.js.map +1 -0
  103. package/dist/locales/de.d.ts +3 -0
  104. package/dist/locales/de.d.ts.map +1 -0
  105. package/dist/locales/de.js +132 -0
  106. package/dist/locales/de.js.map +1 -0
  107. package/dist/locales/en.d.ts +3 -0
  108. package/dist/locales/en.d.ts.map +1 -0
  109. package/dist/locales/en.js +132 -0
  110. package/dist/locales/en.js.map +1 -0
  111. package/dist/locales/es.d.ts +3 -0
  112. package/dist/locales/es.d.ts.map +1 -0
  113. package/dist/locales/es.js +132 -0
  114. package/dist/locales/es.js.map +1 -0
  115. package/dist/locales/fr.d.ts +3 -0
  116. package/dist/locales/fr.d.ts.map +1 -0
  117. package/dist/locales/fr.js +132 -0
  118. package/dist/locales/fr.js.map +1 -0
  119. package/dist/locales/index.d.ts +6 -0
  120. package/dist/locales/index.d.ts.map +1 -0
  121. package/dist/locales/index.js +13 -0
  122. package/dist/locales/index.js.map +1 -0
  123. package/dist/locales/ja.d.ts +3 -0
  124. package/dist/locales/ja.d.ts.map +1 -0
  125. package/dist/locales/ja.js +132 -0
  126. package/dist/locales/ja.js.map +1 -0
  127. package/dist/locales/pt.d.ts +3 -0
  128. package/dist/locales/pt.d.ts.map +1 -0
  129. package/dist/locales/pt.js +132 -0
  130. package/dist/locales/pt.js.map +1 -0
  131. package/dist/theme.d.ts +19 -0
  132. package/dist/theme.d.ts.map +1 -0
  133. package/dist/theme.js +150 -0
  134. package/dist/theme.js.map +1 -0
  135. package/dist/tool.d.ts +70 -0
  136. package/dist/tool.d.ts.map +1 -0
  137. package/dist/tool.js +2 -0
  138. package/dist/tool.js.map +1 -0
  139. package/dist/tools/annotate.d.ts +3 -0
  140. package/dist/tools/annotate.d.ts.map +1 -0
  141. package/dist/tools/annotate.js +436 -0
  142. package/dist/tools/annotate.js.map +1 -0
  143. package/dist/tools/crop-mask.d.ts +29 -0
  144. package/dist/tools/crop-mask.d.ts.map +1 -0
  145. package/dist/tools/crop-mask.js +75 -0
  146. package/dist/tools/crop-mask.js.map +1 -0
  147. package/dist/tools/crop.d.ts +11 -0
  148. package/dist/tools/crop.d.ts.map +1 -0
  149. package/dist/tools/crop.js +361 -0
  150. package/dist/tools/crop.js.map +1 -0
  151. package/dist/tools/delete-handle.d.ts +18 -0
  152. package/dist/tools/delete-handle.d.ts.map +1 -0
  153. package/dist/tools/delete-handle.js +61 -0
  154. package/dist/tools/delete-handle.js.map +1 -0
  155. package/dist/tools/filter.d.ts +3 -0
  156. package/dist/tools/filter.d.ts.map +1 -0
  157. package/dist/tools/filter.js +174 -0
  158. package/dist/tools/filter.js.map +1 -0
  159. package/dist/tools/finetune.d.ts +11 -0
  160. package/dist/tools/finetune.d.ts.map +1 -0
  161. package/dist/tools/finetune.js +98 -0
  162. package/dist/tools/finetune.js.map +1 -0
  163. package/dist/tools/frame.d.ts +3 -0
  164. package/dist/tools/frame.d.ts.map +1 -0
  165. package/dist/tools/frame.js +57 -0
  166. package/dist/tools/frame.js.map +1 -0
  167. package/dist/tools/index.d.ts +14 -0
  168. package/dist/tools/index.d.ts.map +1 -0
  169. package/dist/tools/index.js +41 -0
  170. package/dist/tools/index.js.map +1 -0
  171. package/dist/tools/redact.d.ts +3 -0
  172. package/dist/tools/redact.d.ts.map +1 -0
  173. package/dist/tools/redact.js +252 -0
  174. package/dist/tools/redact.js.map +1 -0
  175. package/dist/tools/resize.d.ts +3 -0
  176. package/dist/tools/resize.d.ts.map +1 -0
  177. package/dist/tools/resize.js +91 -0
  178. package/dist/tools/resize.js.map +1 -0
  179. package/dist/tools/sticker.d.ts +8 -0
  180. package/dist/tools/sticker.d.ts.map +1 -0
  181. package/dist/tools/sticker.js +156 -0
  182. package/dist/tools/sticker.js.map +1 -0
  183. package/dist/tools/watermark.d.ts +3 -0
  184. package/dist/tools/watermark.d.ts.map +1 -0
  185. package/dist/tools/watermark.js +102 -0
  186. package/dist/tools/watermark.js.map +1 -0
  187. package/dist/view-mapping.d.ts +23 -0
  188. package/dist/view-mapping.d.ts.map +1 -0
  189. package/dist/view-mapping.js +72 -0
  190. package/dist/view-mapping.js.map +1 -0
  191. package/package.json +55 -0
  192. package/themes/default.css +23 -0
  193. package/themes/high-contrast.css +30 -0
  194. package/themes/minimal.css +32 -0
  195. package/themes/nocturne.css +21 -0
  196. package/themes/studio.css +23 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,MAAM,yBA4FlB,CAAC;AAEF,8CAA8C;AAC9C,eAAO,MAAM,IAAI,yBAsChB,CAAC"}
package/dist/theme.js ADDED
@@ -0,0 +1,150 @@
1
+ import { css } from 'lit';
2
+ /**
3
+ * Design tokens. Every component reads these custom properties, so a host
4
+ * page restyles the editor by setting them on `<sealpixel-editor>`.
5
+ *
6
+ * The default look: deep graphite surfaces with a coral accent, soft 12 px
7
+ * radii, quiet borders and one elevated panel. Dark text on the accent keeps
8
+ * AA contrast; muted text stays above 4.5:1 on every surface.
9
+ *
10
+ * Motion runs on three durations and three curves. `--sealpixel-ease` is the
11
+ * standard curve for a state change the pointer already explains, such as hover
12
+ * or press. `--sealpixel-ease-out` decelerates hard and suits something that
13
+ * arrives: a panel, a toast, a view that settles after a fit.
14
+ * `--sealpixel-ease-spring` overshoots a little and stays reserved for a control
15
+ * the finger is on, where the overshoot reads as give and not as a bounce.
16
+ */
17
+ export const tokens = css `
18
+ :host {
19
+ --sealpixel-color-bg: #0f1117;
20
+ --sealpixel-color-surface: #161923;
21
+ --sealpixel-color-surface-2: #1f2330;
22
+ --sealpixel-color-surface-3: #2a2f3d;
23
+ --sealpixel-color-border: #2b3040;
24
+ --sealpixel-color-fg: #eef0f6;
25
+ --sealpixel-color-fg-muted: #a3a9b8;
26
+ --sealpixel-color-accent: #ff6f4c;
27
+ --sealpixel-color-accent-fg: #1c0d08;
28
+ --sealpixel-color-accent-soft: rgba(255, 111, 76, 0.16);
29
+ --sealpixel-color-danger: #ef5a5a;
30
+ --sealpixel-color-focus: #ff9b7e;
31
+ --sealpixel-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
32
+ --sealpixel-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
33
+ --sealpixel-shadow-raised: 0 4px 12px rgba(0, 0, 0, 0.32);
34
+ --sealpixel-radius: 12px;
35
+ --sealpixel-radius-sm: 8px;
36
+ --sealpixel-space: 8px;
37
+ --sealpixel-font: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
38
+ --sealpixel-font-size: 14px;
39
+ --sealpixel-toolbar-size: 72px;
40
+ --sealpixel-panel-size: 112px;
41
+ --sealpixel-touch-target: 44px;
42
+ /*
43
+ * Height of a control in the bar. A mouse hits a 32 px target without
44
+ * trying and nine of them stop reading as nine boxes; a finger does not,
45
+ * so below it goes back to the full touch target. Both clear the 24 px
46
+ * WCAG 2.2 minimum.
47
+ */
48
+ --sealpixel-control-height: 32px;
49
+ --sealpixel-radius-pill: 999px;
50
+ --sealpixel-stage-checker-a: #1a1d27;
51
+ --sealpixel-stage-checker-b: #13161e;
52
+ --sealpixel-duration-fast: 120ms;
53
+ --sealpixel-duration: 200ms;
54
+ --sealpixel-duration-slow: 320ms;
55
+ --sealpixel-ease: cubic-bezier(0.3, 0, 0.2, 1);
56
+ --sealpixel-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
57
+ --sealpixel-ease-spring: cubic-bezier(0.34, 1.4, 0.64, 1);
58
+ /* The one-shot shorthand that hosts already override. */
59
+ --sealpixel-transition: var(--sealpixel-duration-fast) var(--sealpixel-ease);
60
+ color-scheme: dark;
61
+ }
62
+ :host([theme='light']) {
63
+ --sealpixel-color-bg: #f4f2ee;
64
+ --sealpixel-color-surface: #ffffff;
65
+ --sealpixel-color-surface-2: #f1efea;
66
+ --sealpixel-color-surface-3: #e6e3dc;
67
+ --sealpixel-color-border: #e1ded6;
68
+ --sealpixel-color-fg: #1a1a1f;
69
+ --sealpixel-color-fg-muted: #5f6370;
70
+ --sealpixel-color-accent: #d9481f;
71
+ --sealpixel-color-accent-fg: #ffffff;
72
+ --sealpixel-color-accent-soft: rgba(217, 72, 31, 0.12);
73
+ --sealpixel-color-danger: #c73a3f;
74
+ --sealpixel-color-focus: #d9481f;
75
+ --sealpixel-shadow: 0 10px 30px rgba(30, 20, 10, 0.12);
76
+ --sealpixel-shadow-sm: 0 1px 2px rgba(30, 20, 10, 0.08);
77
+ --sealpixel-shadow-raised: 0 4px 12px rgba(30, 20, 10, 0.12);
78
+ --sealpixel-stage-checker-a: #e9e6df;
79
+ --sealpixel-stage-checker-b: #f4f2ee;
80
+ color-scheme: light;
81
+ }
82
+ @media (pointer: coarse) {
83
+ :host {
84
+ --sealpixel-control-height: var(--sealpixel-touch-target);
85
+ }
86
+ }
87
+ @media (prefers-color-scheme: light) {
88
+ :host([theme='auto']) {
89
+ --sealpixel-color-bg: #f4f2ee;
90
+ --sealpixel-color-surface: #ffffff;
91
+ --sealpixel-color-surface-2: #f1efea;
92
+ --sealpixel-color-surface-3: #e6e3dc;
93
+ --sealpixel-color-border: #e1ded6;
94
+ --sealpixel-color-fg: #1a1a1f;
95
+ --sealpixel-color-fg-muted: #5f6370;
96
+ --sealpixel-color-accent: #d9481f;
97
+ --sealpixel-color-accent-fg: #ffffff;
98
+ --sealpixel-color-accent-soft: rgba(217, 72, 31, 0.12);
99
+ --sealpixel-color-danger: #c73a3f;
100
+ --sealpixel-color-focus: #d9481f;
101
+ --sealpixel-shadow: 0 10px 30px rgba(30, 20, 10, 0.12);
102
+ --sealpixel-shadow-sm: 0 1px 2px rgba(30, 20, 10, 0.08);
103
+ --sealpixel-shadow-raised: 0 4px 12px rgba(30, 20, 10, 0.12);
104
+ --sealpixel-stage-checker-a: #e9e6df;
105
+ --sealpixel-stage-checker-b: #f4f2ee;
106
+ color-scheme: light;
107
+ }
108
+ }
109
+ `;
110
+ /** Shared base styles for every component. */
111
+ export const base = css `
112
+ *,
113
+ *::before,
114
+ *::after {
115
+ box-sizing: border-box;
116
+ }
117
+ :host {
118
+ font-family: var(--sealpixel-font);
119
+ font-size: var(--sealpixel-font-size);
120
+ color: var(--sealpixel-color-fg);
121
+ -webkit-font-smoothing: antialiased;
122
+ }
123
+ :focus-visible {
124
+ outline: 2px solid var(--sealpixel-color-focus);
125
+ outline-offset: 2px;
126
+ }
127
+ /*
128
+ * The author-level "important" here also beats the inline transforms the
129
+ * stage writes, so a reduced-motion view jumps to its target and never
130
+ * glides.
131
+ */
132
+ @media (prefers-reduced-motion: reduce) {
133
+ *,
134
+ *::before,
135
+ *::after {
136
+ transition: none !important;
137
+ animation: none !important;
138
+ scroll-behavior: auto !important;
139
+ }
140
+ }
141
+ .visually-hidden {
142
+ position: absolute;
143
+ width: 1px;
144
+ height: 1px;
145
+ overflow: hidden;
146
+ clip: rect(0 0 0 0);
147
+ white-space: nowrap;
148
+ }
149
+ `;
150
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4FxB,CAAC;AAEF,8CAA8C;AAC9C,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCtB,CAAC"}
package/dist/tool.d.ts ADDED
@@ -0,0 +1,70 @@
1
+ import type { AnyPlugin, Document, EditorSession, Geometry, Operation, SessionState } from '@sealpixel/core';
2
+ import type { TemplateResult } from 'lit';
3
+ import type { I18n } from './i18n.js';
4
+ /** Live view of the stage the tool draws onto. Image coordinates are preview pixels. */
5
+ export interface StageInfo {
6
+ width: number;
7
+ height: number;
8
+ zoom: number;
9
+ geometry: Geometry | null;
10
+ /** Converts a client (viewport) point into preview image pixels. */
11
+ toImage: (clientX: number, clientY: number) => {
12
+ x: number;
13
+ y: number;
14
+ };
15
+ }
16
+ export interface UiToolContext {
17
+ session: EditorSession;
18
+ state: SessionState;
19
+ document: Document;
20
+ dispatch: (op: Operation) => void;
21
+ t: I18n['t'];
22
+ stage: StageInfo;
23
+ /**
24
+ * Tier-A preview: apply a cheap CSS approximation to the stage while the
25
+ * user drags. Cleared automatically when the next real preview lands.
26
+ */
27
+ hint: (hint: {
28
+ filter?: string;
29
+ transform?: string;
30
+ } | null) => void;
31
+ /** Ask the host to re-render (for transient tool state). */
32
+ refresh: () => void;
33
+ /**
34
+ * Asks the stage to animate the next preview into place instead of cutting
35
+ * to it. For a tool whose whole job was to change the framing, the movement
36
+ * is the only thing that tells the user the change landed. A gesture that
37
+ * arrives first cancels it.
38
+ */
39
+ animateNextView: () => void;
40
+ /**
41
+ * Clips the preview on the stage to a CSS shape, or clears it with null.
42
+ * Crop uses it to show its result: clipping takes the removed pixels away,
43
+ * so the stage's own backdrop runs through the gap instead of a painted
44
+ * rectangle standing in for it.
45
+ */
46
+ clipPreview: (clip: string | null) => void;
47
+ /**
48
+ * `narrow` below 48rem (phones): the panel is a bottom sheet with little
49
+ * height, so tools should show one control at a time. `wide` otherwise.
50
+ */
51
+ layout: 'wide' | 'narrow';
52
+ /** The resolved options of a registered plugin; undefined when it has none. */
53
+ options: <T>(pluginId: string) => T | undefined;
54
+ }
55
+ export interface UiTool {
56
+ /** Plugin id this tool belongs to. */
57
+ id: string;
58
+ icon: TemplateResult | string;
59
+ /** i18n key. */
60
+ label: string;
61
+ panel: (ctx: UiToolContext) => TemplateResult;
62
+ /** SVG content rendered inside the stage overlay, in image pixel coordinates. */
63
+ overlay?: (ctx: UiToolContext) => TemplateResult;
64
+ /** Called when the tool becomes active or inactive. */
65
+ activate?: (ctx: UiToolContext) => void;
66
+ deactivate?: (ctx: UiToolContext) => void;
67
+ shortcuts?: Record<string, (ctx: UiToolContext) => void>;
68
+ }
69
+ export type ToolFactory = (plugin: AnyPlugin) => UiTool;
70
+ //# sourceMappingURL=tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,SAAS,EACT,YAAY,EACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,wFAAwF;AACxF,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,oEAAoE;IACpE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzE;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,aAAa,CAAC;IACvB,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,CAAC;IAClC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,IAAI,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IACrE,4DAA4D;IAC5D,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;;OAKG;IACH,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B;;;;;OAKG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3C;;;OAGG;IACH,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1B,+EAA+E;IAC/E,OAAO,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC,GAAG,SAAS,CAAC;CACjD;AAED,MAAM,WAAW,MAAM;IACrB,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,cAAc,GAAG,MAAM,CAAC;IAC9B,gBAAgB;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,cAAc,CAAC;IAC9C,iFAAiF;IACjF,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,cAAc,CAAC;IACjD,uDAAuD;IACvD,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC,CAAC;CAC1D;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,CAAC"}
package/dist/tool.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import type { UiTool } from '../tool.js';
2
+ export declare const annotateTool: UiTool;
3
+ //# sourceMappingURL=annotate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotate.d.ts","sourceRoot":"","sources":["../../src/tools/annotate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,YAAY,CAAC;AAsHxD,eAAO,MAAM,YAAY,EAAE,MAmS1B,CAAC"}