@orangelogic/design-system 2.108.0 → 2.109.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 (227) hide show
  1. package/library/assets/design-system.css +1 -1
  2. package/library/chunks/{asset.BOex8mNF.js → asset.CQrdW8Hz.js} +2 -2
  3. package/library/chunks/{button.BgLgpUch.js → button.i88sSbTZ.js} +1 -1
  4. package/library/chunks/{color-swatch-group.CJR5NTAx.js → color-swatch-group.mIHaCJsh.js} +5 -5
  5. package/library/chunks/{color-swatch.LWXX_hoG.js → color-swatch.D9vkPoV2.js} +1 -1
  6. package/library/chunks/{confirm-popover.BzpCIDBx.js → confirm-popover.UuBhn8GA.js} +3 -3
  7. package/library/chunks/{content-builder.B-bd8FaV.js → content-builder.OsUmm8Wu.js} +15 -15
  8. package/library/chunks/{dialog.BTYaKnFg.js → dialog.Bso6gK-8.js} +2 -2
  9. package/library/chunks/document-viewer.C6eclRvd.js +25232 -0
  10. package/library/chunks/{dot-pagination.Do9tKlWY.js → dot-pagination.CNnUuI-Z.js} +1 -1
  11. package/library/chunks/{file-on-demand.DICkRgvk.js → file-on-demand.Cf2ujTeF.js} +8 -8
  12. package/library/chunks/{folder-select.DLjFwi4I.js → folder-select.ByNUfTia.js} +3 -3
  13. package/library/chunks/{header.CLZWpAF-.js → header.hj2Kw-N7.js} +1 -1
  14. package/library/chunks/{i18n.ju3y72qp.js → i18n.D6AYDPK-.js} +3 -0
  15. package/library/chunks/{icon-button.CLlmo1AF.js → icon-button.ztYU-DHy.js} +1 -1
  16. package/library/chunks/{iframe.CqtDcvOS.js → iframe.uLxZ6LsL.js} +1 -1
  17. package/library/chunks/{image.CfNFiNFB.js → image.DKB6yEQO.js} +187 -187
  18. package/library/chunks/inheritsLoose.BuSn_CvZ.js +27 -0
  19. package/library/chunks/{cropper.CMfBGsNv.js → jsx-runtime.CTpPVMxj.js} +9462 -10423
  20. package/library/chunks/{list-editor.zY8vlbde.js → list-editor.CFPfAJpF.js} +87 -86
  21. package/library/chunks/{option.BOZYPQZH.js → option.BAYtHIvG.js} +1 -1
  22. package/library/chunks/{pagination.BGjp2gVJ.js → pagination.CCJD61IB.js} +4 -4
  23. package/library/chunks/{resizable-component.styles.sAhMVN1H.js → resizable-component.styles.DpK0TTP5.js} +6 -6
  24. package/library/chunks/{responsive.Aigicabj.js → responsive.C8NCkfCG.js} +1 -1
  25. package/library/chunks/{tab-group.hmlZakLy.js → tab-group.BsR8tdVY.js} +3 -3
  26. package/library/chunks/{table.XsBhq1U3.js → table.DL_CEeYh.js} +5 -5
  27. package/library/chunks/{tree.DAhCAxwV.js → tree.KmZRWZ0F.js} +1 -1
  28. package/library/components/alert.js +2 -2
  29. package/library/components/asset-link-format.js +6 -6
  30. package/library/components/atoms.js +147 -145
  31. package/library/components/audio.js +3 -3
  32. package/library/components/border-input-group.js +1 -1
  33. package/library/components/breadcrumb.js +1 -1
  34. package/library/components/button.js +2 -2
  35. package/library/components/color-picker.js +2 -2
  36. package/library/components/color-swatch-group.js +6 -6
  37. package/library/components/color-swatch.js +2 -2
  38. package/library/components/confirm-popover.js +4 -4
  39. package/library/components/copy-button.js +1 -1
  40. package/library/components/corner-position-input-group.js +2 -2
  41. package/library/components/cropper.js +961 -10
  42. package/library/components/details.js +1 -1
  43. package/library/components/dialog.js +3 -3
  44. package/library/components/document-viewer.d.ts +3 -0
  45. package/library/components/document-viewer.js +17 -0
  46. package/library/components/dot-pagination.js +2 -2
  47. package/library/components/drawer.js +2 -2
  48. package/library/components/dropdown.js +1 -1
  49. package/library/components/dynamic-select.js +4 -4
  50. package/library/components/e-chart.js +1 -1
  51. package/library/components/element-clamp.js +2 -2
  52. package/library/components/file-on-demand.js +9 -9
  53. package/library/components/folder-select.js +3 -3
  54. package/library/components/format-bytes.js +1 -1
  55. package/library/components/format-date.js +1 -1
  56. package/library/components/format-number.js +1 -1
  57. package/library/components/format-time.js +1 -1
  58. package/library/components/header.js +2 -2
  59. package/library/components/icon-button.js +2 -2
  60. package/library/components/iframe.js +2 -2
  61. package/library/components/image-comparer.js +1 -1
  62. package/library/components/image.js +3 -3
  63. package/library/components/input.js +1 -1
  64. package/library/components/line-clamp.js +1 -1
  65. package/library/components/list-editor.js +6 -6
  66. package/library/components/masonry.js +2 -2
  67. package/library/components/menu-item.js +1 -1
  68. package/library/components/menu.js +1 -1
  69. package/library/components/molecules.js +7 -7
  70. package/library/components/option.js +2 -2
  71. package/library/components/organisms.js +2 -2
  72. package/library/components/pagination.js +5 -5
  73. package/library/components/popup.js +1 -1
  74. package/library/components/position-picker.js +1 -1
  75. package/library/components/progress-bar.js +1 -1
  76. package/library/components/progress-ring.js +1 -1
  77. package/library/components/range.js +1 -1
  78. package/library/components/rating.js +1 -1
  79. package/library/components/relative-time.js +1 -1
  80. package/library/components/select.js +2 -2
  81. package/library/components/share-option-list.js +1 -1
  82. package/library/components/sidebar.js +1 -1
  83. package/library/components/size-input-group.js +2 -2
  84. package/library/components/spinner.js +1 -1
  85. package/library/components/split-panel.js +1 -1
  86. package/library/components/tab-group.js +4 -4
  87. package/library/components/tab.js +2 -2
  88. package/library/components/table.js +5 -5
  89. package/library/components/tag.js +2 -2
  90. package/library/components/tooltip.js +1 -1
  91. package/library/components/tree-item.js +2 -2
  92. package/library/components/tree.js +2 -2
  93. package/library/components/typeface.js +2 -2
  94. package/library/components/types.js +17110 -17307
  95. package/library/components/video.js +3605 -3625
  96. package/library/package.json +1 -1
  97. package/library/packages/atoms/src/components/document-viewer/document-viewer.d.ts +60 -0
  98. package/library/packages/atoms/src/components/document-viewer/document-viewer.styles.d.ts +2 -0
  99. package/library/packages/atoms/src/index.d.ts +1 -0
  100. package/library/packages/events/src/cx-document-viewer-open-asset.d.ts +8 -0
  101. package/library/packages/events/src/events.d.ts +1 -0
  102. package/library/packages/hybrid/book-reader/src/book-reader/book-reader.d.ts +99 -0
  103. package/library/packages/hybrid/book-reader/src/book-reader/book-reader.styles.d.ts +2 -0
  104. package/library/packages/hybrid/book-reader/src/react/BookReader.d.ts +6 -0
  105. package/library/packages/hybrid/book-reader/src/react/components/Album/Album.d.ts +31 -0
  106. package/library/packages/hybrid/book-reader/src/react/components/Album/AlbumThumbnails.d.ts +17 -0
  107. package/library/packages/hybrid/book-reader/src/react/components/Album/ErrorImage.d.ts +5 -0
  108. package/library/packages/hybrid/book-reader/src/react/components/Album/Page.d.ts +21 -0
  109. package/library/packages/hybrid/book-reader/src/react/components/Album/index.d.ts +1 -0
  110. package/library/packages/hybrid/book-reader/src/react/components/Book/Book.d.ts +20 -0
  111. package/library/packages/hybrid/book-reader/src/react/components/Book/BookThumbnails.d.ts +17 -0
  112. package/library/packages/hybrid/book-reader/src/react/components/Book/Page.d.ts +20 -0
  113. package/library/packages/hybrid/book-reader/src/react/components/Book/PageError.d.ts +5 -0
  114. package/library/packages/hybrid/book-reader/src/react/components/Book/PageRenderer/PageRenderer.d.ts +8 -0
  115. package/library/packages/hybrid/book-reader/src/react/components/Book/PageRenderer/RendererContext.d.ts +5 -0
  116. package/library/packages/hybrid/book-reader/src/react/components/Book/PageRenderer/StructTree.d.ts +1 -0
  117. package/library/packages/hybrid/book-reader/src/react/components/Book/PageRenderer/StructTreeItem.d.ts +9 -0
  118. package/library/packages/hybrid/book-reader/src/react/components/Book/PageRenderer/index.d.ts +2 -0
  119. package/library/packages/hybrid/book-reader/src/react/components/ColdStorageAsset/ColdStorageAsset.d.ts +7 -0
  120. package/library/packages/hybrid/book-reader/src/react/components/ColdStorageAsset/ColdStorageAsset.styles.d.ts +2 -0
  121. package/library/packages/hybrid/book-reader/src/react/components/ColdStorageAsset/index.d.ts +1 -0
  122. package/library/packages/hybrid/book-reader/src/react/components/Container/Container.d.ts +7 -0
  123. package/library/packages/hybrid/book-reader/src/react/components/Container/index.d.ts +1 -0
  124. package/library/packages/hybrid/book-reader/src/react/components/Controller/Controller.d.ts +39 -0
  125. package/library/packages/hybrid/book-reader/src/react/components/Controller/Controller.styles.d.ts +2 -0
  126. package/library/packages/hybrid/book-reader/src/react/components/Controller/PageControl.d.ts +12 -0
  127. package/library/packages/hybrid/book-reader/src/react/components/Controller/ScaleControl.d.ts +10 -0
  128. package/library/packages/hybrid/book-reader/src/react/components/Controller/ToggleFullscreen.d.ts +7 -0
  129. package/library/packages/hybrid/book-reader/src/react/components/Controller/ToggleSearchBox.d.ts +7 -0
  130. package/library/packages/hybrid/book-reader/src/react/components/Controller/ToggleSidebar.d.ts +7 -0
  131. package/library/packages/hybrid/book-reader/src/react/components/Controller/ViewControl.d.ts +7 -0
  132. package/library/packages/hybrid/book-reader/src/react/components/Controller/index.d.ts +1 -0
  133. package/library/packages/hybrid/book-reader/src/react/components/Drawer/Drawer.d.ts +9 -0
  134. package/library/packages/hybrid/book-reader/src/react/components/Drawer/index.d.ts +1 -0
  135. package/library/packages/hybrid/book-reader/src/react/components/EmptyDocument/EmptyDocument.d.ts +2 -0
  136. package/library/packages/hybrid/book-reader/src/react/components/EmptyDocument/EmptyDocument.styles.d.ts +2 -0
  137. package/library/packages/hybrid/book-reader/src/react/components/EmptyDocument/index.d.ts +1 -0
  138. package/library/packages/hybrid/book-reader/src/react/components/Loading/DocumentLoading.d.ts +5 -0
  139. package/library/packages/hybrid/book-reader/src/react/components/Loading/Loading.styles.d.ts +2 -0
  140. package/library/packages/hybrid/book-reader/src/react/components/Loading/PageLoading.d.ts +5 -0
  141. package/library/packages/hybrid/book-reader/src/react/components/Loading/index.d.ts +2 -0
  142. package/library/packages/hybrid/book-reader/src/react/components/PPTProgressBar/PPTProgressBar.d.ts +5 -0
  143. package/library/packages/hybrid/book-reader/src/react/components/PPTProgressBar/index.d.ts +1 -0
  144. package/library/packages/hybrid/book-reader/src/react/components/PasswordInput/PasswordInput.d.ts +7 -0
  145. package/library/packages/hybrid/book-reader/src/react/components/PasswordInput/PasswordInput.styles.d.ts +2 -0
  146. package/library/packages/hybrid/book-reader/src/react/components/PasswordInput/index.d.ts +1 -0
  147. package/library/packages/hybrid/book-reader/src/react/components/ProgressBar/ProgressBar.d.ts +7 -0
  148. package/library/packages/hybrid/book-reader/src/react/components/ProgressBar/index.d.ts +1 -0
  149. package/library/packages/hybrid/book-reader/src/react/components/ScaleBox/ScaleBox.d.ts +21 -0
  150. package/library/packages/hybrid/book-reader/src/react/components/SearchBox/SearchBox.d.ts +18 -0
  151. package/library/packages/hybrid/book-reader/src/react/components/SearchBox/SearchBox.styles.d.ts +2 -0
  152. package/library/packages/hybrid/book-reader/src/react/components/SearchBox/index.d.ts +1 -0
  153. package/library/packages/hybrid/book-reader/src/react/components/TextHighlight/TextHighlight.d.ts +9 -0
  154. package/library/packages/hybrid/book-reader/src/react/components/TextHighlight/index.d.ts +1 -0
  155. package/library/packages/hybrid/book-reader/src/react/components/Thumbnails/Thumbnails.d.ts +32 -0
  156. package/library/packages/hybrid/book-reader/src/react/components/Thumbnails/index.d.ts +1 -0
  157. package/library/packages/hybrid/book-reader/src/react/components/ZoomPanPinchWrapper/ZoomPanPinchWrapper.d.ts +12 -0
  158. package/library/packages/hybrid/book-reader/src/react/components/ZoomPanPinchWrapper/ZoomPanPinchWrapper.styles.d.ts +2 -0
  159. package/library/packages/hybrid/book-reader/src/react/components/ZoomPanPinchWrapper/index.d.ts +1 -0
  160. package/library/packages/hybrid/book-reader/src/react/constant.d.ts +81 -0
  161. package/library/packages/hybrid/book-reader/src/react/contexts/AlbumContext.d.ts +8 -0
  162. package/library/packages/hybrid/book-reader/src/react/contexts/BookContext.d.ts +4 -0
  163. package/library/packages/hybrid/book-reader/src/react/contexts/BreakpointsContext.d.ts +4 -0
  164. package/library/packages/hybrid/book-reader/src/react/contexts/ComponentContext.d.ts +3 -0
  165. package/library/packages/hybrid/book-reader/src/react/contexts/TranslationContext.d.ts +7 -0
  166. package/library/packages/hybrid/book-reader/src/react/hooks/useAlbumContext.d.ts +1 -0
  167. package/library/packages/hybrid/book-reader/src/react/hooks/useBookContext.d.ts +1 -0
  168. package/library/packages/hybrid/book-reader/src/react/hooks/useBookEvents.d.ts +13 -0
  169. package/library/packages/hybrid/book-reader/src/react/hooks/useBreakpoint.d.ts +6 -0
  170. package/library/packages/hybrid/book-reader/src/react/hooks/useDrawer.d.ts +13 -0
  171. package/library/packages/hybrid/book-reader/src/react/hooks/useImageTextSearch.d.ts +4 -0
  172. package/library/packages/hybrid/book-reader/src/react/hooks/useKeyboardShortcuts.d.ts +12 -0
  173. package/library/packages/hybrid/book-reader/src/react/hooks/usePageFlip.d.ts +10 -0
  174. package/library/packages/hybrid/book-reader/src/react/hooks/usePdfTextSearch.d.ts +4 -0
  175. package/library/packages/hybrid/book-reader/src/react/hooks/usePopoverMenu.d.ts +7 -0
  176. package/library/packages/hybrid/book-reader/src/react/hooks/useRendererContext.d.ts +1 -0
  177. package/library/packages/hybrid/book-reader/src/react/hooks/useResolver.d.ts +21 -0
  178. package/library/packages/hybrid/book-reader/src/react/hooks/useScale.d.ts +19 -0
  179. package/library/packages/hybrid/book-reader/src/react/hooks/useSearch.d.ts +19 -0
  180. package/library/packages/hybrid/book-reader/src/react/page-flip/PageFlip.d.ts +215 -0
  181. package/library/packages/hybrid/book-reader/src/react/page-flip/Settings.d.ts +59 -0
  182. package/library/packages/hybrid/book-reader/src/react/page-flip/collection/HTMLPageCollection.d.ts +13 -0
  183. package/library/packages/hybrid/book-reader/src/react/page-flip/collection/ImagePageCollection.d.ts +12 -0
  184. package/library/packages/hybrid/book-reader/src/react/page-flip/collection/PageCollection.d.ts +116 -0
  185. package/library/packages/hybrid/book-reader/src/react/page-flip/event/EventObject.d.ts +34 -0
  186. package/library/packages/hybrid/book-reader/src/react/page-flip/flip/Flip.d.ts +126 -0
  187. package/library/packages/hybrid/book-reader/src/react/page-flip/flip/FlipCalculation.d.ts +99 -0
  188. package/library/packages/hybrid/book-reader/src/react/page-flip/index.d.ts +22 -0
  189. package/library/packages/hybrid/book-reader/src/react/page-flip/page/HTMLPage.d.ts +24 -0
  190. package/library/packages/hybrid/book-reader/src/react/page-flip/page/ImagePage.d.ts +19 -0
  191. package/library/packages/hybrid/book-reader/src/react/page-flip/page/Page.d.ts +123 -0
  192. package/library/packages/hybrid/book-reader/src/react/page-flip/render/CanvasRender.d.ts +19 -0
  193. package/library/packages/hybrid/book-reader/src/react/page-flip/render/HTMLRender.d.ts +58 -0
  194. package/library/packages/hybrid/book-reader/src/react/page-flip/render/Render.d.ts +233 -0
  195. package/library/packages/hybrid/book-reader/src/react/page-flip/ui/CanvasUI.d.ts +17 -0
  196. package/library/packages/hybrid/book-reader/src/react/page-flip/ui/HTMLUI.d.ts +19 -0
  197. package/library/packages/hybrid/book-reader/src/react/page-flip/ui/UI.d.ts +78 -0
  198. package/library/packages/hybrid/book-reader/src/react/types.d.ts +206 -0
  199. package/library/packages/hybrid/book-reader/src/react/utils/CalculateScale.d.ts +1 -0
  200. package/library/packages/hybrid/book-reader/src/react/utils/EscapeRegex.d.ts +2 -0
  201. package/library/packages/hybrid/book-reader/src/react/utils/Fullscreen.d.ts +4 -0
  202. package/library/packages/hybrid/book-reader/src/react/utils/GetActivePage.d.ts +1 -0
  203. package/library/packages/hybrid/book-reader/src/react/utils/GetIIIFImageUrl.d.ts +7 -0
  204. package/library/packages/hybrid/book-reader/src/react/utils/GetVisiblePageNumber.d.ts +1 -0
  205. package/library/packages/hybrid/book-reader/src/react/utils/IsImageBook.d.ts +3 -0
  206. package/library/packages/hybrid/book-reader/src/react/utils/IsPDFBook.d.ts +3 -0
  207. package/library/packages/hybrid/book-reader/src/react/utils/MergeRefs.d.ts +14 -0
  208. package/library/packages/hybrid/book-reader/src/react/utils/NormalizeString.d.ts +1 -0
  209. package/library/packages/hybrid/book-reader/src/react/utils/PageFlipGeometry.d.ts +86 -0
  210. package/library/packages/hybrid/book-reader/src/react/utils/PagePosition.d.ts +2 -0
  211. package/library/packages/hybrid/book-reader/src/react/utils/PageRendererUtil.d.ts +350 -0
  212. package/library/packages/hybrid/book-reader/src/react/utils/PdfWorker.d.ts +17 -0
  213. package/library/packages/hybrid/book-reader/src/react/utils/Random.d.ts +1 -0
  214. package/library/packages/hybrid/book-reader/src/react/utils/RenderingQueue.d.ts +8 -0
  215. package/library/packages/organisms/src/content-builder/configs/document-viewer.d.ts +24 -0
  216. package/library/packages/organisms/src/content-builder/configs/index.d.ts +1 -0
  217. package/library/packages/organisms/src/content-builder/configs-controller.d.ts +50 -24
  218. package/library/packages/organisms/src/content-builder/content-builder-config.d.ts +3 -0
  219. package/library/packages/organisms/src/content-builder/plugins/document-viewer.d.ts +5 -0
  220. package/library/packages/organisms/src/content-builder/plugins/index.d.ts +1 -0
  221. package/library/packages/react-web-component.d.ts +6581 -0
  222. package/library/packages/types/src/book-reader.d.ts +9 -0
  223. package/library/packages/types/src/content-builder.d.ts +3 -1
  224. package/library/packages/utils/src/custom-element/i18n.d.ts +3 -0
  225. package/library/react-web-component.d.ts +110 -4
  226. package/library/utils.js +3 -3
  227. package/package.json +1 -1
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Book size calculation type
3
+ */
4
+ export declare const enum SizeType {
5
+ /** Dimensions are fixed */
6
+ FIXED = "fixed",
7
+ /** Dimensions are calculated based on the parent element */
8
+ STRETCH = "stretch"
9
+ }
10
+ /**
11
+ * Configuration object
12
+ */
13
+ export interface FlipSetting {
14
+ /** If this value is true, the parent element will be equal to the size of the book */
15
+ autoSize: boolean;
16
+ /** Set the forward event of clicking on child elements (buttons, links) */
17
+ clickEventForward: boolean;
18
+ /** if this value is true, flipping by clicking on the whole book will be locked. Only on corners */
19
+ disableFlipByClick: boolean;
20
+ /** Draw shadows or not when page flipping */
21
+ drawShadow: boolean;
22
+ /** Flipping animation time */
23
+ flippingTime: number;
24
+ height: number;
25
+ maxHeight: number;
26
+ /** Shadow intensity (1: max intensity, 0: hidden shadows) */
27
+ maxShadowOpacity: number;
28
+ maxWidth: number;
29
+ minHeight: number;
30
+ minWidth: number;
31
+ /** Disable content scrolling when touching a book on mobile devices */
32
+ mobileScrollSupport: boolean;
33
+ /** If this value is true, the first and the last pages will be marked as hard and will be shown in single page mode */
34
+ showCover: boolean;
35
+ /** if this value is true, fold the corners of the book when the mouse pointer is over them. */
36
+ showPageCorners: boolean;
37
+ /** Whether the book will be stretched under the parent element or not */
38
+ size: SizeType;
39
+ /** Page number from which to start viewing */
40
+ startPage: number;
41
+ /** Initial value to z-index */
42
+ startZIndex: number;
43
+ swipeDistance: number;
44
+ /** Using mouse and touch events to page flipping */
45
+ useMouseEvents: boolean;
46
+ /** Enable switching to portrait mode */
47
+ usePortrait: boolean;
48
+ width: number;
49
+ }
50
+ export declare class Settings {
51
+ private _default;
52
+ /**
53
+ * Processing parameters received from the user. Substitution default values
54
+ *
55
+ * @param userSetting
56
+ * @returns {FlipSetting} Сonfiguration object
57
+ */
58
+ getSettings(userSetting: Record<string, number | string | boolean>): FlipSetting;
59
+ }
@@ -0,0 +1,13 @@
1
+ import { PageFlip } from '../PageFlip';
2
+ import { Render } from '../render/Render';
3
+ import { PageCollection } from './PageCollection';
4
+
5
+ /**
6
+ * Сlass representing a collection of pages as HTML Element
7
+ */
8
+ export declare class HTMLPageCollection extends PageCollection {
9
+ private readonly element;
10
+ private readonly pagesElement;
11
+ constructor(app: PageFlip, render: Render, element: HTMLElement, items: NodeListOf<HTMLElement> | HTMLElement[]);
12
+ load(): void;
13
+ }
@@ -0,0 +1,12 @@
1
+ import { PageFlip } from '../PageFlip';
2
+ import { Render } from '../render/Render';
3
+ import { PageCollection } from './PageCollection';
4
+
5
+ /**
6
+ * Сlass representing a collection of pages as images on the canvas
7
+ */
8
+ export declare class ImagePageCollection extends PageCollection {
9
+ private readonly imagesHref;
10
+ constructor(app: PageFlip, render: Render, imagesHref: string[]);
11
+ load(): void;
12
+ }
@@ -0,0 +1,116 @@
1
+ import { FlipDirection } from '../flip/Flip';
2
+ import { Page } from '../page/Page';
3
+ import { PageFlip } from '../PageFlip';
4
+ import { Render } from '../render/Render';
5
+
6
+ export type NumberArray = number[];
7
+ /**
8
+ * Сlass representing a collection of pages
9
+ */
10
+ export declare abstract class PageCollection {
11
+ protected readonly app: PageFlip;
12
+ protected readonly render: Render;
13
+ protected readonly isShowCover: boolean;
14
+ /** Pages List */
15
+ protected pages: Page[];
16
+ /** Index of the current page in list */
17
+ protected currentPageIndex: number;
18
+ /** Number of the current spread in book */
19
+ protected currentSpreadIndex: number;
20
+ /** Two-page spread in landscape mode */
21
+ protected landscapeSpread: NumberArray[];
22
+ /** One-page spread in portrait mode */
23
+ protected portraitSpread: NumberArray[];
24
+ protected constructor(app: PageFlip, render: Render);
25
+ /**
26
+ * Load pages
27
+ */
28
+ abstract load(): void;
29
+ /**
30
+ * Clear pages list
31
+ */
32
+ destroy(): void;
33
+ /**
34
+ * Split the book on the two-page spread in landscape mode and one-page spread in portrait mode
35
+ */
36
+ protected createSpread(): void;
37
+ /**
38
+ * Get spread by mode (portrait or landscape)
39
+ */
40
+ protected getSpread(): NumberArray[];
41
+ /**
42
+ * Get spread index by page number
43
+ *
44
+ * @param {number} pageNum - page index
45
+ */
46
+ getSpreadIndexByPage(pageNum: number): number | null;
47
+ /**
48
+ * Get the total number of pages
49
+ */
50
+ getPageCount(): number;
51
+ /**
52
+ * Get the pages list
53
+ */
54
+ getPages(): Page[];
55
+ /**
56
+ * Get page by index
57
+ *
58
+ * @param {number} pageIndex
59
+ */
60
+ getPage(pageIndex: number): Page;
61
+ /**
62
+ * Get the next page from the specified
63
+ *
64
+ * @param {Page} current
65
+ */
66
+ nextBy(current: Page): Page | null;
67
+ /**
68
+ * Get previous page from specified
69
+ *
70
+ * @param {Page} current
71
+ */
72
+ prevBy(current: Page): Page | null;
73
+ /**
74
+ * Get flipping page depending on the direction
75
+ *
76
+ * @param {FlipDirection} direction
77
+ */
78
+ getFlippingPage(direction: FlipDirection): Page;
79
+ /**
80
+ * Get Next page at the time of flipping
81
+ *
82
+ * @param {FlipDirection} direction
83
+ */
84
+ getBottomPage(direction: FlipDirection): Page;
85
+ /**
86
+ * Show next spread
87
+ */
88
+ showNext(): void;
89
+ /**
90
+ * Show prev spread
91
+ */
92
+ showPrev(): void;
93
+ /**
94
+ * Get the number of the current spread in book
95
+ */
96
+ getCurrentPageIndex(): number;
97
+ /**
98
+ * Show specified page
99
+ * @param {number} pageNum - Page index (from 0s)
100
+ */
101
+ show(pageNum?: number | null, triggerFlip?: boolean): void;
102
+ /**
103
+ * Index of the current page in list
104
+ */
105
+ getCurrentSpreadIndex(): number;
106
+ /**
107
+ * Set new spread index as current
108
+ *
109
+ * @param {number} newIndex - new spread index
110
+ */
111
+ setCurrentSpreadIndex(newIndex: number): void;
112
+ /**
113
+ * Show current spread
114
+ */
115
+ private showSpread;
116
+ }
@@ -0,0 +1,34 @@
1
+ import { PageFlip } from '../PageFlip';
2
+
3
+ /**
4
+ * Data type passed to the event handler
5
+ */
6
+ export type DataType = number | string | boolean | object;
7
+ /**
8
+ * Type of object in event handlers
9
+ */
10
+ export interface WidgetEvent {
11
+ data: DataType;
12
+ object: PageFlip;
13
+ }
14
+ export type EventCallback = (e: WidgetEvent) => void;
15
+ /**
16
+ * A class implementing a basic event model
17
+ */
18
+ export declare abstract class EventObject {
19
+ private events;
20
+ /**
21
+ * Add new event handler
22
+ *
23
+ * @param {string} eventName
24
+ * @param {EventCallback} callback
25
+ */
26
+ on(eventName: string, callback: EventCallback): EventObject;
27
+ /**
28
+ * Removing all handlers from an event
29
+ *
30
+ * @param {string} event - Event name
31
+ */
32
+ off(event: string): void;
33
+ protected trigger(eventName: string, app: PageFlip, data?: DataType | null): void;
34
+ }
@@ -0,0 +1,126 @@
1
+ import { Point } from '../BasicTypes';
2
+ import { PageFlip } from '../PageFlip';
3
+ import { Render } from '../render/Render';
4
+ import { FlipCalculation } from './FlipCalculation';
5
+
6
+ /**
7
+ * Flipping direction
8
+ */
9
+ export declare const enum FlipDirection {
10
+ FORWARD = 0,
11
+ BACK = 1
12
+ }
13
+ /**
14
+ * Active corner when flipping
15
+ */
16
+ export declare const enum FlipCorner {
17
+ BOTTOM = "bottom",
18
+ TOP = "top"
19
+ }
20
+ /**
21
+ * State of the book
22
+ */
23
+ export declare const enum FlippingState {
24
+ /** During flipping animation */
25
+ FLIPPING = "flipping",
26
+ /** Mouse over active corners */
27
+ FOLD_CORNER = "fold_corner",
28
+ /** Base state */
29
+ READ = "read",
30
+ /** The user folding the page */
31
+ USER_FOLD = "user_fold"
32
+ }
33
+ /**
34
+ * Class representing the flipping process
35
+ */
36
+ export declare class Flip {
37
+ private readonly render;
38
+ private readonly app;
39
+ private flippingPage;
40
+ private bottomPage;
41
+ private calc;
42
+ private state;
43
+ scale: number;
44
+ constructor(render: Render, app: PageFlip);
45
+ /**
46
+ * Called when the page folding (User drags page corner)
47
+ *
48
+ * @param globalPos - Touch Point Coordinates (relative window)
49
+ */
50
+ fold(globalPos: Point): void;
51
+ /**
52
+ * Page turning with animation
53
+ *
54
+ * @param globalPos - Touch Point Coordinates (relative window)
55
+ */
56
+ flip(globalPos: Point): void;
57
+ /**
58
+ * Start the flipping process. Find direction and corner of flipping. Creating an object for calculation.
59
+ *
60
+ * @param {Point} globalPos - Touch Point Coordinates (relative window)
61
+ *
62
+ * @returns {boolean} True if flipping is possible, false otherwise
63
+ */
64
+ start(globalPos: Point): boolean;
65
+ /**
66
+ * Perform calculations for the current page position. Pass data to render object
67
+ *
68
+ * @param {Point} pagePos - Touch Point Coordinates (relative active page)
69
+ */
70
+ private do;
71
+ /**
72
+ * Turn to the specified page number (with animation)
73
+ *
74
+ * @param {number} page - New page number
75
+ * @param {FlipCorner} corner - Active page corner when turning
76
+ */
77
+ flipToPage(page: number, corner: FlipCorner): void;
78
+ /**
79
+ * Turn to the next page (with animation)
80
+ *
81
+ * @param {FlipCorner} corner - Active page corner when turning
82
+ */
83
+ flipNext(corner: FlipCorner): void;
84
+ /**
85
+ * Turn to the prev page (with animation)
86
+ *
87
+ * @param {FlipCorner} corner - Active page corner when turning
88
+ */
89
+ flipPrev(corner: FlipCorner): void;
90
+ /**
91
+ * Called when the user has stopped flipping
92
+ */
93
+ stopMove(): void;
94
+ /**
95
+ * Fold the corners of the book when the mouse pointer is over them.
96
+ * Called when the mouse pointer is over the book without clicking
97
+ *
98
+ * @param globalPos
99
+ */
100
+ showCorner(globalPos: Point): void;
101
+ /**
102
+ * Starting the flipping animation process
103
+ *
104
+ * @param {Point} start - animation start point
105
+ * @param {Point} dest - animation end point
106
+ * @param {boolean} isTurned - will the page turn over, or just bring it back
107
+ * @param {boolean} needReset - reset the flipping process at the end of the animation
108
+ */
109
+ private animateFlippingTo;
110
+ /**
111
+ * Get the current calculations object
112
+ */
113
+ getCalculation(): FlipCalculation;
114
+ /**
115
+ * Get current flipping state
116
+ */
117
+ getState(): FlippingState;
118
+ private setState;
119
+ private getDirectionByPoint;
120
+ private getAnimationDuration;
121
+ private checkDirection;
122
+ private reset;
123
+ private getBoundsRect;
124
+ private checkState;
125
+ isPointOnCorners(globalPos: Point): boolean;
126
+ }
@@ -0,0 +1,99 @@
1
+ import { Point, RectPoints } from '../BasicTypes';
2
+ import { FlipCorner, FlipDirection } from './Flip';
3
+
4
+ /**
5
+ * Class representing mathematical methods for calculating page position (rotation angle, clip area ...)
6
+ */
7
+ export declare class FlipCalculation {
8
+ private direction;
9
+ private corner;
10
+ /** Calculated rotation angle to flipping page */
11
+ private angle;
12
+ /** Calculated position to flipping page */
13
+ private position;
14
+ private rect;
15
+ /** The point of intersection of the page with the borders of the book */
16
+ private topIntersectPoint;
17
+ private sideIntersectPoint;
18
+ private bottomIntersectPoint;
19
+ private readonly pageWidth;
20
+ private readonly pageHeight;
21
+ /**
22
+ * @constructor
23
+ *
24
+ * @param {FlipDirection} direction - Flipping direction
25
+ * @param {FlipCorner} corner - Flipping corner
26
+ * @param pageWidth - Current page width
27
+ * @param pageHeight - Current page height
28
+ */
29
+ constructor(direction: FlipDirection, corner: FlipCorner, pageWidth: string, pageHeight: string);
30
+ /**
31
+ * The main calculation method
32
+ *
33
+ * @param {Point} localPos - Touch Point Coordinates (relative active page!)
34
+ *
35
+ * @returns {boolean} True - if the calculations were successful, false if errors occurred
36
+ */
37
+ calc(localPos: Point): boolean;
38
+ /**
39
+ * Get the crop area for the flipping page
40
+ *
41
+ * @returns {Point[]} Polygon page
42
+ */
43
+ getFlippingClipArea(): Point[];
44
+ /**
45
+ * Get the crop area for the page that is below the page to be flipped
46
+ *
47
+ * @returns {Point[]} Polygon page
48
+ */
49
+ getBottomClipArea(): Point[];
50
+ /**
51
+ * Get page rotation angle
52
+ */
53
+ getAngle(): number;
54
+ /**
55
+ * Get page area while flipping
56
+ */
57
+ getRect(): RectPoints;
58
+ /**
59
+ * Get the position of the active angle when turning
60
+ */
61
+ getPosition(): Point;
62
+ /**
63
+ * Get the active corner of the page (which pull)
64
+ */
65
+ getActiveCorner(): Point;
66
+ /**
67
+ * Get flipping direction
68
+ */
69
+ getDirection(): FlipDirection;
70
+ /**
71
+ * Get flipping progress (0-100)
72
+ */
73
+ getFlippingProgress(): number;
74
+ /**
75
+ * Get flipping corner position (top, bottom)
76
+ */
77
+ getCorner(): FlipCorner;
78
+ /**
79
+ * Get start position for the page that is below the page to be flipped
80
+ */
81
+ getBottomPagePosition(): Point;
82
+ /**
83
+ * Get the starting position of the shadow
84
+ */
85
+ getShadowStartPoint(): Point;
86
+ /**
87
+ * Get the rotate angle of the shadow
88
+ */
89
+ getShadowAngle(): number;
90
+ private calcAngleAndPosition;
91
+ private updateAngleAndGeometry;
92
+ private calculateAngle;
93
+ private getPageRect;
94
+ private getRectFromBasePoint;
95
+ private getRotatedPoint;
96
+ private calculateIntersectPoint;
97
+ private checkPositionAtCenterLine;
98
+ private getSegmentToShadowLine;
99
+ }
@@ -0,0 +1,22 @@
1
+ import { PageFlipGeometry } from '../utils/PageFlipGeometry';
2
+ import { PageRect, Point, Rect, RectPoints, Segment } from './BasicTypes';
3
+ import { HTMLPageCollection } from './collection/HTMLPageCollection';
4
+ import { ImagePageCollection } from './collection/ImagePageCollection';
5
+ import { NumberArray, PageCollection } from './collection/PageCollection';
6
+ import { DataType, EventCallback, EventObject, WidgetEvent } from './event/EventObject';
7
+ import { Flip, FlipCorner, FlipDirection, FlippingState } from './flip/Flip';
8
+ import { FlipCalculation } from './flip/FlipCalculation';
9
+ import { HTMLPage } from './page/HTMLPage';
10
+ import { ImagePage } from './page/ImagePage';
11
+ import { Page, PageDensity, PageOrientation, PageState } from './page/Page';
12
+ import { PageFlip } from './PageFlip';
13
+ import { CanvasRender } from './render/CanvasRender';
14
+ import { HTMLRender } from './render/HTMLRender';
15
+ import { FrameAction, Orientation, Render, Shadow } from './render/Render';
16
+ import { FlipSetting, Settings, SizeType } from './Settings';
17
+ import { CanvasUI } from './ui/CanvasUI';
18
+ import { HTMLUI } from './ui/HTMLUI';
19
+ import { SwipeData, UI } from './ui/UI';
20
+
21
+ export { CanvasRender, CanvasUI, EventObject, Flip, FlipCalculation, FlipCorner, FlipDirection, FlippingState, PageFlipGeometry, HTMLPage, HTMLPageCollection, HTMLRender, HTMLUI, ImagePage, ImagePageCollection, Orientation, Page, PageCollection, PageDensity, PageFlip, PageOrientation, Render, Settings, SizeType, UI, };
22
+ export type { DataType, EventCallback, FlipSetting, FrameAction, NumberArray, PageRect, PageState, Point, Rect, RectPoints, Segment, Shadow, SwipeData, WidgetEvent, };
@@ -0,0 +1,24 @@
1
+ import { Render } from '../render/Render';
2
+ import { Page, PageDensity, PageOrientation } from './Page';
3
+
4
+ /**
5
+ * Class representing a book page as a HTML Element
6
+ */
7
+ export declare class HTMLPage extends Page {
8
+ private readonly element;
9
+ private copiedElement;
10
+ private temporaryCopy;
11
+ private isLoad;
12
+ constructor(render: Render, element: HTMLElement, density: PageDensity);
13
+ newTemporaryCopy(): Page;
14
+ getTemporaryCopy(): Page;
15
+ hideTemporaryCopy(): void;
16
+ draw(tempDensity?: PageDensity): void;
17
+ private drawHard;
18
+ private drawSoft;
19
+ simpleDraw(orient: PageOrientation): void;
20
+ getElement(): HTMLElement;
21
+ load(): void;
22
+ setOrientation(orientation: PageOrientation): void;
23
+ setDrawingDensity(density: PageDensity): void;
24
+ }
@@ -0,0 +1,19 @@
1
+ import { Render } from '../render/Render';
2
+ import { Page, PageDensity, PageOrientation } from './Page';
3
+
4
+ /**
5
+ * Class representing a book page as an image on Canvas
6
+ */
7
+ export declare class ImagePage extends Page {
8
+ private readonly image;
9
+ private isLoad;
10
+ private loadingAngle;
11
+ constructor(render: Render, href: string, density: PageDensity);
12
+ draw(): void;
13
+ simpleDraw(orient: PageOrientation): void;
14
+ private drawLoader;
15
+ load(): void;
16
+ newTemporaryCopy(): Page;
17
+ getTemporaryCopy(): Page;
18
+ hideTemporaryCopy(): void;
19
+ }
@@ -0,0 +1,123 @@
1
+ import { Point } from '../BasicTypes';
2
+ import { Render } from '../render/Render';
3
+
4
+ /**
5
+ * State of the page on the basis of which rendering
6
+ */
7
+ export interface PageState {
8
+ /** Page rotation angle */
9
+ angle: number;
10
+ /** Page scope */
11
+ area: Point[];
12
+ /** Rotate angle for hard pages */
13
+ hardAngle: number;
14
+ /** Rotate angle for hard pages at renedering time */
15
+ hardDrawingAngle: number;
16
+ /** Page position */
17
+ position: Point;
18
+ }
19
+ export declare const enum PageOrientation {
20
+ /** Left side page */
21
+ LEFT = 0,
22
+ /** Right side page */
23
+ RIGHT = 1
24
+ }
25
+ export declare const enum PageDensity {
26
+ HARD = "hard",
27
+ SOFT = "soft"
28
+ }
29
+ /**
30
+ * Class representing a book page
31
+ */
32
+ export declare abstract class Page {
33
+ /** State of the page on the basis of which rendering */
34
+ protected state: PageState;
35
+ /** Render object */
36
+ protected render: Render;
37
+ /** Page Orientation */
38
+ protected orientation: PageOrientation;
39
+ /** Density at creation */
40
+ protected createdDensity: PageDensity;
41
+ /** Density at the time of rendering (Depends on neighboring pages) */
42
+ protected nowDrawingDensity: PageDensity;
43
+ protected constructor(render: Render, density: PageDensity);
44
+ /**
45
+ * Render static page
46
+ *
47
+ * @param {PageOrientation} orient - Static page orientation
48
+ */
49
+ abstract simpleDraw(orient: PageOrientation): void;
50
+ /**
51
+ * Render dynamic page, using state
52
+ *
53
+ * @param {PageDensity} tempDensity - Density at the time of rendering
54
+ */
55
+ abstract draw(tempDensity?: PageDensity): void;
56
+ /**
57
+ * Page loading
58
+ */
59
+ abstract load(): void;
60
+ /**
61
+ * Set a constant page density
62
+ *
63
+ * @param {PageDensity} density
64
+ */
65
+ setDensity(density: PageDensity): void;
66
+ /**
67
+ * Set temp page density to next render
68
+ *
69
+ * @param {PageDensity} density
70
+ */
71
+ setDrawingDensity(density: PageDensity): void;
72
+ /**
73
+ * Set page position
74
+ *
75
+ * @param {Point} pagePos
76
+ */
77
+ setPosition(pagePos: Point): void;
78
+ /**
79
+ * Set page angle
80
+ *
81
+ * @param {number} angle
82
+ */
83
+ setAngle(angle: number): void;
84
+ /**
85
+ * Set page crop area
86
+ *
87
+ * @param {Point[]} area
88
+ */
89
+ setArea(area: Point[]): void;
90
+ /**
91
+ * Rotate angle for hard pages to next render
92
+ *
93
+ * @param {number} angle
94
+ */
95
+ setHardDrawingAngle(angle: number): void;
96
+ /**
97
+ * Rotate angle for hard pages
98
+ *
99
+ * @param {number} angle
100
+ */
101
+ setHardAngle(angle: number): void;
102
+ /**
103
+ * Set page orientation
104
+ *
105
+ * @param {PageOrientation} orientation
106
+ */
107
+ setOrientation(orientation: PageOrientation): void;
108
+ /**
109
+ * Get temp page density
110
+ */
111
+ getDrawingDensity(): PageDensity;
112
+ /**
113
+ * Get a constant page density
114
+ */
115
+ getDensity(): PageDensity;
116
+ /**
117
+ * Get rotate angle for hard pages
118
+ */
119
+ getHardAngle(): number;
120
+ abstract newTemporaryCopy(): Page;
121
+ abstract getTemporaryCopy(): Page;
122
+ abstract hideTemporaryCopy(): void;
123
+ }
@@ -0,0 +1,19 @@
1
+ import { PageFlip } from '../PageFlip';
2
+ import { FlipSetting } from '../Settings';
3
+ import { Render } from './Render';
4
+
5
+ /**
6
+ * Class responsible for rendering the Canvas book
7
+ */
8
+ export declare class CanvasRender extends Render {
9
+ private readonly canvas;
10
+ private readonly ctx;
11
+ constructor(app: PageFlip, setting: FlipSetting, inCanvas: HTMLCanvasElement);
12
+ getContext(): CanvasRenderingContext2D;
13
+ reload(): void;
14
+ protected drawFrame(): void;
15
+ private drawBookShadow;
16
+ private drawOuterShadow;
17
+ private drawInnerShadow;
18
+ private clear;
19
+ }