@bluepic/embed 0.1.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 (216) hide show
  1. package/README.md +147 -0
  2. package/lib/bluepic-fields.es.js +84843 -0
  3. package/lib/bluepic-fields.umd.js +2610 -0
  4. package/lib/components/AdjustImage.vue.d.ts +171 -0
  5. package/lib/components/AdjustImage.vue.d.ts.map +1 -0
  6. package/lib/components/BluepicEmbedded.vue.d.ts +164 -0
  7. package/lib/components/BluepicEmbedded.vue.d.ts.map +1 -0
  8. package/lib/components/BluepicEmbeddedEditor.vue.d.ts +16877 -0
  9. package/lib/components/BluepicEmbeddedEditor.vue.d.ts.map +1 -0
  10. package/lib/components/BluepicLiveTemplate.vue.d.ts +1895 -0
  11. package/lib/components/BluepicLiveTemplate.vue.d.ts.map +1 -0
  12. package/lib/components/BluepicSpinner.vue.d.ts +3 -0
  13. package/lib/components/BluepicSpinner.vue.d.ts.map +1 -0
  14. package/lib/components/BxAvatar.vue.d.ts +107 -0
  15. package/lib/components/BxAvatar.vue.d.ts.map +1 -0
  16. package/lib/components/BxButton.vue.d.ts +171 -0
  17. package/lib/components/BxButton.vue.d.ts.map +1 -0
  18. package/lib/components/BxCard.vue.d.ts +99 -0
  19. package/lib/components/BxCard.vue.d.ts.map +1 -0
  20. package/lib/components/BxCheckbox.vue.d.ts +12 -0
  21. package/lib/components/BxCheckbox.vue.d.ts.map +1 -0
  22. package/lib/components/BxColorPicker.vue.d.ts +12 -0
  23. package/lib/components/BxColorPicker.vue.d.ts.map +1 -0
  24. package/lib/components/BxDropdown.vue.d.ts +338 -0
  25. package/lib/components/BxDropdown.vue.d.ts.map +1 -0
  26. package/lib/components/BxEmpty.vue.d.ts +26 -0
  27. package/lib/components/BxEmpty.vue.d.ts.map +1 -0
  28. package/lib/components/BxIcon.vue.d.ts +15 -0
  29. package/lib/components/BxIcon.vue.d.ts.map +1 -0
  30. package/lib/components/BxInput.vue.d.ts +13302 -0
  31. package/lib/components/BxInput.vue.d.ts.map +1 -0
  32. package/lib/components/BxList.vue.d.ts +22 -0
  33. package/lib/components/BxList.vue.d.ts.map +1 -0
  34. package/lib/components/BxListItem.vue.d.ts +9 -0
  35. package/lib/components/BxListItem.vue.d.ts.map +1 -0
  36. package/lib/components/BxMenu.vue.d.ts +68 -0
  37. package/lib/components/BxMenu.vue.d.ts.map +1 -0
  38. package/lib/components/BxPopover.vue.d.ts +120 -0
  39. package/lib/components/BxPopover.vue.d.ts.map +1 -0
  40. package/lib/components/BxProgress.vue.d.ts +40 -0
  41. package/lib/components/BxProgress.vue.d.ts.map +1 -0
  42. package/lib/components/BxRadio.vue.d.ts +31 -0
  43. package/lib/components/BxRadio.vue.d.ts.map +1 -0
  44. package/lib/components/BxRadioGroup.vue.d.ts +20 -0
  45. package/lib/components/BxRadioGroup.vue.d.ts.map +1 -0
  46. package/lib/components/BxRichtextInput.vue.d.ts +2413 -0
  47. package/lib/components/BxRichtextInput.vue.d.ts.map +1 -0
  48. package/lib/components/BxSelect.vue.d.ts +530 -0
  49. package/lib/components/BxSelect.vue.d.ts.map +1 -0
  50. package/lib/components/BxSkeleton.vue.d.ts +3 -0
  51. package/lib/components/BxSkeleton.vue.d.ts.map +1 -0
  52. package/lib/components/BxSlider.vue.d.ts +38 -0
  53. package/lib/components/BxSlider.vue.d.ts.map +1 -0
  54. package/lib/components/BxSpin.vue.d.ts +19 -0
  55. package/lib/components/BxSpin.vue.d.ts.map +1 -0
  56. package/lib/components/BxSwitch.vue.d.ts +24 -0
  57. package/lib/components/BxSwitch.vue.d.ts.map +1 -0
  58. package/lib/components/BxTab.vue.d.ts +3 -0
  59. package/lib/components/BxTab.vue.d.ts.map +1 -0
  60. package/lib/components/BxTabs.vue.d.ts +21 -0
  61. package/lib/components/BxTabs.vue.d.ts.map +1 -0
  62. package/lib/components/BxTag.vue.d.ts +53 -0
  63. package/lib/components/BxTag.vue.d.ts.map +1 -0
  64. package/lib/components/BxTooltip.vue.d.ts +448 -0
  65. package/lib/components/BxTooltip.vue.d.ts.map +1 -0
  66. package/lib/components/BxUpload.vue.d.ts +283 -0
  67. package/lib/components/BxUpload.vue.d.ts.map +1 -0
  68. package/lib/components/CollectionEntryFields.vue.d.ts +1313 -0
  69. package/lib/components/CollectionEntryFields.vue.d.ts.map +1 -0
  70. package/lib/components/CollectionFieldPopup.vue.d.ts +1932 -0
  71. package/lib/components/CollectionFieldPopup.vue.d.ts.map +1 -0
  72. package/lib/components/Fields.vue.d.ts +652 -0
  73. package/lib/components/Fields.vue.d.ts.map +1 -0
  74. package/lib/components/FieldsList.vue.d.ts +515 -0
  75. package/lib/components/FieldsList.vue.d.ts.map +1 -0
  76. package/lib/components/ImageLibraries/Custom.vue.d.ts +42 -0
  77. package/lib/components/ImageLibraries/Custom.vue.d.ts.map +1 -0
  78. package/lib/components/ImageLibraries/Pexels.vue.d.ts +13627 -0
  79. package/lib/components/ImageLibraries/Pexels.vue.d.ts.map +1 -0
  80. package/lib/components/ImageLibraries/SharedDrive.vue.d.ts +62 -0
  81. package/lib/components/ImageLibraries/SharedDrive.vue.d.ts.map +1 -0
  82. package/lib/components/ImageLibraries/Upload.vue.d.ts +379 -0
  83. package/lib/components/ImageLibraries/Upload.vue.d.ts.map +1 -0
  84. package/lib/components/ImageLibraryWrapper.vue.d.ts +14290 -0
  85. package/lib/components/ImageLibraryWrapper.vue.d.ts.map +1 -0
  86. package/lib/components/ImportData.vue.d.ts +18109 -0
  87. package/lib/components/ImportData.vue.d.ts.map +1 -0
  88. package/lib/components/KioskField.vue.d.ts +203 -0
  89. package/lib/components/KioskField.vue.d.ts.map +1 -0
  90. package/lib/components/LazyLoading.vue.d.ts +49 -0
  91. package/lib/components/LazyLoading.vue.d.ts.map +1 -0
  92. package/lib/components/LazyLoadingItemWrapper.vue.d.ts +10 -0
  93. package/lib/components/LazyLoadingItemWrapper.vue.d.ts.map +1 -0
  94. package/lib/components/MapboxMap.vue.d.ts +102 -0
  95. package/lib/components/MapboxMap.vue.d.ts.map +1 -0
  96. package/lib/components/MobileFieldsSlide.vue.d.ts +575 -0
  97. package/lib/components/MobileFieldsSlide.vue.d.ts.map +1 -0
  98. package/lib/components/PopoverElement.vue.d.ts +113 -0
  99. package/lib/components/PopoverElement.vue.d.ts.map +1 -0
  100. package/lib/components/PopoverProvider.vue.d.ts +36 -0
  101. package/lib/components/PopoverProvider.vue.d.ts.map +1 -0
  102. package/lib/components/Popup.vue.d.ts +172 -0
  103. package/lib/components/Popup.vue.d.ts.map +1 -0
  104. package/lib/components/PopupElement.vue.d.ts +256 -0
  105. package/lib/components/PopupElement.vue.d.ts.map +1 -0
  106. package/lib/components/PopupProvider.vue.d.ts +59 -0
  107. package/lib/components/PopupProvider.vue.d.ts.map +1 -0
  108. package/lib/components/RichText.vue.d.ts +502 -0
  109. package/lib/components/RichText.vue.d.ts.map +1 -0
  110. package/lib/components/RichTextDisplay.vue.d.ts +57 -0
  111. package/lib/components/RichTextDisplay.vue.d.ts.map +1 -0
  112. package/lib/components/SelectItem.vue.d.ts +536 -0
  113. package/lib/components/SelectItem.vue.d.ts.map +1 -0
  114. package/lib/components/SlidesNavigation.vue.d.ts +712 -0
  115. package/lib/components/SlidesNavigation.vue.d.ts.map +1 -0
  116. package/lib/components/TableDataMatcher.vue.d.ts +4317 -0
  117. package/lib/components/TableDataMatcher.vue.d.ts.map +1 -0
  118. package/lib/components/directives/usePopup.d.ts +29 -0
  119. package/lib/components/directives/usePopup.d.ts.map +1 -0
  120. package/lib/components/fields/Checkbox.vue.d.ts +20 -0
  121. package/lib/components/fields/Checkbox.vue.d.ts.map +1 -0
  122. package/lib/components/fields/Collection.vue.d.ts +1602 -0
  123. package/lib/components/fields/Collection.vue.d.ts.map +1 -0
  124. package/lib/components/fields/Color.vue.d.ts +10 -0
  125. package/lib/components/fields/Color.vue.d.ts.map +1 -0
  126. package/lib/components/fields/Group.vue.d.ts +1272 -0
  127. package/lib/components/fields/Group.vue.d.ts.map +1 -0
  128. package/lib/components/fields/Image.vue.d.ts +14982 -0
  129. package/lib/components/fields/Image.vue.d.ts.map +1 -0
  130. package/lib/components/fields/ImageAdjust.vue.d.ts +526 -0
  131. package/lib/components/fields/ImageAdjust.vue.d.ts.map +1 -0
  132. package/lib/components/fields/ImageEdit.vue.d.ts +15697 -0
  133. package/lib/components/fields/ImageEdit.vue.d.ts.map +1 -0
  134. package/lib/components/fields/Instruction.vue.d.ts +28 -0
  135. package/lib/components/fields/Instruction.vue.d.ts.map +1 -0
  136. package/lib/components/fields/Map.vue.d.ts +496 -0
  137. package/lib/components/fields/Map.vue.d.ts.map +1 -0
  138. package/lib/components/fields/Number.vue.d.ts +46 -0
  139. package/lib/components/fields/Number.vue.d.ts.map +1 -0
  140. package/lib/components/fields/Select.vue.d.ts +535 -0
  141. package/lib/components/fields/Select.vue.d.ts.map +1 -0
  142. package/lib/components/fields/SelectColor.vue.d.ts +546 -0
  143. package/lib/components/fields/SelectColor.vue.d.ts.map +1 -0
  144. package/lib/components/fields/SelectImage.vue.d.ts +547 -0
  145. package/lib/components/fields/SelectImage.vue.d.ts.map +1 -0
  146. package/lib/components/fields/SelectText.vue.d.ts +544 -0
  147. package/lib/components/fields/SelectText.vue.d.ts.map +1 -0
  148. package/lib/components/fields/Text.vue.d.ts +13308 -0
  149. package/lib/components/fields/Text.vue.d.ts.map +1 -0
  150. package/lib/components/fields/index.d.ts +16 -0
  151. package/lib/components/fields/index.d.ts.map +1 -0
  152. package/lib/env.d.ts +8 -0
  153. package/lib/index.d.ts +49 -0
  154. package/lib/index.d.ts.map +1 -0
  155. package/lib/services/pexels.d.ts +51 -0
  156. package/lib/services/pexels.d.ts.map +1 -0
  157. package/lib/services/sharedDrive.d.ts +65 -0
  158. package/lib/services/sharedDrive.d.ts.map +1 -0
  159. package/lib/style.css +1 -0
  160. package/lib/types/index.d.ts +7 -0
  161. package/lib/types/index.d.ts.map +1 -0
  162. package/lib/util/PopupProvider.d.ts +8 -0
  163. package/lib/util/PopupProvider.d.ts.map +1 -0
  164. package/lib/util/adjust.d.ts +15 -0
  165. package/lib/util/adjust.d.ts.map +1 -0
  166. package/lib/util/blob.d.ts +3 -0
  167. package/lib/util/blob.d.ts.map +1 -0
  168. package/lib/util/blobToDataURL.d.ts +3 -0
  169. package/lib/util/blobToDataURL.d.ts.map +1 -0
  170. package/lib/util/bluepicEmbed.d.ts +45 -0
  171. package/lib/util/bluepicEmbed.d.ts.map +1 -0
  172. package/lib/util/cloudflareImages.d.ts +22 -0
  173. package/lib/util/cloudflareImages.d.ts.map +1 -0
  174. package/lib/util/color.d.ts +154 -0
  175. package/lib/util/color.d.ts.map +1 -0
  176. package/lib/util/contentEditable.d.ts +68 -0
  177. package/lib/util/contentEditable.d.ts.map +1 -0
  178. package/lib/util/convertDeprecatedFields.d.ts +3 -0
  179. package/lib/util/convertDeprecatedFields.d.ts.map +1 -0
  180. package/lib/util/cropImage.d.ts +14 -0
  181. package/lib/util/cropImage.d.ts.map +1 -0
  182. package/lib/util/darkMode.d.ts +3 -0
  183. package/lib/util/darkMode.d.ts.map +1 -0
  184. package/lib/util/debounce.d.ts +2 -0
  185. package/lib/util/debounce.d.ts.map +1 -0
  186. package/lib/util/exportSVGDocument.d.ts +6 -0
  187. package/lib/util/exportSVGDocument.d.ts.map +1 -0
  188. package/lib/util/fetch.d.ts +15 -0
  189. package/lib/util/fetch.d.ts.map +1 -0
  190. package/lib/util/fields.d.ts +282 -0
  191. package/lib/util/fields.d.ts.map +1 -0
  192. package/lib/util/file.d.ts +6 -0
  193. package/lib/util/file.d.ts.map +1 -0
  194. package/lib/util/handleUpload.d.ts +8 -0
  195. package/lib/util/handleUpload.d.ts.map +1 -0
  196. package/lib/util/hash.d.ts +9 -0
  197. package/lib/util/hash.d.ts.map +1 -0
  198. package/lib/util/imageInfo.d.ts +6 -0
  199. package/lib/util/imageInfo.d.ts.map +1 -0
  200. package/lib/util/isEqual.d.ts +2 -0
  201. package/lib/util/isEqual.d.ts.map +1 -0
  202. package/lib/util/parseCSV.d.ts +2 -0
  203. package/lib/util/parseCSV.d.ts.map +1 -0
  204. package/lib/util/renderSVG.d.ts +37 -0
  205. package/lib/util/renderSVG.d.ts.map +1 -0
  206. package/lib/util/richtext.d.ts +7 -0
  207. package/lib/util/richtext.d.ts.map +1 -0
  208. package/lib/util/round.d.ts +2 -0
  209. package/lib/util/round.d.ts.map +1 -0
  210. package/lib/util/slotVNodes.d.ts +9 -0
  211. package/lib/util/slotVNodes.d.ts.map +1 -0
  212. package/lib/util/timecode.d.ts +9 -0
  213. package/lib/util/timecode.d.ts.map +1 -0
  214. package/lib/util/waitUntil.d.ts +2 -0
  215. package/lib/util/waitUntil.d.ts.map +1 -0
  216. package/package.json +78 -0
