@weavy/uikit-react 11.2.0 → 12.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 (205) hide show
  1. package/.github/workflows/publish.yml +1 -1
  2. package/changelog.md +15 -0
  3. package/dist/cjs/index.js +6 -6
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/types/components/Image.d.ts +2 -0
  6. package/dist/cjs/types/components/PdfViewer.d.ts +6 -0
  7. package/dist/cjs/types/components/Preview.d.ts +58 -0
  8. package/dist/cjs/types/types/types.d.ts +1 -0
  9. package/dist/cjs/types/utils/fileUtilities.d.ts +16 -1
  10. package/dist/css/weavy-chat.css +2684 -0
  11. package/dist/css/weavy-messenger.css +3039 -0
  12. package/dist/css/weavy.css +3039 -0
  13. package/dist/esm/index.js +6 -6
  14. package/dist/esm/index.js.map +1 -1
  15. package/dist/esm/types/components/Image.d.ts +2 -0
  16. package/dist/esm/types/components/PdfViewer.d.ts +6 -0
  17. package/dist/esm/types/components/Preview.d.ts +58 -0
  18. package/dist/esm/types/types/types.d.ts +1 -0
  19. package/dist/esm/types/utils/fileUtilities.d.ts +16 -1
  20. package/package.json +14 -4
  21. package/rollup.config.js +0 -2
  22. package/src/components/Attachment.tsx +5 -6
  23. package/src/components/Avatar.tsx +2 -3
  24. package/src/components/Chat.tsx +3 -4
  25. package/src/components/Conversation.tsx +20 -29
  26. package/src/components/ConversationBadge.tsx +1 -2
  27. package/src/components/ConversationForm.tsx +11 -18
  28. package/src/components/ConversationList.tsx +4 -5
  29. package/src/components/ConversationListItem.tsx +11 -13
  30. package/src/components/FileBrowser.tsx +1 -2
  31. package/src/components/Image.tsx +39 -7
  32. package/src/components/MeetingCard.tsx +7 -8
  33. package/src/components/Message.tsx +12 -13
  34. package/src/components/Messages.tsx +6 -7
  35. package/src/components/Messenger.tsx +3 -4
  36. package/src/components/NewConversation.tsx +5 -7
  37. package/src/components/PdfViewer.tsx +271 -0
  38. package/src/components/Presence.tsx +2 -2
  39. package/src/components/Preview.tsx +294 -0
  40. package/src/components/Reactions.tsx +6 -7
  41. package/src/components/SearchUsers.tsx +17 -16
  42. package/src/components/SeenBy.tsx +1 -2
  43. package/src/contexts/PreviewContext.tsx +4 -6
  44. package/src/hooks/useConversation.ts +0 -1
  45. package/src/hooks/usePresence.ts +4 -5
  46. package/src/hooks/useReactions.ts +0 -1
  47. package/src/scss/theme/_alert.scss +73 -0
  48. package/src/scss/theme/_appbar.scss +112 -0
  49. package/src/scss/theme/_attachments.scss +74 -0
  50. package/src/scss/theme/_avatar.scss +54 -0
  51. package/src/scss/theme/_badge.scss +47 -0
  52. package/src/scss/theme/_buttons.scss +96 -0
  53. package/src/scss/theme/_card.scss +7 -0
  54. package/src/scss/theme/_checkbox.scss +56 -0
  55. package/src/scss/theme/_cm-editor.scss +42 -0
  56. package/src/scss/theme/_code.scss +115 -0
  57. package/src/scss/theme/_colors.scss +520 -0
  58. package/src/scss/theme/_config.scss +6 -0
  59. package/src/scss/theme/_content.scss +15 -0
  60. package/src/scss/theme/_conversations.scss +91 -0
  61. package/src/scss/theme/_dropdown.scss +86 -0
  62. package/src/scss/theme/_emoji.scss +5 -0
  63. package/src/scss/theme/_filebrowser.scss +26 -0
  64. package/src/scss/theme/_files.scss +140 -0
  65. package/src/scss/theme/_icons.scss +62 -0
  66. package/src/scss/theme/_image-grid.scss +63 -0
  67. package/src/scss/theme/_inputs.scss +28 -0
  68. package/src/scss/theme/_message-editor.scss +90 -0
  69. package/src/scss/theme/_messages.scss +238 -0
  70. package/src/scss/theme/_nav.scss +52 -0
  71. package/src/scss/theme/_overlays.scss +157 -0
  72. package/src/scss/theme/_pager.scss +19 -0
  73. package/src/scss/theme/_palette.scss +165 -0
  74. package/src/scss/theme/_pane.scss +16 -0
  75. package/src/scss/theme/_panels.scss +137 -0
  76. package/src/scss/theme/_picker-list.scss +37 -0
  77. package/src/scss/theme/_preview-embed.scss +38 -0
  78. package/src/scss/theme/_preview-html.scss +7 -0
  79. package/src/scss/theme/_preview-icon.scss +41 -0
  80. package/src/scss/theme/_preview-image.scss +86 -0
  81. package/src/scss/theme/_preview-media.scss +28 -0
  82. package/src/scss/theme/_preview-pdf.scss +838 -0
  83. package/src/scss/theme/_preview-text.scss +5 -0
  84. package/src/scss/theme/_preview.scss +105 -0
  85. package/src/scss/theme/_reactions.scss +58 -0
  86. package/src/scss/theme/_reboot.scss +41 -0
  87. package/src/scss/theme/_root.scss +2 -0
  88. package/src/scss/theme/_scroll.scss +55 -0
  89. package/src/scss/theme/_search.scss +68 -0
  90. package/src/scss/theme/_spinner.scss +63 -0
  91. package/src/scss/theme/_tables.scss +53 -0
  92. package/src/scss/theme/_toasts.scss +47 -0
  93. package/src/scss/theme/_turbo.scss +17 -0
  94. package/src/scss/theme/_typing.scss +26 -0
  95. package/src/scss/theme/_variables.scss +139 -0
  96. package/src/scss/theme/bootstrap/_accordion.scss +146 -0
  97. package/src/scss/theme/bootstrap/_alert.scss +71 -0
  98. package/src/scss/theme/bootstrap/_badge.scss +38 -0
  99. package/src/scss/theme/bootstrap/_breadcrumb.scss +40 -0
  100. package/src/scss/theme/bootstrap/_button-group.scss +142 -0
  101. package/src/scss/theme/bootstrap/_buttons.scss +186 -0
  102. package/src/scss/theme/bootstrap/_card.scss +234 -0
  103. package/src/scss/theme/bootstrap/_carousel.scss +229 -0
  104. package/src/scss/theme/bootstrap/_close.scss +40 -0
  105. package/src/scss/theme/bootstrap/_containers.scss +41 -0
  106. package/src/scss/theme/bootstrap/_dropdown.scss +248 -0
  107. package/src/scss/theme/bootstrap/_forms.scss +9 -0
  108. package/src/scss/theme/bootstrap/_functions.scss +302 -0
  109. package/src/scss/theme/bootstrap/_grid.scss +33 -0
  110. package/src/scss/theme/bootstrap/_helpers.scss +10 -0
  111. package/src/scss/theme/bootstrap/_images.scss +42 -0
  112. package/src/scss/theme/bootstrap/_list-group.scss +191 -0
  113. package/src/scss/theme/bootstrap/_maps.scss +54 -0
  114. package/src/scss/theme/bootstrap/_mixins.scss +43 -0
  115. package/src/scss/theme/bootstrap/_modal.scss +237 -0
  116. package/src/scss/theme/bootstrap/_nav.scss +172 -0
  117. package/src/scss/theme/bootstrap/_navbar.scss +276 -0
  118. package/src/scss/theme/bootstrap/_offcanvas.scss +143 -0
  119. package/src/scss/theme/bootstrap/_pagination.scss +109 -0
  120. package/src/scss/theme/bootstrap/_placeholders.scss +51 -0
  121. package/src/scss/theme/bootstrap/_popover.scss +196 -0
  122. package/src/scss/theme/bootstrap/_progress.scss +59 -0
  123. package/src/scss/theme/bootstrap/_reboot.scss +610 -0
  124. package/src/scss/theme/bootstrap/_root.scss +73 -0
  125. package/src/scss/theme/bootstrap/_spinners.scss +85 -0
  126. package/src/scss/theme/bootstrap/_tables.scss +164 -0
  127. package/src/scss/theme/bootstrap/_toasts.scss +70 -0
  128. package/src/scss/theme/bootstrap/_tooltip.scss +120 -0
  129. package/src/scss/theme/bootstrap/_transitions.scss +27 -0
  130. package/src/scss/theme/bootstrap/_type.scss +106 -0
  131. package/src/scss/theme/bootstrap/_utilities.scss +647 -0
  132. package/src/scss/theme/bootstrap/_variables.scss +1633 -0
  133. package/src/scss/theme/bootstrap/forms/_floating-labels.scss +74 -0
  134. package/src/scss/theme/bootstrap/forms/_form-check.scss +175 -0
  135. package/src/scss/theme/bootstrap/forms/_form-control.scss +194 -0
  136. package/src/scss/theme/bootstrap/forms/_form-range.scss +91 -0
  137. package/src/scss/theme/bootstrap/forms/_form-select.scss +71 -0
  138. package/src/scss/theme/bootstrap/forms/_form-text.scss +11 -0
  139. package/src/scss/theme/bootstrap/forms/_input-group.scss +129 -0
  140. package/src/scss/theme/bootstrap/forms/_labels.scss +36 -0
  141. package/src/scss/theme/bootstrap/forms/_validation.scss +12 -0
  142. package/src/scss/theme/bootstrap/helpers/_clearfix.scss +3 -0
  143. package/src/scss/theme/bootstrap/helpers/_color-bg.scss +10 -0
  144. package/src/scss/theme/bootstrap/helpers/_colored-links.scss +12 -0
  145. package/src/scss/theme/bootstrap/helpers/_position.scss +36 -0
  146. package/src/scss/theme/bootstrap/helpers/_ratio.scss +26 -0
  147. package/src/scss/theme/bootstrap/helpers/_stacks.scss +15 -0
  148. package/src/scss/theme/bootstrap/helpers/_stretched-link.scss +15 -0
  149. package/src/scss/theme/bootstrap/helpers/_text-truncation.scss +7 -0
  150. package/src/scss/theme/bootstrap/helpers/_visually-hidden.scss +8 -0
  151. package/src/scss/theme/bootstrap/helpers/_vr.scss +8 -0
  152. package/src/scss/theme/bootstrap/mixins/_alert.scss +15 -0
  153. package/src/scss/theme/bootstrap/mixins/_backdrop.scss +14 -0
  154. package/src/scss/theme/bootstrap/mixins/_banner.scss +9 -0
  155. package/src/scss/theme/bootstrap/mixins/_border-radius.scss +78 -0
  156. package/src/scss/theme/bootstrap/mixins/_box-shadow.scss +18 -0
  157. package/src/scss/theme/bootstrap/mixins/_breakpoints.scss +127 -0
  158. package/src/scss/theme/bootstrap/mixins/_buttons.scss +70 -0
  159. package/src/scss/theme/bootstrap/mixins/_caret.scss +64 -0
  160. package/src/scss/theme/bootstrap/mixins/_clearfix.scss +9 -0
  161. package/src/scss/theme/bootstrap/mixins/_color-scheme.scss +7 -0
  162. package/src/scss/theme/bootstrap/mixins/_container.scss +11 -0
  163. package/src/scss/theme/bootstrap/mixins/_deprecate.scss +10 -0
  164. package/src/scss/theme/bootstrap/mixins/_forms.scss +152 -0
  165. package/src/scss/theme/bootstrap/mixins/_gradients.scss +47 -0
  166. package/src/scss/theme/bootstrap/mixins/_grid.scss +151 -0
  167. package/src/scss/theme/bootstrap/mixins/_image.scss +16 -0
  168. package/src/scss/theme/bootstrap/mixins/_list-group.scss +24 -0
  169. package/src/scss/theme/bootstrap/mixins/_lists.scss +7 -0
  170. package/src/scss/theme/bootstrap/mixins/_pagination.scss +10 -0
  171. package/src/scss/theme/bootstrap/mixins/_reset-text.scss +17 -0
  172. package/src/scss/theme/bootstrap/mixins/_resize.scss +6 -0
  173. package/src/scss/theme/bootstrap/mixins/_table-variants.scss +24 -0
  174. package/src/scss/theme/bootstrap/mixins/_text-truncate.scss +8 -0
  175. package/src/scss/theme/bootstrap/mixins/_transition.scss +26 -0
  176. package/src/scss/theme/bootstrap/mixins/_utilities.scss +97 -0
  177. package/src/scss/theme/bootstrap/mixins/_visually-hidden.scss +29 -0
  178. package/src/scss/theme/bootstrap/utilities/_api.scss +47 -0
  179. package/src/scss/theme/bootstrap/vendor/_rfs.scss +354 -0
  180. package/src/scss/theme/bs/_badge.scss +20 -0
  181. package/src/scss/theme/bs/_buttons.scss +185 -0
  182. package/src/scss/theme/bs/_dropdown.scss +86 -0
  183. package/src/scss/theme/bs/_forms.scss +161 -0
  184. package/src/scss/theme/bs/_list-group.scss +73 -0
  185. package/src/scss/theme/bs/_tables.scss +46 -0
  186. package/src/scss/theme/fonts/_fontmapping-roboto.scss +129 -0
  187. package/src/scss/theme/fonts/_fontmapping-segoe-ui.scss +127 -0
  188. package/src/scss/theme/fonts/_index.scss +2 -0
  189. package/src/scss/theme/mixins/_backdrop.scss +13 -0
  190. package/src/scss/theme/mixins/_palette.scss +165 -0
  191. package/src/scss/theme/mixins/_position.scss +33 -0
  192. package/src/scss/theme/mixins/_scrollbar.scss +110 -0
  193. package/src/scss/weavy-chat.scss +31 -0
  194. package/src/scss/weavy-messenger.scss +60 -0
  195. package/src/scss/weavy.scss +2 -0
  196. package/src/types/types.ts +2 -0
  197. package/src/ui/Button.tsx +3 -4
  198. package/src/ui/Dropdown.tsx +4 -5
  199. package/src/ui/Icon.tsx +75 -39
  200. package/src/ui/Overlay.tsx +2 -3
  201. package/src/utils/fileUtilities.ts +280 -72
  202. package/src/utils/scrollbarDetection.js +5 -7
  203. package/dist/cjs/types/utils/styles.d.ts +0 -17
  204. package/dist/esm/types/utils/styles.d.ts +0 -17
  205. package/src/utils/styles.ts +0 -57
