@fonixtree/magic-design 1.0.4 → 2.0.2

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 (237) hide show
  1. package/es/assets/fonts/magic-box-iconfont.css +47 -3
  2. package/es/assets/fonts/magic-box-iconfont.css.bak +47 -3
  3. package/es/assets/fonts/magic-box-iconfont.js +1 -1
  4. package/es/assets/fonts/magic-box-iconfont.js.bak +1 -1
  5. package/es/assets/fonts/magic-box-iconfont.ttf +0 -0
  6. package/es/assets/fonts/magic-box-iconfont.woff +0 -0
  7. package/es/assets/fonts/magic-box-iconfont.woff2 +0 -0
  8. package/es/assets/less/slider.less +49 -1
  9. package/es/common/ImageModal/index.js +35 -2
  10. package/es/common/ImagePicker/index.js +69 -9
  11. package/es/common/ImagePicker/index.less +1 -0
  12. package/es/common/LinkModal/AffiliateProductTable/index.js +348 -0
  13. package/es/common/LinkModal/index.js +6 -0
  14. package/es/composite-comp/bol/components/Banner/defaultJSON.js +1 -1
  15. package/es/composite-comp/bol/components/Banner/index.js +15 -1
  16. package/es/composite-comp/bol/components/Banner/mobile/index.js +1 -4
  17. package/es/composite-comp/bol/components/Banner/mobile/index.less +52 -78
  18. package/es/composite-comp/bol/components/Banner/pc/index.js +1 -4
  19. package/es/composite-comp/bol/components/Button/index.js +3 -4
  20. package/es/composite-comp/bol/components/Carousel/mobile/index.js +1 -4
  21. package/es/composite-comp/bol/components/Carousel/mobile/index.less +81 -100
  22. package/es/composite-comp/bol/components/Carousel/pc/index.js +1 -4
  23. package/es/composite-comp/bol/components/ImageGallery/mobile/index.js +1 -4
  24. package/es/composite-comp/bol/components/ImageGallery/mobile/index.less +15 -22
  25. package/es/composite-comp/bol/components/ImageGallery/pc/index.js +3 -4
  26. package/es/composite-comp/bol/components/ImageText/defaultJSON.js +11 -2
  27. package/es/composite-comp/bol/components/ImageText/mobile/index.js +1 -4
  28. package/es/composite-comp/bol/components/ImageText/mobile/index.less +233 -292
  29. package/es/composite-comp/bol/components/ImageText/pc/index.js +3 -4
  30. package/es/composite-comp/bol/components/Newsletter/index.js +1 -4
  31. package/es/composite-comp/bol/components/Tag/index.js +3 -4
  32. package/es/composite-comp/bol/components/Text/index.js +3 -4
  33. package/es/composite-comp/bol/components/Video/components/VideoTag/index.js +49 -10
  34. package/es/composite-comp/bol/components/Video/components/VideoTag/index.less +5 -5
  35. package/es/composite-comp/bol/components/Video/defaultJSON.js +10 -0
  36. package/es/composite-comp/bol/components/Video/index.js +23 -1
  37. package/es/composite-comp/bol/components/Video/mobile/Layout1/index.js +9 -12
  38. package/es/composite-comp/bol/components/Video/mobile/Layout1/index.less +21 -27
  39. package/es/composite-comp/bol/components/Video/mobile/Layout2/index.js +8 -11
  40. package/es/composite-comp/bol/components/Video/mobile/Layout2/index.less +36 -45
  41. package/es/composite-comp/bol/components/Video/mobile/Layout3/index.js +9 -11
  42. package/es/composite-comp/bol/components/Video/mobile/Layout3/index.less +43 -50
  43. package/es/composite-comp/bol/components/Video/mobile/index.js +8 -49
  44. package/es/composite-comp/bol/components/Video/mobile/index.less +2 -3
  45. package/es/composite-comp/bol/components/Video/pc/Layout1/index.js +9 -12
  46. package/es/composite-comp/bol/components/Video/pc/Layout1/index.less +2 -2
  47. package/es/composite-comp/bol/components/Video/pc/Layout2/index.js +15 -16
  48. package/es/composite-comp/bol/components/Video/pc/Layout2/index.less +4 -4
  49. package/es/composite-comp/bol/components/Video/pc/Layout3/index.js +8 -11
  50. package/es/composite-comp/bol/components/Video/pc/Layout3/index.less +2 -2
  51. package/es/composite-comp/bol/components/Video/pc/Layout4/index.js +9 -12
  52. package/es/composite-comp/bol/components/Video/pc/Layout4/index.less +5 -4
  53. package/es/composite-comp/bol/components/Video/pc/Layout5/index.js +9 -12
  54. package/es/composite-comp/bol/components/Video/pc/Layout5/index.less +12 -10
  55. package/es/composite-comp/bol/components/Wallet/mobile/index.js +1 -4
  56. package/es/composite-comp/bol/components/Wallet/mobile/index.less +27 -40
  57. package/es/composite-comp/bol/components/Wallet/pc/index.js +1 -4
  58. package/es/composite-comp/bol/config-panels/BannerConfig/BannerConfigGroup/index.js +4 -0
  59. package/es/composite-comp/bol/config-panels/CarouselConfig/CarouselConfigImageGroup/index.js +1 -1
  60. package/es/composite-comp/bol/config-panels/ImageGalleryConfig/ImageGalleryConfigImageGroup/index.js +1 -1
  61. package/es/composite-comp/bol/config-panels/VideoConfig/VideoShareConfig/index.js +12 -2
  62. package/es/composite-comp/bol/config-panels/VideoConfig/index.js +3 -1
  63. package/es/composite-comp/bol/second-config-panels/VideoSecondConfig/index.js +10 -1
  64. package/es/composite-comp/common/config-panels/BackgroundConfig/index.js +12 -2
  65. package/es/composite-comp/common/config-panels/CustomizeConfig/index.js +5 -3
  66. package/es/composite-comp/dito/components/FlashDeal/mobile/index.less +83 -97
  67. package/es/composite-comp/dito/components/MobileNavigation/mobile/index.less +18 -35
  68. package/es/composite-comp/dito/components/Recommend/mobile/index.less +73 -86
  69. package/es/composite-comp/dito/components/SearchBar/mobile/index.less +45 -52
  70. package/es/composite-comp/dito/components/SignBoard/mobile/index.less +76 -80
  71. package/es/constants/index.js +4 -2
  72. package/es/core/Designer/AiImageGenerator/GenerateArtist/images/back1.png +0 -0
  73. package/es/core/Designer/AiImageGenerator/GenerateArtist/images/back2.png +0 -0
  74. package/es/core/Designer/AiImageGenerator/GenerateArtist/images/back3.png +0 -0
  75. package/es/core/Designer/AiImageGenerator/GenerateArtist/images/back4.png +0 -0
  76. package/es/core/Designer/AiImageGenerator/GenerateArtist/index.js +72 -0
  77. package/es/core/Designer/AiImageGenerator/GenerateArtist/index.less +41 -0
  78. package/es/core/Designer/AiImageGenerator/GenerateSize/index.js +43 -0
  79. package/es/core/Designer/AiImageGenerator/GenerateSize/index.less +3 -0
  80. package/es/core/Designer/AiImageGenerator/History/index.js +141 -0
  81. package/es/core/Designer/AiImageGenerator/History/index.less +69 -0
  82. package/es/core/Designer/AiImageGenerator/UploadReference/index.js +45 -0
  83. package/es/core/Designer/AiImageGenerator/UploadReference/index.less +39 -0
  84. package/es/core/Designer/AiImageGenerator/images/nodata.png +0 -0
  85. package/es/core/Designer/AiImageGenerator/index.js +711 -0
  86. package/es/core/Designer/AiImageGenerator/index.less +140 -0
  87. package/es/core/Designer/ChatRobot/components/CopyBtn/index.js +49 -0
  88. package/es/core/Designer/ChatRobot/components/CopyBtn/index.less +0 -0
  89. package/es/core/Designer/ChatRobot/index.js +321 -0
  90. package/es/core/Designer/ChatRobot/index.less +130 -0
  91. package/es/core/Designer/ChatRobot/markdown.less +1 -0
  92. package/es/core/Designer/FonixtreeGpt/index.js +160 -0
  93. package/es/core/Designer/index.js +27 -8
  94. package/es/decorator/metaDecorator.js +1 -1
  95. package/es/locale/en/en.json +5 -0
  96. package/es/locale/es/es.json +5 -0
  97. package/es/locale/id/id.json +5 -0
  98. package/es/meta-comp/config-panels/ImageConfig/index.js +32 -11
  99. package/es/meta-comp/config-panels/PlayIconConfig/PlaySvg/images/dark-playicon-01.svg +4 -0
  100. package/es/meta-comp/config-panels/PlayIconConfig/PlaySvg/images/dark-playicon-02.svg +4 -0
  101. package/es/meta-comp/config-panels/PlayIconConfig/PlaySvg/images/dark-playicon-03.svg +4 -0
  102. package/es/meta-comp/config-panels/PlayIconConfig/PlaySvg/images/dark-playicon-04.svg +4 -0
  103. package/es/meta-comp/config-panels/PlayIconConfig/PlaySvg/images/dark-playicon-05.svg +3 -0
  104. package/es/meta-comp/config-panels/PlayIconConfig/PlaySvg/images/light-playicon-01.svg +4 -0
  105. package/es/meta-comp/config-panels/PlayIconConfig/PlaySvg/images/light-playicon-02.svg +4 -0
  106. package/es/meta-comp/config-panels/PlayIconConfig/PlaySvg/images/light-playicon-03.svg +4 -0
  107. package/es/meta-comp/config-panels/PlayIconConfig/PlaySvg/images/light-playicon-04.svg +4 -0
  108. package/es/meta-comp/config-panels/PlayIconConfig/PlaySvg/images/light-playicon-05.svg +3 -0
  109. package/es/meta-comp/config-panels/PlayIconConfig/PlaySvg/index.js +63 -0
  110. package/es/meta-comp/config-panels/PlayIconConfig/index.js +211 -0
  111. package/es/meta-comp/config-panels/PlayIconConfig/index.less +37 -2
  112. package/es/meta-comp/config-panels/TextConfig/index.js +5 -1
  113. package/es/mobx/Store.js +3 -0
  114. package/es/utils/androidUtil.js +2 -1
  115. package/es/utils/businessUtil.js +13 -0
  116. package/es/utils/commonUtil.js +142 -34
  117. package/es/utils/coreUtil.js +3 -4
  118. package/lib/assets/fonts/magic-box-iconfont.css +47 -3
  119. package/lib/assets/fonts/magic-box-iconfont.css.bak +47 -3
  120. package/lib/assets/fonts/magic-box-iconfont.js +1 -1
  121. package/lib/assets/fonts/magic-box-iconfont.js.bak +1 -1
  122. package/lib/assets/fonts/magic-box-iconfont.ttf +0 -0
  123. package/lib/assets/fonts/magic-box-iconfont.woff +0 -0
  124. package/lib/assets/fonts/magic-box-iconfont.woff2 +0 -0
  125. package/lib/assets/less/slider.less +49 -1
  126. package/lib/common/ImageModal/index.js +35 -2
  127. package/lib/common/ImagePicker/index.js +69 -9
  128. package/lib/common/ImagePicker/index.less +1 -0
  129. package/lib/common/LinkModal/AffiliateProductTable/index.js +348 -0
  130. package/lib/common/LinkModal/index.js +6 -0
  131. package/lib/composite-comp/bol/components/Banner/defaultJSON.js +1 -1
  132. package/lib/composite-comp/bol/components/Banner/index.js +15 -1
  133. package/lib/composite-comp/bol/components/Banner/mobile/index.js +1 -4
  134. package/lib/composite-comp/bol/components/Banner/mobile/index.less +52 -78
  135. package/lib/composite-comp/bol/components/Banner/pc/index.js +1 -4
  136. package/lib/composite-comp/bol/components/Button/index.js +3 -4
  137. package/lib/composite-comp/bol/components/Carousel/mobile/index.js +1 -4
  138. package/lib/composite-comp/bol/components/Carousel/mobile/index.less +81 -100
  139. package/lib/composite-comp/bol/components/Carousel/pc/index.js +1 -4
  140. package/lib/composite-comp/bol/components/ImageGallery/mobile/index.js +1 -4
  141. package/lib/composite-comp/bol/components/ImageGallery/mobile/index.less +15 -22
  142. package/lib/composite-comp/bol/components/ImageGallery/pc/index.js +3 -4
  143. package/lib/composite-comp/bol/components/ImageText/defaultJSON.js +11 -2
  144. package/lib/composite-comp/bol/components/ImageText/mobile/index.js +1 -4
  145. package/lib/composite-comp/bol/components/ImageText/mobile/index.less +233 -292
  146. package/lib/composite-comp/bol/components/ImageText/pc/index.js +3 -4
  147. package/lib/composite-comp/bol/components/Newsletter/index.js +1 -4
  148. package/lib/composite-comp/bol/components/Tag/index.js +3 -4
  149. package/lib/composite-comp/bol/components/Text/index.js +3 -4
  150. package/lib/composite-comp/bol/components/Video/components/VideoTag/index.js +49 -10
  151. package/lib/composite-comp/bol/components/Video/components/VideoTag/index.less +5 -5
  152. package/lib/composite-comp/bol/components/Video/defaultJSON.js +10 -0
  153. package/lib/composite-comp/bol/components/Video/index.js +23 -1
  154. package/lib/composite-comp/bol/components/Video/mobile/Layout1/index.js +9 -12
  155. package/lib/composite-comp/bol/components/Video/mobile/Layout1/index.less +21 -27
  156. package/lib/composite-comp/bol/components/Video/mobile/Layout2/index.js +8 -11
  157. package/lib/composite-comp/bol/components/Video/mobile/Layout2/index.less +36 -45
  158. package/lib/composite-comp/bol/components/Video/mobile/Layout3/index.js +9 -11
  159. package/lib/composite-comp/bol/components/Video/mobile/Layout3/index.less +43 -50
  160. package/lib/composite-comp/bol/components/Video/mobile/index.js +8 -49
  161. package/lib/composite-comp/bol/components/Video/mobile/index.less +2 -3
  162. package/lib/composite-comp/bol/components/Video/pc/Layout1/index.js +9 -12
  163. package/lib/composite-comp/bol/components/Video/pc/Layout1/index.less +2 -2
  164. package/lib/composite-comp/bol/components/Video/pc/Layout2/index.js +15 -16
  165. package/lib/composite-comp/bol/components/Video/pc/Layout2/index.less +4 -4
  166. package/lib/composite-comp/bol/components/Video/pc/Layout3/index.js +8 -11
  167. package/lib/composite-comp/bol/components/Video/pc/Layout3/index.less +2 -2
  168. package/lib/composite-comp/bol/components/Video/pc/Layout4/index.js +9 -12
  169. package/lib/composite-comp/bol/components/Video/pc/Layout4/index.less +5 -4
  170. package/lib/composite-comp/bol/components/Video/pc/Layout5/index.js +9 -12
  171. package/lib/composite-comp/bol/components/Video/pc/Layout5/index.less +12 -10
  172. package/lib/composite-comp/bol/components/Wallet/mobile/index.js +1 -4
  173. package/lib/composite-comp/bol/components/Wallet/mobile/index.less +27 -40
  174. package/lib/composite-comp/bol/components/Wallet/pc/index.js +1 -4
  175. package/lib/composite-comp/bol/config-panels/BannerConfig/BannerConfigGroup/index.js +4 -0
  176. package/lib/composite-comp/bol/config-panels/CarouselConfig/CarouselConfigImageGroup/index.js +1 -1
  177. package/lib/composite-comp/bol/config-panels/ImageGalleryConfig/ImageGalleryConfigImageGroup/index.js +1 -1
  178. package/lib/composite-comp/bol/config-panels/VideoConfig/VideoShareConfig/index.js +12 -2
  179. package/lib/composite-comp/bol/config-panels/VideoConfig/index.js +3 -1
  180. package/lib/composite-comp/bol/second-config-panels/VideoSecondConfig/index.js +10 -1
  181. package/lib/composite-comp/common/config-panels/BackgroundConfig/index.js +12 -2
  182. package/lib/composite-comp/common/config-panels/CustomizeConfig/index.js +5 -3
  183. package/lib/composite-comp/dito/components/FlashDeal/mobile/index.less +83 -97
  184. package/lib/composite-comp/dito/components/MobileNavigation/mobile/index.less +18 -35
  185. package/lib/composite-comp/dito/components/Recommend/mobile/index.less +73 -86
  186. package/lib/composite-comp/dito/components/SearchBar/mobile/index.less +45 -52
  187. package/lib/composite-comp/dito/components/SignBoard/mobile/index.less +76 -80
  188. package/lib/constants/index.js +4 -2
  189. package/lib/core/Designer/AiImageGenerator/GenerateArtist/images/back1.png +0 -0
  190. package/lib/core/Designer/AiImageGenerator/GenerateArtist/images/back2.png +0 -0
  191. package/lib/core/Designer/AiImageGenerator/GenerateArtist/images/back3.png +0 -0
  192. package/lib/core/Designer/AiImageGenerator/GenerateArtist/images/back4.png +0 -0
  193. package/lib/core/Designer/AiImageGenerator/GenerateArtist/index.js +72 -0
  194. package/lib/core/Designer/AiImageGenerator/GenerateArtist/index.less +41 -0
  195. package/lib/core/Designer/AiImageGenerator/GenerateSize/index.js +43 -0
  196. package/lib/core/Designer/AiImageGenerator/GenerateSize/index.less +3 -0
  197. package/lib/core/Designer/AiImageGenerator/History/index.js +141 -0
  198. package/lib/core/Designer/AiImageGenerator/History/index.less +69 -0
  199. package/lib/core/Designer/AiImageGenerator/UploadReference/index.js +45 -0
  200. package/lib/core/Designer/AiImageGenerator/UploadReference/index.less +39 -0
  201. package/lib/core/Designer/AiImageGenerator/images/nodata.png +0 -0
  202. package/lib/core/Designer/AiImageGenerator/index.js +711 -0
  203. package/lib/core/Designer/AiImageGenerator/index.less +140 -0
  204. package/lib/core/Designer/ChatRobot/components/CopyBtn/index.js +49 -0
  205. package/lib/core/Designer/ChatRobot/components/CopyBtn/index.less +0 -0
  206. package/lib/core/Designer/ChatRobot/index.js +321 -0
  207. package/lib/core/Designer/ChatRobot/index.less +130 -0
  208. package/lib/core/Designer/ChatRobot/markdown.less +1 -0
  209. package/lib/core/Designer/FonixtreeGpt/index.js +160 -0
  210. package/lib/core/Designer/index.js +27 -8
  211. package/lib/decorator/metaDecorator.js +1 -1
  212. package/lib/locale/en/en.json +5 -0
  213. package/lib/locale/es/es.json +5 -0
  214. package/lib/locale/id/id.json +5 -0
  215. package/lib/meta-comp/config-panels/ImageConfig/index.js +32 -11
  216. package/lib/meta-comp/config-panels/PlayIconConfig/PlaySvg/images/dark-playicon-01.svg +4 -0
  217. package/lib/meta-comp/config-panels/PlayIconConfig/PlaySvg/images/dark-playicon-02.svg +4 -0
  218. package/lib/meta-comp/config-panels/PlayIconConfig/PlaySvg/images/dark-playicon-03.svg +4 -0
  219. package/lib/meta-comp/config-panels/PlayIconConfig/PlaySvg/images/dark-playicon-04.svg +4 -0
  220. package/lib/meta-comp/config-panels/PlayIconConfig/PlaySvg/images/dark-playicon-05.svg +3 -0
  221. package/lib/meta-comp/config-panels/PlayIconConfig/PlaySvg/images/light-playicon-01.svg +4 -0
  222. package/lib/meta-comp/config-panels/PlayIconConfig/PlaySvg/images/light-playicon-02.svg +4 -0
  223. package/lib/meta-comp/config-panels/PlayIconConfig/PlaySvg/images/light-playicon-03.svg +4 -0
  224. package/lib/meta-comp/config-panels/PlayIconConfig/PlaySvg/images/light-playicon-04.svg +4 -0
  225. package/lib/meta-comp/config-panels/PlayIconConfig/PlaySvg/images/light-playicon-05.svg +3 -0
  226. package/lib/meta-comp/config-panels/PlayIconConfig/PlaySvg/index.js +63 -0
  227. package/lib/meta-comp/config-panels/PlayIconConfig/index.js +211 -0
  228. package/lib/meta-comp/config-panels/PlayIconConfig/index.less +37 -2
  229. package/lib/meta-comp/config-panels/TextConfig/index.js +5 -1
  230. package/lib/mobx/Store.js +3 -0
  231. package/lib/utils/androidUtil.js +2 -1
  232. package/lib/utils/businessUtil.js +13 -0
  233. package/lib/utils/commonUtil.js +142 -34
  234. package/lib/utils/coreUtil.js +3 -4
  235. package/package.json +2 -1
  236. package/es/assets/fonts/.DS_Store +0 -0
  237. package/lib/assets/fonts/.DS_Store +0 -0