@@ -0,0 +1,7 @@
1
+ import { VNode } from 'vue';
2
+ export type DropdownOption<T> = {
3
+ label: string;
4
+ value: T;
5
+ icon?: () => VNode;
6
+ };
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC;AAE5B,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;IACT,IAAI,CAAC,EAAE,MAAM,KAAK,CAAC;CACpB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import PopupProvider from '../components/PopupProvider.vue';
2
+ import PopoverProvider from '../components/PopoverProvider.vue';
3
+ export default class BluepicPopupProvider {
4
+ popupProviderRef: InstanceType<typeof PopupProvider>;
5
+ popoverProviderRef: InstanceType<typeof PopoverProvider>;
6
+ constructor();
7
+ }
8
+ //# sourceMappingURL=PopupProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopupProvider.d.ts","sourceRoot":"","sources":["PopupProvider.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,iCAAiC,CAAC;AAC5D,OAAO,eAAe,MAAM,mCAAmC,CAAC;AAEhE,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACvC,gBAAgB,EAAE,YAAY,CAAC,OAAO,aAAa,CAAC,CAAC;IACrD,kBAAkB,EAAE,YAAY,CAAC,OAAO,eAAe,CAAC,CAAC;;CA+D1D"}
@@ -0,0 +1,15 @@
1
+ import { Coordinates } from 'vue-advanced-cropper';
2
+ export declare function normalizeCrop({ height, left, top, width }: Coordinates, naturalWidth: number, naturalHeight: number): {
3
+ scale: number;
4
+ innerPos: [number, number];
5
+ };
6
+ export declare function normalizeAdjust(adjust: {
7
+ scale: number;
8
+ innerPos: [number, number];
9
+ }, naturalWidth: number, naturalHeight: number, aspectRatio: number): {
10
+ left: number;
11
+ top: number;
12
+ width: number;
13
+ height: number;
14
+ };
15
+ //# sourceMappingURL=adjust.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adjust.d.ts","sourceRoot":"","sources":["adjust.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;;;EAWnH;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EACrD,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM;;;;;EAkBpB"}
@@ -0,0 +1,3 @@
1
+ export declare function dataUrlToBlob(dataUrl: string): Blob;
2
+ export declare function blobToDataUrl(blob: Blob): Promise<string>;
3
+ //# sourceMappingURL=blob.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blob.d.ts","sourceRoot":"","sources":["blob.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,QAS5C;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,mBAQvC"}
@@ -0,0 +1,3 @@
1
+ export declare function blobToDataURL(blob: Blob): Promise<string>;
2
+ export declare function dataURLToBlob(dataurl: string): Blob | undefined;
3
+ //# sourceMappingURL=blobToDataURL.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blobToDataURL.d.ts","sourceRoot":"","sources":["blobToDataURL.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,mBAUvC;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,oBAgB5C"}
@@ -0,0 +1,45 @@
1
+ import { Template } from '@bluepic/types';
2
+ export type BxTemplateOptions = {
3
+ cloudflarePagesHostname: string;
4
+ studioResourcesBaseUrl: string;
5
+ authorization?: string;
6
+ useBoilerplate?: boolean;
7
+ config: {
8
+ fonts?: {
9
+ name: string;
10
+ src: string;
11
+ }[];
12
+ webgl?: boolean;
13
+ resolution?: number;
14
+ };
15
+ };
16
+ export declare function getTemplateSerialUrl(id: string, publishedVersionSlug: string, options: BxTemplateOptions): string;
17
+ export declare function getTemplateLiveUrl(id: string, publishedVersionSlug: string, bxCoreVersion: string, options: BxTemplateOptions): string;
18
+ export default class EmbeddedController extends EventTarget {
19
+ iframe: HTMLIFrameElement;
20
+ alive: boolean;
21
+ ready: boolean;
22
+ sessionId: string | null;
23
+ $data: {
24
+ [k: string]: any;
25
+ };
26
+ constructor(iframe: HTMLIFrameElement, serialPromise?: Promise<Template.Serial | undefined>, maxRetries?: number);
27
+ destroy(): void;
28
+ ping(timeout?: number): Promise<unknown>;
29
+ getSessionId(): Promise<string>;
30
+ private messageIsSession;
31
+ private messageIsEvent;
32
+ initListener(): void;
33
+ apply(name: string, ...args: any[]): void;
34
+ get(name: string): Promise<unknown>;
35
+ set(name: string, value: string): boolean;
36
+ evaluate(func: Function, ...args: string[]): Promise<unknown>;
37
+ setData(data: {
38
+ [k: string]: any;
39
+ }): Promise<unknown>;
40
+ transform(scale: number, x: number, y: number, origin: {
41
+ x: string;
42
+ y: string;
43
+ }): void;
44
+ }
45
+ //# sourceMappingURL=bluepicEmbed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bluepicEmbed.d.ts","sourceRoot":"","sources":["bluepicEmbed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAE/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE;QACN,KAAK,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QACxC,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH,CAAC;AASF,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,UAIxG;AACD,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,MAAM,EACV,oBAAoB,EAAE,MAAM,EAC5B,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,iBAAiB,UAkB3B;AAED,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,WAAW;IACzD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;gBAChB,MAAM,EAAE,iBAAiB,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,UAAU,SAAI;IA6F3G,OAAO;IAGP,IAAI,CAAC,OAAO,SAAM;IAoBlB,YAAY;IAWZ,OAAO,CAAC,gBAAgB;IAGxB,OAAO,CAAC,cAAc;IAGtB,YAAY;IAkDZ,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAclC,GAAG,CAAC,IAAI,EAAE,MAAM;IAKhB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAM/B,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE;IA0B1C,OAAO,CAAC,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;IAgBlC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;CAGhF"}
@@ -0,0 +1,22 @@
1
+ import { Template } from '@bluepic/types';
2
+ export declare const embedAPIV2BaseUrl: any;
3
+ export declare const IMAGE_TTL_IN_SECONDS: number;
4
+ export type CloudlfareImage = {
5
+ id: string;
6
+ filename: string;
7
+ uploaded: string;
8
+ variants: string[];
9
+ requireSignedURLs: boolean;
10
+ meta?: {
11
+ [key: string]: unknown;
12
+ };
13
+ };
14
+ export declare function parseCloudflareImagesDeliveryUrl(src: string): {
15
+ scopeId: string;
16
+ imageId: string;
17
+ variant: string;
18
+ };
19
+ export declare function uploadImage(templateId: string, context: {
20
+ field?: Template.Fields.BluepicField;
21
+ }, blob: Blob, name: string, onUploadProgress: (uploaded: number, total: number) => void): Promise<CloudlfareImage>;
22
+ //# sourceMappingURL=cloudflareImages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudflareImages.d.ts","sourceRoot":"","sources":["cloudflareImages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI1C,eAAO,MAAM,iBAAiB,KAAyC,CAAC;AACxE,eAAO,MAAM,oBAAoB,QAAmB,CAAC;AAErD,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,IAAI,CAAC,EAAE;QACL,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;CACH,CAAC;AACF,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,MAAM;;;;EAmB3D;AAED,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IACP,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC;CACtC,EACD,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,4BAsB5D"}
@@ -0,0 +1,154 @@
1
+ export declare const CSS_COLOR_NAMES: {
2
+ aliceblue: string;
3
+ antiquewhite: string;
4
+ aqua: string;
5
+ aquamarine: string;
6
+ azure: string;
7
+ beige: string;
8
+ bisque: string;
9
+ black: string;
10
+ blanchedalmond: string;
11
+ blue: string;
12
+ blueviolet: string;
13
+ brown: string;
14
+ burlywood: string;
15
+ cadetblue: string;
16
+ chartreuse: string;
17
+ chocolate: string;
18
+ coral: string;
19
+ cornflowerblue: string;
20
+ cornsilk: string;
21
+ crimson: string;
22
+ cyan: string;
23
+ darkblue: string;
24
+ darkcyan: string;
25
+ darkgoldenrod: string;
26
+ darkgray: string;
27
+ darkgrey: string;
28
+ darkgreen: string;
29
+ darkkhaki: string;
30
+ darkmagenta: string;
31
+ darkolivegreen: string;
32
+ darkorange: string;
33
+ darkorchid: string;
34
+ darkred: string;
35
+ darksalmon: string;
36
+ darkseagreen: string;
37
+ darkslateblue: string;
38
+ darkslategray: string;
39
+ darkslategrey: string;
40
+ darkturquoise: string;
41
+ darkviolet: string;
42
+ deeppink: string;
43
+ deepskyblue: string;
44
+ dimgray: string;
45
+ dimgrey: string;
46
+ dodgerblue: string;
47
+ firebrick: string;
48
+ floralwhite: string;
49
+ forestgreen: string;
50
+ fuchsia: string;
51
+ gainsboro: string;
52
+ ghostwhite: string;
53
+ gold: string;
54
+ goldenrod: string;
55
+ gray: string;
56
+ grey: string;
57
+ green: string;
58
+ greenyellow: string;
59
+ honeydew: string;
60
+ hotpink: string;
61
+ indianred: string;
62
+ indigo: string;
63
+ ivory: string;
64
+ khaki: string;
65
+ lavender: string;
66
+ lavenderblush: string;
67
+ lawngreen: string;
68
+ lemonchiffon: string;
69
+ lightblue: string;
70
+ lightcoral: string;
71
+ lightcyan: string;
72
+ lightgoldenrodyellow: string;
73
+ lightgray: string;
74
+ lightgrey: string;
75
+ lightgreen: string;
76
+ lightpink: string;
77
+ lightsalmon: string;
78
+ lightseagreen: string;
79
+ lightskyblue: string;
80
+ lightslategray: string;
81
+ lightslategrey: string;
82
+ lightsteelblue: string;
83
+ lightyellow: string;
84
+ lime: string;
85
+ limegreen: string;
86
+ linen: string;
87
+ magenta: string;
88
+ maroon: string;
89
+ mediumaquamarine: string;
90
+ mediumblue: string;
91
+ mediumorchid: string;
92
+ mediumpurple: string;
93
+ mediumseagreen: string;
94
+ mediumslateblue: string;
95
+ mediumspringgreen: string;
96
+ mediumturquoise: string;
97
+ mediumvioletred: string;
98
+ midnightblue: string;
99
+ mintcream: string;
100
+ mistyrose: string;
101
+ moccasin: string;
102
+ navajowhite: string;
103
+ navy: string;
104
+ oldlace: string;
105
+ olive: string;
106
+ olivedrab: string;
107
+ orange: string;
108
+ orangered: string;
109
+ orchid: string;
110
+ palegoldenrod: string;
111
+ palegreen: string;
112
+ paleturquoise: string;
113
+ palevioletred: string;
114
+ papayawhip: string;
115
+ peachpuff: string;
116
+ peru: string;
117
+ pink: string;
118
+ plum: string;
119
+ powderblue: string;
120
+ purple: string;
121
+ rebeccapurple: string;
122
+ red: string;
123
+ rosybrown: string;
124
+ royalblue: string;
125
+ saddlebrown: string;
126
+ salmon: string;
127
+ sandybrown: string;
128
+ seagreen: string;
129
+ seashell: string;
130
+ sienna: string;
131
+ silver: string;
132
+ skyblue: string;
133
+ slateblue: string;
134
+ slategray: string;
135
+ slategrey: string;
136
+ snow: string;
137
+ springgreen: string;
138
+ steelblue: string;
139
+ tan: string;
140
+ teal: string;
141
+ thistle: string;
142
+ tomato: string;
143
+ turquoise: string;
144
+ violet: string;
145
+ wheat: string;
146
+ white: string;
147
+ whitesmoke: string;
148
+ yellow: string;
149
+ yellowgreen: string;
150
+ };
151
+ export declare function hslToRgb(h: number, s: number, l: number): [number, number, number];
152
+ export declare function rgba(cssColor: string): [number, number, number, number];
153
+ export declare function isDark(cssColor: string): boolean;
154
+ //# sourceMappingURL=color.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["color.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqJ3B,CAAC;AAEF,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,4BAyBvD;AAED,wBAAgB,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAyCvE;AAED,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,WAItC"}
@@ -0,0 +1,68 @@
1
+ import { Ref } from 'vue';
2
+ import { RichTextFeature } from '@bluepic/types';
3
+ export declare function getSelection(element: HTMLElement): {
4
+ start: number;
5
+ length: number;
6
+ };
7
+ export declare function useSelection(element: Ref<HTMLElement | undefined>): Ref<{
8
+ start: number;
9
+ length: number;
10
+ } | null, {
11
+ start: number;
12
+ length: number;
13
+ } | {
14
+ start: number;
15
+ length: number;
16
+ } | null>;
17
+ export declare function resolveSubtreeParagraphs(element: HTMLElement, baseFormat: RichTextFeature['format'], proxyNewLinesWithEmptyText?: boolean): RichTextFeature[][];
18
+ export declare function sliceRichText(fragments: RichTextFeature[], start: number, end: number): RichTextFeature[];
19
+ export declare function sliceRichTextParagraphsNewAlgorithm(paragraphs: RichTextFeature[][], start: number, end: number): RichTextFeature[][];
20
+ export type ContentEditableInputOptions = {
21
+ maxLength?: number;
22
+ maxLengthPerLine?: number;
23
+ maxLines?: number;
24
+ };
25
+ export default function useContentEditable(element: Ref<HTMLElement | undefined>, paragraphsRef: Ref<RichTextFeature[][]>, options: ContentEditableInputOptions, preventLinebreaks: Ref<boolean>): {
26
+ selection: Ref<{
27
+ start: number;
28
+ length: number;
29
+ } | null, {
30
+ start: number;
31
+ length: number;
32
+ } | {
33
+ start: number;
34
+ length: number;
35
+ } | null>;
36
+ paragraphs: Ref<{
37
+ text: string;
38
+ format: {
39
+ [k: string]: unknown;
40
+ };
41
+ }[][], RichTextFeature[][] | {
42
+ text: string;
43
+ format: {
44
+ [k: string]: unknown;
45
+ };
46
+ }[][]>;
47
+ visibleParagraphs: Ref<{
48
+ text: string;
49
+ format: {
50
+ [k: string]: unknown;
51
+ };
52
+ }[][], RichTextFeature[][] | {
53
+ text: string;
54
+ format: {
55
+ [k: string]: unknown;
56
+ };
57
+ }[][]>;
58
+ manipulationState: Ref<string, string>;
59
+ handleInputEvent: (event: Event) => void;
60
+ applyFormat: (selectionStart: number, selectionLength: number, format: RichTextFeature['format'], select?: boolean) => void;
61
+ resolveFeatures: (startIndex: number, length: number) => RichTextFeature[][];
62
+ };
63
+ export declare function getContentEditableSelection(element: HTMLElement, log?: boolean): {
64
+ start: number;
65
+ length: number;
66
+ } | null;
67
+ export declare function selectContentEditable(element: HTMLElement, startIndex: number, length: number): void;
68
+ //# sourceMappingURL=contentEditable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contentEditable.d.ts","sourceRoot":"","sources":["contentEditable.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,GAAG,EAAS,MAAM,KAAK,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAKjD,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW;;;EAoChD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC;;;;;;;;;UAwBjE;AA2MD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,eAAe,CAAC,QAAQ,CAAC,EACrC,0BAA0B,UAAQ,uBA2FnC;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,qBAWrF;AAcD,wBAAgB,mCAAmC,CAAC,UAAU,EAAE,eAAe,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,uBAe9G;AAMD,MAAM,MAAM,2BAA2B,GAAG;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,OAAO,EAAE,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,EACrC,aAAa,EAAE,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC,EACvC,OAAO,EAAE,2BAA2B,EACpC,iBAAiB,EAAE,GAAG,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAkBE,KAAK;kCA6GD,MAAM,mBAAmB,MAAM,UAAU,eAAe,CAAC,QAAQ,CAAC;kCAelE,MAAM,UAAU,MAAM;EA+B5D;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,UAAQ;;;SAiD5E;AAmCD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QA8C7F"}
@@ -0,0 +1,3 @@
1
+ import { BluepicField } from '@bluepic/types';
2
+ export declare function convertDeprecatedField(depField: any): BluepicField | undefined;
3
+ //# sourceMappingURL=convertDeprecatedFields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertDeprecatedFields.d.ts","sourceRoot":"","sources":["convertDeprecatedFields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,GAAG,GAAG,YAAY,GAAG,SAAS,CA2P9E"}
@@ -0,0 +1,14 @@
1
+ export type CropImageOptions = {
2
+ imageSource: string | HTMLCanvasElement;
3
+ cropX: number;
4
+ cropY: number;
5
+ cropWidth: number;
6
+ cropHeight: number;
7
+ type: 'image/png' | 'image/jpeg' | 'image/webp';
8
+ quality?: number;
9
+ };
10
+ export declare function cropImage(options: CropImageOptions, resultType: 'blob'): Promise<Blob>;
11
+ export declare function cropImage(options: CropImageOptions, resultType: 'arrayBuffer'): Promise<ArrayBuffer>;
12
+ export declare function cropImage(options: CropImageOptions, resultType: 'dataUrl'): Promise<string>;
13
+ export declare function cropImage(options: CropImageOptions, resultType: 'canvas'): Promise<HTMLCanvasElement>;
14
+ //# sourceMappingURL=cropImage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cropImage.d.ts","sourceRoot":"","sources":["cropImage.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,MAAM,GAAG,iBAAiB,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,WAAW,GAAG,YAAY,GAAG,YAAY,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,wBAAsB,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9F,wBAAsB,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAC5G,wBAAsB,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AACnG,wBAAsB,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Ref } from 'vue';
2
+ export declare function useDarkmode(localDarkmode?: Ref<boolean | undefined>): import("vue").ComputedRef<boolean>;
3
+ //# sourceMappingURL=darkMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"darkMode.d.ts","sourceRoot":"","sources":["darkMode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,GAAG,EAAqB,MAAM,KAAK,CAAC;AAE1D,wBAAgB,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,sCAUnE"}
@@ -0,0 +1,2 @@
1
+ export declare function debounce(fn: Function, delay: number): () => void;
2
+ //# sourceMappingURL=debounce.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debounce.d.ts","sourceRoot":"","sources":["debounce.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,cAWnD"}
@@ -0,0 +1,6 @@
1
+ import { Template } from '@bluepic/types';
2
+ export declare function textIsInUnicodeRange(text: string, unicodeRange: string): boolean;
3
+ export declare function resolveCSSFontFile(src: string, updateHook: (stepsDone: number, stepsTotal: number) => void, textToCover: string, keepFontRemoteUrls: boolean, useCache?: boolean): Promise<string>;
4
+ export declare function resolveImage(image: SVGImageElement, updateHook: (progress: number) => void): Promise<void>;
5
+ export declare function exportSVGDocument(svg: string, fonts: Template.Font[], progressHook: (progress: number) => void, keepFontRemoteUrls: boolean): Promise<string>;
6
+ //# sourceMappingURL=exportSVGDocument.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exportSVGDocument.d.ts","sourceRoot":"","sources":["exportSVGDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAyB1C,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAQhF;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,EAC3D,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,OAAO,EAC3B,QAAQ,UAAO,mBAiGhB;AAeD,wBAAsB,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,iBAchG;AAaD,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,EACtB,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,EACxC,kBAAkB,EAAE,OAAO,mBA4D5B"}
@@ -0,0 +1,15 @@
1
+ export declare function fetchWithProgress(input: RequestInfo | URL, init?: RequestInit, resultType?: 'unit8Array' | 'auto', onProgress?: (totalBytes: number | null, receivedBytes: number) => void): Promise<{
2
+ data: Uint8Array;
3
+ contentType: string | null;
4
+ }>;
5
+ type FetchWithProgressOptions = {
6
+ url: string;
7
+ method?: string;
8
+ data?: XMLHttpRequestBodyInit | Document | null;
9
+ headers?: Record<string, string>;
10
+ onUploadProgress?: (uploaded: number, total: number) => void;
11
+ onDownloadProgress?: (downloaded: number, total: number) => void;
12
+ };
13
+ export declare function fetchWithProgressV1({ url, method, data, headers, onUploadProgress, onDownloadProgress, }: FetchWithProgressOptions): Promise<Blob>;
14
+ export {};
15
+ //# sourceMappingURL=fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["fetch.ts"],"names":[],"mappings":"AAAA,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,CAAC,EAAE,WAAW,EAClB,UAAU,GAAE,YAAY,GAAG,MAAqB,EAChD,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI;;;GA0CxE;AAED,KAAK,wBAAwB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,sBAAsB,GAAG,QAAQ,GAAG,IAAI,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAClE,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAClC,GAAG,EACH,MAAc,EACd,IAAW,EACX,OAAY,EACZ,gBAAgB,EAChB,kBAAkB,GACnB,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoD1C"}