package/src/ui/Icon.tsx CHANGED
@@ -1,6 +1,40 @@
1
1
  import React from "react";
2
- const MdiIcon = require('@mdi/react/Icon')
3
- import { prefix as wy } from "../utils/styles";
2
+ import {
3
+ mdiArrowLeft,
4
+ mdiArrowRight,
5
+ mdiAttachment,
6
+ mdiBox,
7
+ mdiClose,
8
+ mdiCloseCircle,
9
+ mdiCloud,
10
+ mdiDotsVertical,
11
+ mdiDownload,
12
+ mdiDropbox,
13
+ mdiEmail,
14
+ mdiFile,
15
+ mdiFileCode,
16
+ mdiFileDocument,
17
+ mdiFileExcel,
18
+ mdiFileImage,
19
+ mdiFileMusic,
20
+ mdiFilePowerpoint,
21
+ mdiFileVideo,
22
+ mdiFileWord,
23
+ mdiFitToPage,
24
+ mdiFitToScreen,
25
+ mdiFolderZip,
26
+ mdiGoogleDrive,
27
+ mdiMagnify,
28
+ mdiMicrosoftOnedrive,
29
+ mdiMinus,
30
+ mdiOpenInNew,
31
+ mdiPin,
32
+ mdiPlus,
33
+ mdiPlusCircleOutline,
34
+ mdiSend,
35
+ mdiVideo
36
+ } from "@mdi/js";
37
+ import MdiIcon from '@mdi/react/Icon';
4
38
 