@@ -0,0 +1,140 @@
1
+ .generate_drawer {
2
+ .dialog_head {
3
+ display: flex;
4
+ align-items: center;
5
+ justify-content: space-between;
6
+ .dialog_title {
7
+
8
+ }
9
+ .btn_group {
10
+ display: flex;
11
+ }
12
+ }
13
+ .drawer_content {
14
+ display: flex;
15
+ min-height: 100%;
16
+ .left_wrap {
17
+ border-radius: 4px;
18
+ background-color: #FFF;
19
+ width: 320px;
20
+ min-height: 100%;
21
+ padding: 16px;
22
+ }
23
+ .middle_wrap {
24
+ flex: 1 1 auto;
25
+ padding: 32px 54px;
26
+ height: 550px;
27
+ position: relative;
28
+ .img_wrap {
29
+ width: 492px;
30
+ height: 492px;
31
+ display: grid;
32
+ grid-template-columns: repeat(2, 1fr);
33
+ grid-template-rows: repeat(2, 1fr);
34
+ grid-gap: 12px;
35
+ margin: 0 auto;
36
+
37
+ .aiImageItem {
38
+ position: relative;
39
+ background-color: #ccc;
40
+ display: flex;
41
+ align-items: center;
42
+ justify-content: center;
43
+ font-size: 24px;
44
+ img {
45
+ width: 100%;
46
+ }
47
+ .imgHandleBtnWrap {
48
+ display: flex;
49
+ position: absolute;
50
+ bottom: 12px;
51
+ right: 12px;
52
+ .refreshBtnWrap {
53
+ background-color: #FFF;
54
+ cursor: pointer;
55
+ height: 28px;
56
+ width: 28px;
57
+ display: flex;
58
+ align-items: center;
59
+ justify-content: center;
60
+ border-radius: 50%;
61
+ border: 1px solid #D2D9E5;
62
+ }
63
+ .downloadBtnWrap {
64
+ background-color: #FFF;
65
+ cursor: pointer;
66
+ height: 28px;
67
+ width: 28px;
68
+ display: flex;
69
+ align-items: center;
70
+ justify-content: center;
71
+ margin-left: 12px;
72
+ border-radius: 50%;
73
+ border: 1px solid #D2D9E5;
74
+ }
75
+ }
76
+ .imgSelectBtnWrap {
77
+ position: absolute;
78
+ top: 12px;
79
+ right: 12px;
80
+ border-radius: 50%;
81
+ height: 22px;
82
+ display: flex;
83
+ background: #FFF;
84
+ }
85
+ }
86
+ .noDataWrap {
87
+ width: 100%;
88
+ height: 100%;
89
+ display: flex;
90
+ align-items: center;
91
+ justify-content: center;
92
+ .no_data {
93
+ height: 183px;
94
+ width: 212px;
95
+ }
96
+ }
97
+
98
+ }
99
+ .btn_wrap {
100
+ margin-top: 40px;
101
+ display: flex;
102
+ justify-content: center;
103
+ .regenerate_btn {
104
+ border: 1px solid #E6EAF0;
105
+ border-radius: 4px;
106
+ padding: 4px 12px;
107
+ cursor: pointer;
108
+ font-family: 'Open Sans';
109
+ font-style: normal;
110
+ font-weight: 400;
111
+ font-size: 13px;
112
+ background-color: #FFF;
113
+ }
114
+ }
115
+ .search_wrap {
116
+ margin-top: 12px;
117
+ .cylon-input {
118
+ border-top-right-radius: 0 !important;
119
+ border-bottom-right-radius: 0 !important;
120
+ }
121
+ .cylon-btn {
122
+ border-top-left-radius: 0 !important;
123
+ border-bottom-left-radius: 0 !important;
124
+ }
125
+ }
126
+ }
127
+ .right_wrap {
128
+ overflow: scroll;
129
+ width: 132px;
130
+ min-height: 100%;
131
+ background-color: #FFF;
132
+ border-radius: 4px;
133
+ padding: 16px;
134
+ .right_header {
135
+ display: flex;
136
+ justify-content: space-between;
137
+ }
138
+ }
139
+ }
140
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = CopyBtn;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _common = require("../../../../../common");
13
+
14
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
+
16
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
+
18
+ var btnTypeMap = {
19
+ COPY: 'icon-copy1',
20
+ COPIED: 'icon-vector'
21
+ };
22
+
23
+ function CopyBtn(_a) {
24
+ var onClick = _a.onClick;
25
+
26
+ var _b = (0, _react.useState)(btnTypeMap.COPY),
27
+ btnType = _b[0],
28
+ setBtnType = _b[1];
29
+
30
+ var onBtnClick = function onBtnClick() {
31
+ // 拷贝
32
+ setBtnType(btnTypeMap.COPIED);
33
+ onClick(); // 定时更改图标
34
+
35
+ setTimeout(function () {
36
+ setBtnType(btnTypeMap.COPY);
37
+ }, 2000);
38
+ };
39
+
40
+ return /*#__PURE__*/_react["default"].createElement(_common.Iconfont, {
41
+ color: "#2F54EB",
42
+ onClick: onBtnClick,
43
+ size: 20,
44
+ style: {
45
+ cursor: 'pointer'
46
+ },
47
+ type: btnType
48
+ });
49
+ }
@@ -0,0 +1,321 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _antd = require("antd");
13
+
14
+ var _marked = require("marked");
15
+
16
+ var _classnames = _interopRequireDefault(require("classnames"));
17
+
18
+ var _CopyBtn = _interopRequireDefault(require("./components/CopyBtn"));
19
+
20
+ var _common = require("../../../common");
21
+
22
+ var _FonixtreeGpt = _interopRequireDefault(require("../FonixtreeGpt"));
23
+
24
+ var _AiImageGenerator = _interopRequireDefault(require("../AiImageGenerator"));
25
+
26
+ require("./index.less");
27
+
28
+ require("./markdown.less");
29
+
30
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
31
+
32
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
+
34
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
+
36
+ var __extends = void 0 && (void 0).__extends || function () {
37
+ var _extendStatics = function extendStatics(d, b) {
38
+ _extendStatics = Object.setPrototypeOf || {
39
+ __proto__: []
40
+ } instanceof Array && function (d, b) {
41
+ d.__proto__ = b;
42
+ } || function (d, b) {
43
+ for (var p in b) {
44
+ if (b.hasOwnProperty(p)) d[p] = b[p];
45
+ }
46
+ };
47
+
48
+ return _extendStatics(d, b);
49
+ };
50
+
51
+ return function (d, b) {
52
+ _extendStatics(d, b);
53
+
54
+ function __() {
55
+ this.constructor = d;
56
+ }
57
+
58
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
59
+ };
60
+ }();
61
+
62
+ var ChatRobot =
63
+ /** @class */
64
+ function (_super) {
65
+ __extends(ChatRobot, _super);
66
+
67
+ function ChatRobot(props) {
68
+ var _this = _super.call(this, props) || this;
69
+
70
+ _this.state = {
71
+ open: false,
72
+ message: '',
73
+ context: [],
74
+ isGenerating: false,
75
+ aiImageVisible: false
76
+ };
77
+
78
+ _this.scrollBottom = function () {
79
+ var container = document.getElementById('content_wrap');
80
+ container.scrollTop = container.scrollHeight + 50;
81
+ };
82
+
83
+ _this.onMessageChage = function (e) {
84
+ _this.setState({
85
+ message: e.target.value
86
+ });
87
+ };
88
+
89
+ _this.getMarkText = function (text) {
90
+ return _marked.marked.parse(text);
91
+ };
92
+
93
+ _this.onEnter = function () {
94
+ var message = _this.state.message;
95
+
96
+ if (!message) {
97
+ return;
98
+ } // chat
99
+
100
+
101
+ _this.chatGpt.sendMessage(message);
102
+
103
+ var context = _this.chatGpt.getContext();
104
+
105
+ _this.setState({
106
+ isGenerating: true,
107
+ context: context,
108
+ message: ''
109
+ }, function () {
110
+ _this.scrollBottom();
111
+ });
112
+ };
113
+
114
+ _this.onShowDrawer = function () {
115
+ _this.setState({
116
+ open: true
117
+ });
118
+ };
119
+
120
+ _this.onCloseDrawer = function () {
121
+ _this.setState({
122
+ open: false
123
+ });
124
+ };
125
+
126
+ _this.onRegenarate = function () {
127
+ _this.setState({
128
+ isGenerating: true
129
+ });
130
+
131
+ _this.chatGpt.regenerate();
132
+
133
+ var context = _this.chatGpt.getContext();
134
+
135
+ _this.setState({
136
+ context: context
137
+ });
138
+ };
139
+
140
+ _this.generateImage = function () {
141
+ _this.setState({
142
+ open: false
143
+ });
144
+
145
+ _this.setState({
146
+ aiImageVisible: true
147
+ });
148
+ };
149
+
150
+ _this.copyToClipboard = function (text) {
151
+ navigator.clipboard.writeText(text);
152
+ };
153
+
154
+ _this.chatGpt = new _FonixtreeGpt["default"]({
155
+ onMessage: function onMessage(text) {
156
+ document.getElementById('recent_response').innerHTML = _this.getMarkText(text);
157
+
158
+ _this.scrollBottom();
159
+ },
160
+ onEnd: function onEnd() {
161
+ var context = _this.chatGpt.getContext();
162
+
163
+ document.getElementById('recent_response').innerHTML = '';
164
+
165
+ _this.setState({
166
+ context: context,
167
+ isGenerating: false
168
+ });
169
+ }
170
+ });
171
+ return _this;
172
+ }
173
+
174
+ ChatRobot.prototype.componentDidMount = function () {
175
+ var context = this.chatGpt.getContext();
176
+ this.setState({
177
+ context: context
178
+ });
179
+ };
180
+
181
+ ChatRobot.prototype.render = function () {
182
+ var _this = this;
183
+
184
+ var _a = this.state,
185
+ context = _a.context,
186
+ message = _a.message,
187
+ open = _a.open,
188
+ isGenerating = _a.isGenerating,
189
+ aiImageVisible = _a.aiImageVisible;
190
+ return /*#__PURE__*/_react["default"].createElement("div", {
191
+ className: "chat_wrap"
192
+ }, /*#__PURE__*/_react["default"].createElement("div", {
193
+ className: "chat_btn_wrap",
194
+ onClick: this.onShowDrawer
195
+ }, /*#__PURE__*/_react["default"].createElement(_common.Iconfont, {
196
+ color: "#2F54EB",
197
+ size: 36,
198
+ type: "icon-ai"
199
+ })), /*#__PURE__*/_react["default"].createElement(_antd.Drawer, {
200
+ bodyStyle: {
201
+ padding: 0
202
+ },
203
+ className: "chat_drawer",
204
+ closable: false,
205
+ footer: /*#__PURE__*/_react["default"].createElement("div", {
206
+ className: "dialog_bottom"
207
+ }, /*#__PURE__*/_react["default"].createElement(_antd.Input, {
208
+ onChange: this.onMessageChage,
209
+ onPressEnter: this.onEnter,
210
+ placeholder: "Send a message",
211
+ value: message
212
+ }), /*#__PURE__*/_react["default"].createElement("div", {
213
+ className: "btn_wrap"
214
+ }, /*#__PURE__*/_react["default"].createElement(_common.Iconfont, {
215
+ color: "#2F54EB",
216
+ onClick: this.generateImage,
217
+ size: 20,
218
+ style: {
219
+ cursor: 'pointer'
220
+ },
221
+ type: "icon-image"
222
+ }), /*#__PURE__*/_react["default"].createElement(_common.Iconfont, {
223
+ color: message.length > 0 ? '#2F54EB' : '#C1C9D7',
224
+ onClick: this.onEnter,
225
+ size: 20,
226
+ style: {
227
+ cursor: 'pointer'
228
+ },
229
+ type: message.length > 0 ? 'icon-send1' : 'icon-send'
230
+ }))),
231
+ footerStyle: {
232
+ padding: 12
233
+ },
234
+ headerStyle: {
235
+ padding: '12px 24px'
236
+ },
237
+ onClose: this.onCloseDrawer,
238
+ open: open,
239
+ placement: "right",
240
+ title: /*#__PURE__*/_react["default"].createElement("div", {
241
+ className: "dialog_head"
242
+ }, /*#__PURE__*/_react["default"].createElement("div", {
243
+ className: "dialog_title"
244
+ }, /*#__PURE__*/_react["default"].createElement(_common.Iconfont, {
245
+ color: "#2F54EB",
246
+ onClick: this.onCloseDrawer,
247
+ size: 24,
248
+ style: {
249
+ marginRight: 5
250
+ },
251
+ type: "icon-ai"
252
+ }), "Conversational Editor"), /*#__PURE__*/_react["default"].createElement(_common.Iconfont, {
253
+ onClick: this.onCloseDrawer,
254
+ size: 24,
255
+ style: {
256
+ cursor: 'pointer'
257
+ },
258
+ type: "icon-close"
259
+ })),
260
+ width: 600
261
+ }, /*#__PURE__*/_react["default"].createElement("div", {
262
+ className: "chat_content_wrap"
263
+ }, /*#__PURE__*/_react["default"].createElement("div", {
264
+ className: "content_wrap markdown-body",
265
+ id: "content_wrap"
266
+ }, context.length > 0 && context.map(function (ctxNode) {
267
+ return /*#__PURE__*/_react["default"].createElement("div", {
268
+ className: (0, _classnames["default"])('messageOuterWrap', {
269
+ userMessage: ctxNode.role === 'user',
270
+ assistantMessage: ctxNode.role === 'assistant'
271
+ })
272
+ }, /*#__PURE__*/_react["default"].createElement("div", {
273
+ className: "messageWrap"
274
+ }, /*#__PURE__*/_react["default"].createElement("div", {
275
+ className: "messageContentWrap",
276
+ dangerouslySetInnerHTML: {
277
+ __html: _this.getMarkText(ctxNode.content)
278
+ }
279
+ }), ctxNode.role === 'assistant' && /*#__PURE__*/_react["default"].createElement("div", {
280
+ className: "msgIconWrap"
281
+ }, /*#__PURE__*/_react["default"].createElement(_CopyBtn["default"], {
282
+ onClick: function onClick() {
283
+ _this.copyToClipboard(ctxNode.content);
284
+ }
285
+ }))));
286
+ }), isGenerating && /*#__PURE__*/_react["default"].createElement("div", {
287
+ className: "recent_response",
288
+ id: "recent_response"
289
+ }, /*#__PURE__*/_react["default"].createElement(_antd.Spin, {
290
+ spinning: true
291
+ }))), /*#__PURE__*/_react["default"].createElement("div", {
292
+ className: "regenerate_btn",
293
+ onClick: this.onRegenarate
294
+ }, /*#__PURE__*/_react["default"].createElement(_common.Iconfont, {
295
+ color: "#232F46",
296
+ onClick: this.onCloseDrawer,
297
+ size: 16,
298
+ style: {
299
+ marginRight: 5
300
+ },
301
+ type: "icon-refresh"
302
+ }), "Regenerate Response"))), /*#__PURE__*/_react["default"].createElement(_AiImageGenerator["default"], {
303
+ onClose: function onClose() {
304
+ return _this.setState({
305
+ aiImageVisible: false
306
+ });
307
+ },
308
+ onConfirm: function onConfirm() {
309
+ return _this.setState({
310
+ aiImageVisible: false
311
+ });
312
+ },
313
+ visible: aiImageVisible
314
+ }));
315
+ };
316
+
317
+ return ChatRobot;
318
+ }(_react.Component);
319
+
320
+ var _default = ChatRobot;
321
+ exports["default"] = _default;
@@ -0,0 +1,130 @@
1
+ .chat_wrap {
2
+ .chat_btn_wrap {
3
+ position: absolute;
4
+ right: 24px;
5
+ top: 104px;
6
+ display: flex;
7
+ align-items: center;
8
+ justify-content: center;
9
+ z-index: 999;
10
+ height: 64px;
11
+ width: 64px;
12
+ background-color: #FFF;
13
+ border-radius: 50%;
14
+ cursor: pointer;
15
+ box-shadow: -3px -3px 12px rgba(45, 48, 64, 0.2), 3px 3px 12px rgba(45, 48, 64, 0.2);
16
+ }
17
+ }
18
+ .chat_drawer {
19
+ .dialog_head {
20
+ display: flex;
21
+ align-items: center;
22
+ justify-content: space-between;
23
+ .dialog_title {
24
+ font-family: 'Open Sans';
25
+ font-style: normal;
26
+ font-weight: 600;
27
+ font-weight: 600;
28
+ font-size: 16px;
29
+ color: #232F46;
30
+ display: flex;
31
+ align-items: center;
32
+ }
33
+ }
34
+ .chat_content_wrap {
35
+ position: relative;
36
+ padding-bottom: 40px;
37
+ height: 100%;
38
+ .content_wrap {
39
+ padding: 16px;
40
+ height: 100%;
41
+ overflow: scroll;
42
+ font-family: 'Open Sans';
43
+ font-size: 14px;
44
+ font-weight: 400;
45
+ line-height: 22px;
46
+ .messageOuterWrap {
47
+ margin-bottom: 20px;
48
+ .messageWrap {
49
+ position: relative;
50
+ width: fit-content;
51
+ max-width: 70%;
52
+ padding: 7px 14px;
53
+ .messageContentWrap {
54
+ display: flex;
55
+ flex-direction: column;
56
+ p {
57
+ margin-bottom: 0;
58
+ display: inline;
59
+ width: fit-content;
60
+ }
61
+ }
62
+
63
+ .msgIconWrap {
64
+ position: absolute;
65
+ right: -25px;
66
+ bottom: 0;
67
+ }
68
+ }
69
+ }
70
+ .userMessage {
71
+ display: flex;
72
+ justify-content: flex-end;
73
+ .messageWrap {
74
+ border-radius: 4px;
75
+ background: #E9F0FF;
76
+ color: #2F54EB;
77
+ }
78
+ }
79
+ .assistantMessage {
80
+ .messageWrap {
81
+ border-radius: 4px;
82
+ background: #F5F6F7;
83
+ color: #232F46;
84
+ }
85
+ }
86
+ .recent_response {
87
+ min-height: 36px;
88
+ max-width: 70%;
89
+ padding: 7px 14px;
90
+ background: #F5F6F7;
91
+ color: #232F46;
92
+ p {
93
+ margin-bottom: 0;
94
+ }
95
+ }
96
+ }
97
+ .regenerate_btn {
98
+ display: flex;
99
+ align-items: center;
100
+ position: absolute;
101
+ bottom: 10px;
102
+ border: 1px solid #E6EAF0;
103
+ border-radius: 4px;
104
+ padding: 4px 12px;
105
+ left: 50%;
106
+ transform: translateX(-50%);
107
+ cursor: pointer;
108
+ font-family: 'Open Sans';
109
+ font-style: normal;
110
+ font-weight: 400;
111
+ font-size: 13px;
112
+ }
113
+ }
114
+ .dialog_bottom {
115
+ position: relative;
116
+ input {
117
+ padding-right: 60px !important;
118
+ }
119
+ .btn_wrap {
120
+ position: absolute;
121
+ right: 15px;
122
+ top: 0px;
123
+ width: 50px;
124
+ height: 36px;
125
+ display: flex;
126
+ align-items: center;
127
+ justify-content: space-between;
128
+ }
129
+ }
130
+ }
@@ -0,0 +1 @@
1
+ .markdown-body{color-scheme:dark;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;color:#c9d1d9;background-color:#FFF;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:' ';display:inline-block;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>")}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none!important}.markdown-body a{background-color:transparent;color:#58a6ff;text-decoration:none}.markdown-body abbr[title]{border-bottom:none;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:600}.markdown-body dfn{font-style:italic}.markdown-body h1{margin:.67em 0;font-weight:600;padding-bottom:.3em;font-size:2em;border-bottom:1px solid #21262d}.markdown-body mark{background-color:rgba(187,128,9,.15);color:#c9d1d9}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body img{border-style:none;max-width:100%;box-sizing:content-box;background-color:#0d1117}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em 40px}.markdown-body hr{box-sizing:content-box;overflow:hidden;background:0 0;border-bottom:1px solid #21262d;height:.25em;padding:0;margin:24px 0;background-color:#30363d;border:0}.markdown-body input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{-webkit-appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button,.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button,.markdown-body [type=search]::-webkit-search-decoration{-webkit-appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body ::placeholder{color:#6e7681;opacity:1}.markdown-body hr::before{display:table;content:""}.markdown-body hr::after{display:table;clear:both;content:""}.markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body details:not([open])>:not(summary){display:none!important}.markdown-body [role=button]:focus,.markdown-body a:focus,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=radio]:focus{outline:2px solid #58a6ff;outline-offset:-2px;box-shadow:none}.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body a:focus:not(:focus-visible),.markdown-body input[type=checkbox]:focus:not(:focus-visible),.markdown-body input[type=radio]:focus:not(:focus-visible){outline:solid 1px transparent}.markdown-body [role=button]:focus-visible,.markdown-body a:focus-visible,.markdown-body input[type=checkbox]:focus-visible,.markdown-body input[type=radio]:focus-visible{outline:2px solid #58a6ff;outline-offset:-2px;box-shadow:none}.markdown-body a:not([class]):focus,.markdown-body a:not([class]):focus-visible,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=checkbox]:focus-visible,.markdown-body input[type=radio]:focus,.markdown-body input[type=radio]:focus-visible{outline-offset:0}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;color:#c9d1d9;vertical-align:middle;background-color:#161b22;border:solid 1px rgba(110,118,129,.4);border-bottom-color:rgba(110,118,129,.4);border-radius:6px;box-shadow:inset 0 -1px 0 rgba(110,118,129,.4)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h2{font-weight:600;padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid #21262d}.markdown-body h3{font-weight:600;font-size:1.25em}.markdown-body h4{font-weight:600;font-size:1em}.markdown-body h5{font-weight:600;font-size:.875em}.markdown-body h6{font-weight:600;font-size:.85em;color:#8b949e}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0;padding:0 1em;color:#8b949e;border-left:.25em solid #30363d}.markdown-body ol,.markdown-body ul{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ol ol ol,.markdown-body ol ul ol,.markdown-body ul ol ol,.markdown-body ul ul ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body code,.markdown-body samp,.markdown-body tt{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;word-wrap:normal}.markdown-body .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.markdown-body input::-webkit-inner-spin-button,.markdown-body input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;appearance:none}.markdown-body::before{display:table;content:""}.markdown-body::after{display:table;clear:both;content:""}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#f85149}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:0}.markdown-body blockquote,.markdown-body details,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-top:0;margin-bottom:16px}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#c9d1d9;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 code,.markdown-body h1 tt,.markdown-body h2 code,.markdown-body h2 tt,.markdown-body h3 code,.markdown-body h3 tt,.markdown-body h4 code,.markdown-body h4 tt,.markdown-body h5 code,.markdown-body h5 tt,.markdown-body h6 code,.markdown-body h6 tt{padding:0 .2em;font-size:inherit}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{padding-bottom:0;border-bottom:0}.markdown-body ol.no-list,.markdown-body ul.no-list{padding:0;list-style-type:none}.markdown-body ol[type=a]{list-style-type:lower-alpha}.markdown-body ol[type=A]{list-style-type:upper-alpha}.markdown-body ol[type=i]{list-style-type:lower-roman}.markdown-body ol[type=I]{list-style-type:upper-roman}.markdown-body ol[type="1"]{list-style-type:decimal}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table th{font-weight:600}.markdown-body table td,.markdown-body table th{padding:6px 13px;border:1px solid #30363d}.markdown-body table tr{background-color:#0d1117;border-top:1px solid #21262d}.markdown-body table tr:nth-child(2n){background-color:#161b22}.markdown-body table img{background-color:transparent}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #30363d}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#c9d1d9}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:rgba(110,118,129,.4);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:0 0;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#9fa2a6;border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:#0d1117;border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:600;background:#161b22;border-top:0}.markdown-body [data-footnote-ref]::before{content:"["}.markdown-body [data-footnote-ref]::after{content:"]"}.markdown-body .footnotes{font-size:12px;color:#8b949e;border-top:1px solid #30363d}.markdown-body .footnotes ol{padding-left:16px}.markdown-body .footnotes ol ul{display:inline-block;padding-left:16px;margin-top:16px}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target::before{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-24px;pointer-events:none;content:"";border:2px solid #1f6feb;border-radius:6px}.markdown-body .footnotes li:target{color:#c9d1d9}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body .pl-c{color:#8b949e}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:#79c0ff}.markdown-body .pl-e,.markdown-body .pl-en{color:#d2a8ff}.markdown-body .pl-s .pl-s1,.markdown-body .pl-smi{color:#c9d1d9}.markdown-body .pl-ent{color:#7ee787}.markdown-body .pl-k{color:#ff7b72}.markdown-body .pl-pds,.markdown-body .pl-s,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sra,.markdown-body .pl-sr .pl-sre{color:#a5d6ff}.markdown-body .pl-smw,.markdown-body .pl-v{color:#ffa657}.markdown-body .pl-bu{color:#f85149}.markdown-body .pl-ii{color:#f0f6fc;background-color:#8e1519}.markdown-body .pl-c2{color:#f0f6fc;background-color:#b62324}.markdown-body .pl-sr .pl-cce{font-weight:700;color:#7ee787}.markdown-body .pl-ml{color:#f2cc60}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:#1f6feb}.markdown-body .pl-mi{font-style:italic;color:#c9d1d9}.markdown-body .pl-mb{font-weight:700;color:#c9d1d9}.markdown-body .pl-md{color:#ffdcd7;background-color:#67060c}.markdown-body .pl-mi1{color:#aff5b4;background-color:#033a16}.markdown-body .pl-mc{color:#ffdfb6;background-color:#5a1e02}.markdown-body .pl-mi2{color:#c9d1d9;background-color:#1158c7}.markdown-body .pl-mdr{font-weight:700;color:#d2a8ff}.markdown-body .pl-ba{color:#8b949e}.markdown-body .pl-sg{color:#484f58}.markdown-body .pl-corl{text-decoration:underline;color:#a5d6ff}.markdown-body g-emoji{display:inline-block;min-width:1ch;font-family:"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1em;font-style:normal!important;font-weight:400;line-height:1;vertical-align:-.075em}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:400}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:4px}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.markdown-body .contains-task-list:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body .contains-task-list{position:relative}.markdown-body .contains-task-list:focus-within .task-list-item-convert-container,.markdown-body .contains-task-list:hover .task-list-item-convert-container{display:block;width:auto;height:24px;overflow:visible;clip:auto}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}