5
39
  type Props = {
6
40
  name: string,
@@ -10,44 +44,46 @@ type Props = {
10
44
 
11
45
  // Custom mapping to MDI instead of symbols
12
46
  const iconMapping: { [index: string]: string } = {
13
- "attachment": "M7.5,18A5.5,5.5 0 0,1 2,12.5A5.5,5.5 0 0,1 7.5,7H18A4,4 0 0,1 22,11A4,4 0 0,1 18,15H9.5A2.5,2.5 0 0,1 7,12.5A2.5,2.5 0 0,1 9.5,10H17V11.5H9.5A1,1 0 0,0 8.5,12.5A1,1 0 0,0 9.5,13.5H18A2.5,2.5 0 0,0 20.5,11A2.5,2.5 0 0,0 18,8.5H7.5A4,4 0 0,0 3.5,12.5A4,4 0 0,0 7.5,16.5H17V18H7.5Z",
14
- "back": "M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z",
15
- "close": "M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z",
16
- "close-circle": "M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z",
17
- "dots-vertical": "M12,16A2,2 0 0,1 14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18A2,2 0 0,1 12,16M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8A2,2 0 0,1 10,6A2,2 0 0,1 12,4Z",
18
- "download": "M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z",
19
- "emoticon-outline": "M12,17.5C14.33,17.5 16.3,16.04 17.11,14H6.89C7.69,16.04 9.67,17.5 12,17.5M8.5,11A1.5,1.5 0 0,0 10,9.5A1.5,1.5 0 0,0 8.5,8A1.5,1.5 0 0,0 7,9.5A1.5,1.5 0 0,0 8.5,11M15.5,11A1.5,1.5 0 0,0 17,9.5A1.5,1.5 0 0,0 15.5,8A1.5,1.5 0 0,0 14,9.5A1.5,1.5 0 0,0 15.5,11M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z",
20
- "magnify": "M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z",
21
- "next": "M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z",
22
- "pin": "M16,12V4H17V2H7V4H8V12L6,14V16H11.2V22H12.8V16H18V14L16,12Z",
23
- "plus": "M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z",
24
- "plus-circle-outline": "M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M13,7H11V11H7V13H11V17H13V13H17V11H13V7Z",
25
- "previous": "M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z",
26
- "send": "M2,21L23,12L2,3V10L17,12L2,14V21Z",
27
- "video": "M17,10.5V7A1,1 0 0,0 16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5Z",
47
+ "attachment": mdiAttachment,
48
+ "back": mdiArrowLeft,
49
+ "close": mdiClose,
50
+ "close-circle": mdiCloseCircle,
51
+ "dots-vertical": mdiDotsVertical,
52
+ "download": mdiDownload,
53
+ "emoticon-plus": "M 19 0 L 19 3 L 16 3 L 16 5 L 19 5 L 19 8 L 21 8 L 21 5 L 24 5 L 24 3 L 21 3 L 21 0 L 19 0 z M 12 2 C 6.5 2 2 6.5 2 12 C 2 17.5 6.5 22 12 22 C 17.5 22 22 17.5 22 12 L 20 12 C 20 16.4 16.4 20 12 20 C 7.6 20 4 16.4 4 12 C 4 7.6 7.6 4 12 4 L 12 2 z M 8.5 8 C 7.7 8 7 8.7 7 9.5 C 7 10.3 7.7 11 8.5 11 C 9.3 11 10 10.3 10 9.5 C 10 8.7 9.3 8 8.5 8 z M 15.5 8 C 14.7 8 14 8.7 14 9.5 C 14 10.3 14.7 11 15.5 11 C 16.3 11 17 10.3 17 9.5 C 17 8.7 16.3 8 15.5 8 z M 6.9 14 C 7.7 16 9.7 17.5 12 17.5 C 14.3 17.5 16.3 16 17.1 14 L 6.9 14 z",
54
+ "fit-screen": mdiFitToScreen,
55
+ "fit-width": mdiFitToPage,
56
+ "magnify": mdiMagnify,
57
+ "minus": mdiMinus,
58
+ "next": mdiArrowRight,
59
+ "open-in-new": mdiOpenInNew,
60
+ "pin": mdiPin,
61
+ "plus": mdiPlus,
62
+ "plus-circle-outline": mdiPlusCircleOutline,
63
+ "previous": mdiArrowLeft,
64
+ "send": mdiSend,
65
+ "video": mdiVideo,
28
66
  // Files
29
- "email": "M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z",
30
- "file": "M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z",
31
- "file-music": "M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13,13H11V18A2,2 0 0,1 9,20A2,2 0 0,1 7,18A2,2 0 0,1 9,16C9.4,16 9.7,16.1 10,16.3V11H13V13M13,9V3.5L18.5,9H13Z",
32
- "file-image": "M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M6,20H15L18,20V12L14,16L12,14L6,20M8,9A2,2 0 0,0 6,11A2,2 0 0,0 8,13A2,2 0 0,0 10,11A2,2 0 0,0 8,9Z",
33
- "file-video": "M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M17,19V13L14,15.2V13H7V19H14V16.8L17,19Z",
34
- "file-xml": "M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M6.12,15.5L9.86,19.24L11.28,17.83L8.95,15.5L11.28,13.17L9.86,11.76L6.12,15.5M17.28,15.5L13.54,11.76L12.12,13.17L14.45,15.5L12.12,17.83L13.54,19.24L17.28,15.5Z",
35
- "file-document": "M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M15,18V16H6V18H15M18,14V12H6V14H18Z",
36
- "file-word": "M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M15.2,20H13.8L12,13.2L10.2,20H8.8L6.6,11H8.1L9.5,17.8L11.3,11H12.6L14.4,17.8L15.8,11H17.3L15.2,20M13,9V3.5L18.5,9H13Z",
37
- "file-excel": "M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M15.8,20H14L12,16.6L10,20H8.2L11.1,15.5L8.2,11H10L12,14.4L14,11H15.8L12.9,15.5L15.8,20M13,9V3.5L18.5,9H13Z",
38
- "file-pdf": "M12,10.5H13V13.5H12V10.5M7,11.5H8V10.5H7V11.5M20,6V18A2,2 0 0,1 18,20H6A2,2 0 0,1 4,18V6A2,2 0 0,1 6,4H18A2,2 0 0,1 20,6M9.5,10.5A1.5,1.5 0 0,0 8,9H5.5V15H7V13H8A1.5,1.5 0 0,0 9.5,11.5V10.5M14.5,10.5A1.5,1.5 0 0,0 13,9H10.5V15H13A1.5,1.5 0 0,0 14.5,13.5V10.5M18.5,9H15.5V15H17V13H18.5V11.5H17V10.5H18.5V9Z",
39
- "file-powerpoint": "M12.6,12.3H10.6V15.5H12.7C13.3,15.5 13.6,15.3 13.9,15C14.2,14.7 14.3,14.4 14.3,13.9C14.3,13.4 14.2,13.1 13.9,12.8C13.6,12.5 13.2,12.3 12.6,12.3M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M15.2,16C14.6,16.5 14.1,16.7 12.8,16.7H10.6V20H9V11H12.8C14.1,11 14.7,11.3 15.2,11.8C15.8,12.4 16,13 16,13.9C16,14.8 15.8,15.5 15.2,16M13,9V3.5L18.5,9H13Z",
40
- "file-document-box": "M14,17H7V15H14M17,13H7V11H17M17,9H7V7H17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z",
41
- "file-slide-box": "M19,16H5V8H19M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z",
42
- "file-sheet-box": "M19 3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.89 20.1 3 19 3M9 18H6V16H9V18M9 15H6V13H9V15M9 12H6V10H9V12M13 18H10V16H13V18M13 15H10V13H13V15M13 12H10V10H13V12Z",
43
- "file-compressed": "M14,17H12V15H10V13H12V15H14M14,9H12V11H14V13H12V11H10V9H12V7H10V5H12V7H14M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z",
67
+ "email": mdiEmail,
68
+ "file": mdiFile,
69
+ "file-music": mdiFileMusic,
70
+ "file-image": mdiFileImage,
71
+ "file-video": mdiFileVideo,
72
+ "file-code": mdiFileCode,
73
+ "file-xml": mdiFileCode,
74
+ "file-document": mdiFileDocument,
75
+ "file-word": mdiFileWord,
76
+ "file-excel": mdiFileExcel,
77
+ "file-pdf": mdiFileDocument,
78
+ "file-powerpoint": mdiFilePowerpoint,
79
+ "file-compressed": mdiFolderZip,
44
80
  // Providers
45
- "dropbox": "M3 6.2L8 9.39L13 6.2L8 3L3 6.2M13 6.2L18 9.39L23 6.2L18 3L13 6.2M3 12.55L8 15.74L13 12.55L8 9.35L3 12.55M18 9.35L13 12.55L18 15.74L23 12.55L18 9.35M8.03 16.8L13.04 20L18.04 16.8L13.04 13.61L8.03 16.8Z",
46
- "ondedrive": "M18.21 10.29Q19 10.34 19.7 10.68 20.39 11 20.9 11.57 21.41 12.12 21.71 12.83 22 13.54 22 14.34 22 15.18 21.68 15.92 21.36 16.66 20.8 17.21 20.25 17.76 19.5 18.08 18.78 18.41 17.94 18.41H7Q5.97 18.41 5.06 18 4.15 17.61 3.47 16.94 2.79 16.26 2.4 15.35 2 14.44 2 13.41 2 12.59 2.26 11.83 2.5 11.08 3 10.45 3.44 9.82 4.08 9.35 4.72 8.88 5.5 8.63 5.87 8.5 6.21 8.5 6.56 8.43 6.93 8.41H6.94Q7.37 7.75 7.95 7.23 8.5 6.71 9.2 6.34 9.87 6 10.62 5.78 11.37 5.59 12.16 5.59 13.22 5.59 14.2 5.94 15.18 6.29 16 6.91 16.8 7.53 17.37 8.39 17.95 9.26 18.21 10.29M12.16 6.84Q11.05 6.84 10.06 7.3 9.06 7.75 8.36 8.6 8.73 8.7 9.07 8.85 9.4 9 9.73 9.2L13.71 11.58L16 10.62Q16.21 10.53 16.44 10.45 16.67 10.38 16.92 10.33 16.68 9.55 16.21 8.91 15.74 8.27 15.11 7.81 14.5 7.35 13.73 7.1 13 6.84 12.16 6.84M4 15.66L12.27 12.18L9.08 10.26Q8.59 9.97 8.06 9.81 7.5 9.66 6.95 9.66 6.19 9.66 5.5 9.96 4.84 10.26 4.34 10.77 3.84 11.29 3.54 11.97 3.25 12.65 3.25 13.41 3.25 14 3.45 14.59 3.64 15.19 4 15.66M17.94 17.16Q18.41 17.16 18.84 17 19.27 16.86 19.64 16.58L13.61 13L5.03 16.59Q5.47 16.86 5.97 17 6.47 17.16 7 17.16M20.45 15.61Q20.75 15 20.75 14.34 20.75 13.7 20.5 13.17 20.26 12.65 19.85 12.28 19.43 11.91 18.88 11.71 18.32 11.5 17.7 11.5 17.35 11.5 17 11.6 16.66 11.68 16.33 11.81 16 11.93 15.67 12.08 15.35 12.23 15.04 12.37Z",
47
- "box": "M15.39,14.04V14.04C15.39,12.62 14.24,11.47 12.82,11.47C11.41,11.47 10.26,12.62 10.26,14.04V14.04C10.26,15.45 11.41,16.6 12.82,16.6C14.24,16.6 15.39,15.45 15.39,14.04M17.1,14.04C17.1,16.4 15.18,18.31 12.82,18.31C11.19,18.31 9.77,17.39 9.05,16.04C8.33,17.39 6.91,18.31 5.28,18.31C2.94,18.31 1.04,16.43 1,14.11V14.11H1V7H1V7C1,6.56 1.39,6.18 1.86,6.18C2.33,6.18 2.7,6.56 2.71,7V7H2.71V10.62C3.43,10.08 4.32,9.76 5.28,9.76C6.91,9.76 8.33,10.68 9.05,12.03C9.77,10.68 11.19,9.76 12.82,9.76C15.18,9.76 17.1,11.68 17.1,14.04V14.04M7.84,14.04V14.04C7.84,12.62 6.69,11.47 5.28,11.47C3.86,11.47 2.71,12.62 2.71,14.04V14.04C2.71,15.45 3.86,16.6 5.28,16.6C6.69,16.6 7.84,15.45 7.84,14.04M22.84,16.96V16.96C22.95,17.12 23,17.3 23,17.47C23,17.73 22.88,18 22.66,18.15C22.5,18.26 22.33,18.32 22.15,18.32C21.9,18.32 21.65,18.21 21.5,18L19.59,15.47L17.7,18V18C17.53,18.21 17.28,18.32 17.03,18.32C16.85,18.32 16.67,18.26 16.5,18.15C16.29,18 16.17,17.72 16.17,17.46C16.17,17.29 16.23,17.11 16.33,16.96V16.96H16.33V16.96L18.5,14.04L16.33,11.11V11.11H16.33V11.11C16.22,10.96 16.17,10.79 16.17,10.61C16.17,10.35 16.29,10.1 16.5,9.93C16.89,9.65 17.41,9.72 17.7,10.09V10.09L19.59,12.61L21.5,10.09C21.76,9.72 22.29,9.65 22.66,9.93C22.89,10.1 23,10.36 23,10.63C23,10.8 22.95,10.97 22.84,11.11V11.11H22.84V11.11L20.66,14.04L22.84,16.96V16.96H22.84Z",
48
- "google-drive": "M7.71,3.5L1.15,15L4.58,21L11.13,9.5M9.73,15L6.3,21H19.42L22.85,15M22.28,14L15.42,2H8.58L8.57,2L15.43,14H22.28Z",
81
+ "dropbox": mdiDropbox,
82
+ "ondedrive": mdiMicrosoftOnedrive,
83
+ "box": mdiBox,
84
+ "google-drive": mdiGoogleDrive,
49
85
  "zoom": "m12 2c-5.6 0-10 4.5-10 10 0 5.6 4.5 10 10 10 5.5 0 9.9-4.5 9.9-10 .1-5.6-4.4-10-9.9-10zm2.6 13.1c0 .2-.1.3-.3.3h-6.9c-1.1 0-1.9-.8-1.9-1.9v-4.6c0-.2.1-.3.3-.3h6.9c1 0 1.9.8 1.9 1.9zm3.8.1c0 .4-.2.4-.5.2l-2.8-2.1v-2.6l2.8-2.1c.2-.2.5-.1.5.2z",
50
- "cloud": "M19.35,10.03C18.67,6.59 15.64,4 12,4C9.11,4 6.6,5.64 5.35,8.03C2.34,8.36 0,10.9 0,14A6,6 0 0,0 6,20H19A5,5 0 0,0 24,15C24,12.36 21.95,10.22 19.35,10.03Z"
86
+ "cloud": mdiCloud
51
87
  }
52
88
 
53
89
 
@@ -67,9 +103,9 @@ const Icon = ({ name, color = "", size, ...props }: Props) => {
67
103
  let overlayPath = getIconOverlay(name);
68
104
 
69
105
  return (
70
- <span className={wy('icon ' + color)} style={{width: size && (size * 1.5 + "rem"), height: size && (size * 1.5 + "rem")}} { ...props }>
106
+ <span className={'wy-icon ' + color} style={{width: size && (size * 1.5 + "rem"), height: size && (size * 1.5 + "rem")}} { ...props }>
71
107
  {iconPath ? <MdiIcon.Icon color={color} path={iconPath} size={size} /> : name }
72
- {overlayPath && <MdiIcon.Icon color={color} path={overlayPath} className={wy('icon-overlay')} size={(size || 1) / 2} /> }
108
+ {overlayPath && <MdiIcon.Icon color={color} path={overlayPath} className="wy-icon-overlay" size={(size || 1) / 2} /> }
73
109
  </span>
74
110
  );
75
111
  }
@@ -1,7 +1,6 @@
1
1
  import React, { useState } from 'react';
2
2
  import Modal, { Styles } from 'react-modal';
3
3
  import classNames from 'classnames';
4
- import { prefix as wy } from "../utils/styles";
5
4
 
6
5
  type OverlayProps = {
7
6
  children: React.ReactNode,
@@ -26,8 +25,8 @@ const customStyles = {
26
25
  ariaHideApp={false}
27
26
  onAfterOpen={() => { setModalShowing(true)} }
28
27
  onRequestClose={() => { setModalShowing(false)}}
29
- className={classNames(wy("panel overlay transition"), className, {[wy("open")]: modalShowing})}
30
- overlayClassName={wy('overlays viewport')}
28
+ className={classNames("wy-panel wy-overlay wy-transition", className, {"wy-open": modalShowing})}
29
+ overlayClassName="wy-overlays wy-viewport"
31
30
  contentLabel="Example Modal"
32
31
  style={style}
33
32
  >
@@ -1,3 +1,5 @@
1
+ import { isConstructorDeclaration } from "typescript";
2
+
1
3
  export const fileSizeAsString = (size: number) => {
2
4
  var s = size;
3
5
  var format = [" B", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB"];
@@ -9,7 +11,11 @@ export const fileSizeAsString = (size: number) => {
9
11
  return s.toLocaleString() + format[i];
10
12
  }
11
13
 
12
- const isAudio = (ext: string) => {
14
+ export function getExtension (name: string) {
15
+ return name.substring(name.lastIndexOf('.') , name.length) || name;
16
+ }
17
+
18
+ export function isAudio (ext: string) {
13
19
  switch (ext) {
14
20
  case ".aac":
15
21
  case ".aif":
@@ -35,7 +41,7 @@ const isAudio = (ext: string) => {
35
41
  }
36
42
  }
37
43
 
38
- const isImage = (ext: string) => {
44
+ export function isImage (ext: string) {
39
45
  switch (ext) {
40
46
  case ".ai":
41
47
  case ".apng":
@@ -60,7 +66,54 @@ const isImage = (ext: string) => {
60
66
  }
61
67
  }
62
68
 
63
- const isVideo = (ext: string) => {
69
+ export function isWebImage (path: string) {
70
+ // see https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Image_types
71
+ var ext = getExtension(path);
72
+ switch (ext) {
73
+ case ".apng":
74
+ case ".bmp":
75
+ case ".gif":
76
+ case ".ico":
77
+ case ".jpg":
78
+ case ".jpeg":
79
+ case ".png":
80
+ case ".svg":
81
+ case ".webp":
82
+ return true;
83
+ default:
84
+ return false;
85
+ }
86
+ }
87
+
88
+ export function isBitmap(path: string) {
89
+ var ext = getExtension(path);
90
+ switch (ext) {
91
+ case ".bmp":
92
+ case ".gif":
93
+ case ".ico":
94
+ case ".jpg":
95
+ case ".jpeg":
96
+ case ".png":
97
+ case ".tif":
98
+ case ".tiff":
99
+ return true;
100
+ default:
101
+ return false;
102
+ }
103
+ }
104
+
105
+ export function isMetaFile(path: string) {
106
+ var ext = getExtension(path);
107
+ switch (ext) {
108
+ case ".emf":
109
+ case ".wmf":
110
+ return true;
111
+ default:
112
+ return false;
113
+ }
114
+ }
115
+
116
+ export function isVideo (ext: string) {
64
117
  switch (ext) {
65
118
  case ".3g2":
66
119
  case ".asx":
@@ -91,7 +144,7 @@ const isVideo = (ext: string) => {
91
144
  }
92
145
  }
93
146
 
94
- const isMarkup = (ext: string) => {
147
+ export function isMarkup (ext: string) {
95
148
  switch (ext) {
96
149
  case ".htm":
97
150
  case ".html":
@@ -103,91 +156,219 @@ const isMarkup = (ext: string) => {
103
156
  }
104
157
  }
105
158
 
106
- const isText = (ext: string) => {
159
+ export function isCode (ext: string) {
160
+ if (isMarkup(ext)) {
161
+ return true;
162
+ }
107
163
  switch (ext) {
108
164
  case ".as":
109
- case ".as3":
110
- case ".asm":
111
- case ".aspx":
112
- case ".bat":
113
- case ".c":
114
- case ".cc":
115
- case ".cmake":
116
- case ".coffee":
117
- case ".cpp":
118
- case ".cs":
119
- case ".css":
120
- case ".cxx":
121
- case ".diff":
122
- case ".erb":
123
- case ".erl":
124
- case ".groovy":
125
- case ".gvy":
126
- case ".h":
127
- case ".haml":
128
- case ".hh":
129
- case ".hpp":
130
- case ".html":
131
- case ".hxx":
132
- case ".java":
133
- case ".js":
134
- case ".json":
135
- case ".jsx":
136
- case ".less":
137
- case ".lst":
138
- case ".m":
139
- case ".make":
140
- case ".markdown":
141
- case ".md":
142
- case ".mdown":
143
- case ".mkdn":
144
- case ".ml":
145
- case ".mm":
146
- case ".out":
147
- case ".patch":
148
- case ".php":
149
- case ".pl":
150
- case ".plist":
151
- case ".properties":
152
- case ".py":
153
- case ".rb":
154
- case ".sass":
155
- case ".scala":
156
- case ".scm":
157
- case ".script":
158
- case ".scss":
159
- case ".sh":
160
- case ".sml":
161
- case ".sql":
162
- case ".txt":
163
- case ".vb":
164
- case ".vi":
165
- case ".vim":
166
- case ".xhtml":
167
- case ".xml":
168
- case ".xsd":
169
- case ".xsl":
170
- case ".yaml":
171
- case ".yml":
165
+ case ".as3":
166
+ case ".asm":
167
+ case ".aspx":
168
+ case ".bat":
169
+ case ".c":
170
+ case ".cc":
171
+ case ".cmake":
172
+ case ".coffee":
173
+ case ".cpp":
174
+ case ".cs":
175
+ case ".css":
176
+ case ".cxx":
177
+ case ".diff":
178
+ case ".erb":
179
+ case ".erl":
180
+ case ".groovy":
181
+ case ".gvy":
182
+ case ".h":
183
+ case ".haml":
184
+ case ".hh":
185
+ case ".hpp":
186
+ case ".hxx":
187
+ case ".java":
188
+ case ".js":
189
+ case ".json":
190
+ case ".jsx":
191
+ case ".less":
192
+ case ".lst":
193
+ case ".m":
194
+ case ".make":
195
+ case ".markdown":
196
+ case ".md":
197
+ case ".mdown":
198
+ case ".mkdn":
199
+ case ".ml":
200
+ case ".mm":
201
+ case ".out":
202
+ case ".patch":
203
+ case ".php":
204
+ case ".pl":
205
+ case ".plist":
206
+ case ".properties":
207
+ case ".py":
208
+ case ".rb":
209
+ case ".sass":
210
+ case ".scala":
211
+ case ".scm":
212
+ case ".script":
213
+ case ".scss":
214
+ case ".sh":
215
+ case ".sml":
216
+ case ".sql":
217
+ case ".vb":
218
+ case ".vi":
219
+ case ".vim":
220
+ case ".xsd":
221
+ case ".xsl":
222
+ case ".yaml":
223
+ case ".yml":
172
224
  return true;
173
225
  default:
174
226
  return false;
175
227
  }
176
228
  }
177
229
 
178
- export const getIcon = (name: string, mediaType?: string): { icon: string, color?: string } => {
179
- var ext = name.substring(name.lastIndexOf('.') , name.length) || name;
230
+ export function isText (ext: string) {
231
+ if (isCode(ext)) {
232
+ return true;
233
+ }
234
+ switch (ext) {
235
+ case ".txt":
236
+ return true;
237
+ default:
238
+ return false;
239
+ }
240
+
241
+ }
242
+ export function isOfficeDocument(path: string) {
243
+ var ext = getExtension(path);
244
+ switch (ext) {
245
+ case ".doc":
246
+ case ".docm":
247
+ case ".docx":
248
+ case ".dotm":
249
+ case ".dotx":
250
+ case ".ppt":
251
+ case ".pptm":
252
+ case ".pptx":
253
+ case ".potx":
254
+ case ".xls":
255
+ case ".xlsm":
256
+ case ".xlsx":
257
+ case ".xltx":
258
+ return true;
259
+ default:
260
+ return false;
261
+ }
262
+ }
263
+
264
+ export function canResize(path:string) {
265
+ return isBitmap(path) || isMetaFile(path);
266
+ }
267
+
268
+ export function canConvertToImage (filename: string) {
269
+ var ext = getExtension(filename);
270
+ if (canResize(ext) || isText(ext)) {
271
+ return true;
272
+ }
273
+ switch (ext) {
274
+ case ".ai":
275
+ case ".csv":
276
+ case ".doc":
277
+ case ".docm":
278
+ case ".docx":
279
+ case ".dot":
280
+ case ".dotm":
281
+ case ".dotx":
282
+ case ".eml":
283
+ case ".eps":
284
+ case ".msg":
285
+ case ".odp":
286
+ case ".ods":
287
+ case ".odt":
288
+ case ".ott":
289
+ case ".pdf":
290
+ case ".potm":
291
+ case ".potx":
292
+ case ".ppt":
293
+ case ".pptx":
294
+ case ".pps":
295
+ case ".ppsx":
296
+ case ".pptm":
297
+ case ".ppsm":
298
+ case ".psd":
299
+ case ".rtf":
300
+ case ".svg":
301
+ case ".xls":
302
+ case ".xlsb":
303
+ case ".xlsm":
304
+ case ".xlsx":
305
+ case ".xltm":
306
+ case ".xltx":
307
+ case ".webp":
308
+ return true;
309
+ default:
310
+ return false;
311
+ }
312
+ }
313
+
314
+ export function canConvertToPdf (filename: string) {
315
+ var ext = getExtension(filename);
316
+ switch (ext) {
317
+ case ".ai":
318
+ case ".doc":
319
+ case ".docm":
320
+ case ".docx":
321
+ case ".dot":
322
+ case ".dotm":
323
+ case ".dotx":
324
+ case ".eml":
325
+ case ".html":
326
+ case ".mhtml":
327
+ case ".msg":
328
+ case ".odt":
329
+ case ".ott":
330
+ case ".pdf":
331
+ case ".rtf":
332
+ case ".txt":
333
+ case ".xml":
334
+ case ".xls":
335
+ case ".xlsb":
336
+ case ".xlsm":
337
+ case ".xlsx":
338
+ case ".xltm":
339
+ case ".xltx":
340
+ case ".ods":
341
+ case ".csv":
342
+ case ".ppt":
343
+ case ".pptx":
344
+ case ".pps":
345
+ case ".ppsx":
346
+ case ".pptm":
347
+ case ".ppsm":
348
+ case ".potx":
349
+ case ".potm":
350
+ case ".odp":
351
+ return true;
352
+ default:
353
+ return false;
354
+ }
355
+ }
356
+
357
+ export function getIcon (name: string, mediaType?: string): { icon: string, color?: string } {
358
+ var ext = getExtension(name);
180
359
 
181
360
  if (ext === "") return { icon: "file" };
182
361
 
183
362
  if (isAudio(ext)) {
184
- return { icon: "file", color: "indigo" };
363
+ return { icon: "file-music", color: "indigo" };
185
364
  } else if (isImage(ext)) {
186
365
  return { icon: "file-image", color: "cyan" };
187
366
  } else if (isVideo(ext)) {
188
- return { icon: "file-image", color: "pink" };
367
+ return { icon: "file-video", color: "pink" };
189
368
  } else if (isMarkup(ext)) {
190
369
  return { icon: "file-xml", color: "purple" };
370
+ } else if (isCode(ext)) {
371
+ return { icon: "file-code", color: "purple" };
191
372
  } else if (isText(ext)) {
192
373
  return { icon: "file-document" };
193
374
  } else{
@@ -227,4 +408,31 @@ export const getIcon = (name: string, mediaType?: string): { icon: string, color
227
408
 
228
409
  // fallback
229
410
  return { icon: "file" };
411
+ }
412
+
413
+ export function getPreviewFormat(filename:string): PreviewFormatType {
414
+ var ext = getExtension(filename);
415
+ if (isCode(ext)) {
416
+ //return "code";
417
+ }
418
+ if (isText(ext)) {
419
+ return "text";
420
+ }
421
+ if (isWebImage(ext)) {
422
+ return "image";
423
+ }
424
+ if (isVideo(ext)) {
425
+ return "video";
426
+ }
427
+ if (isAudio(ext)) {
428
+ return "audio";
429
+ }
430
+ if (canConvertToPdf(ext)) {
431
+ return "document";
432
+ }
433
+ if (canConvertToImage(ext)) {
434
+ return "image";
435
+ }
436
+
437
+ return "none";
230
438
  }
@@ -1,5 +1,3 @@
1
- import { prefix } from "./styles";
2
-
3
1
  // SCROLLBAR DETECTION
4
2
 
5
3
  /**
@@ -20,9 +18,9 @@ export function checkScrollbar(entries) {
20
18
  overflowWidth = element === document.documentElement ? window.innerWidth : element.clientWidth;
21
19
  if (overflowWidth !== element.offsetWidth) {
22
20
  // we have visible scrollbars, add .scrollbar to html element
23
- scrollbarClassnameTarget.classList.add(prefix("scrollbars"));
21
+ scrollbarClassnameTarget.classList.add("wy-scrollbars");
24
22
  } else {
25
- scrollbarClassnameTarget.classList.remove(prefix("scrollbars"));
23
+ scrollbarClassnameTarget.classList.remove("wy-scrollbars");
26
24
  }
27
25
  } catch (e) {
28
26
  console.warn("scrollbar detection failed", e);
@@ -35,12 +33,12 @@ export function checkScrollbar(entries) {
35
33
  */
36
34
  export default function observeScrollbars() {
37
35
  // insert scrollbar detection element
38
- var scrollCheck = document.getElementById(prefix("scrollbar-detection"));
36
+ var scrollCheck = document.getElementById("wy-scrollbar-detection");
39
37
 
40
38
  if (!scrollCheck) {
41
39
  scrollCheck = document.createElement("aside");
42
- scrollCheck.id = prefix("scrollbar-detection");
43
- scrollCheck.className = prefix("scrollbar-detection");
40
+ scrollCheck.id = "wy-scrollbar-detection";
41
+ scrollCheck.className = "wy-scrollbar-detection";
44
42
  document.documentElement.insertBefore(scrollCheck, document.body);
45
43
  }
46
44
 
@@ -1,17 +0,0 @@
1
- /**
2
- * Sets the prefix for CSS classes on the HTML element for usage in javascript.
3
- * @param {string} prefix
4
- */
5
- export declare function setPrefix(prefix: string): void;
6
- /**
7
- * Prefixes one or more classnames (with or without dot or double dash) using the themePrefix
8
- * @param {...string} strs
9
- * @returns string[]
10
- */
11
- export declare function prefixes(...strs: string[]): string[];
12
- /**
13
- * Prefixes a classname string (containing one or multiple space-separated classnames, with or without dot or double dash) using the themePrefix
14
- * @param {string} str
15
- * @returns string
16
- */
17
- export declare function prefix(str: string): string;
@@ -1,17 +0,0 @@
1
- /**
2
- * Sets the prefix for CSS classes on the HTML element for usage in javascript.
3
- * @param {string} prefix
4
- */
5
- export declare function setPrefix(prefix: string): void;
6
- /**
7
- * Prefixes one or more classnames (with or without dot or double dash) using the themePrefix
8
- * @param {...string} strs
9
- * @returns string[]
10
- */
11
- export declare function prefixes(...strs: string[]): string[];
12
- /**
13
- * Prefixes a classname string (containing one or multiple space-separated classnames, with or without dot or double dash) using the themePrefix
14
- * @param {string} str
15
- * @returns string
16
- */
17
- export declare function prefix(str: string): string;