@fileverse-dev/fortune-react 1.0.4 → 1.0.6

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 (420) hide show
  1. package/es/components/ChangeColor/index.css +76 -0
  2. package/{dist/packages/react/src → es}/components/ChangeColor/index.d.ts +7 -7
  3. package/es/components/ChangeColor/index.js +41 -0
  4. package/{dist/packages/react/src → es}/components/ConditionFormat/ConditionRules.d.ts +6 -6
  5. package/es/components/ConditionFormat/ConditionRules.js +323 -0
  6. package/es/components/ConditionFormat/index.css +210 -0
  7. package/{dist/packages/react/src → es}/components/ConditionFormat/index.d.ts +7 -7
  8. package/es/components/ConditionFormat/index.js +252 -0
  9. package/{dist/packages/react/src → es}/components/ContextMenu/Divider.d.ts +3 -3
  10. package/es/components/ContextMenu/Divider.js +7 -0
  11. package/{dist/packages/react/src → es}/components/ContextMenu/FilterMenu.d.ts +3 -3
  12. package/es/components/ContextMenu/FilterMenu.js +612 -0
  13. package/{dist/packages/react/src → es}/components/ContextMenu/Menu.d.ts +8 -8
  14. package/es/components/ContextMenu/Menu.js +25 -0
  15. package/{dist/packages/react/src → es}/components/ContextMenu/SheetTab.d.ts +4 -4
  16. package/es/components/ContextMenu/SheetTab.js +223 -0
  17. package/es/components/ContextMenu/index.css +322 -0
  18. package/{dist/packages/react/src → es}/components/ContextMenu/index.d.ts +5 -5
  19. package/es/components/ContextMenu/index.js +1054 -0
  20. package/es/components/CustomSort/index.css +23 -0
  21. package/{dist/packages/react/src → es}/components/CustomSort/index.d.ts +4 -4
  22. package/es/components/CustomSort/index.js +113 -0
  23. package/{dist/packages/react/src → es}/components/DataVerification/DropdownList.d.ts +4 -4
  24. package/es/components/DataVerification/DropdownList.js +126 -0
  25. package/{dist/packages/react/src → es}/components/DataVerification/RangeDialog.d.ts +4 -4
  26. package/es/components/DataVerification/RangeDialog.js +105 -0
  27. package/{dist/packages/react/src → es}/components/DataVerification/getDisplayedRangeTxt.d.ts +2 -2
  28. package/es/components/DataVerification/getDisplayedRangeTxt.js +9 -0
  29. package/es/components/DataVerification/index.css +202 -0
  30. package/{dist/packages/react/src → es}/components/DataVerification/index.d.ts +4 -4
  31. package/es/components/DataVerification/index.js +398 -0
  32. package/es/components/Dialog/index.css +64 -0
  33. package/{dist/packages/react/src → es}/components/Dialog/index.d.ts +15 -15
  34. package/es/components/Dialog/index.js +60 -0
  35. package/{dist/packages/react/src → es}/components/DuneChartsInputModal/DuneChartsInputModal.d.ts +11 -11
  36. package/es/components/DuneChartsInputModal/DuneChartsInputModal.js +95 -0
  37. package/es/components/DuneChartsInputModal/duneChartsInputModal.css +98 -0
  38. package/{dist/packages/react/src → es}/components/DunePreview/DunePreview.d.ts +13 -13
  39. package/es/components/DunePreview/DunePreview.js +46 -0
  40. package/es/components/DunePreview/index.css +57 -0
  41. package/{dist/packages/react/src → es}/components/FilterOption/index.d.ts +5 -5
  42. package/es/components/FilterOption/index.js +121 -0
  43. package/es/components/FormatSearch/index.css +19 -0
  44. package/{dist/packages/react/src → es}/components/FormatSearch/index.d.ts +6 -6
  45. package/es/components/FormatSearch/index.js +129 -0
  46. package/es/components/FormulaSearch/index.css +65 -0
  47. package/{dist/packages/react/src → es}/components/FormulaSearch/index.d.ts +5 -5
  48. package/es/components/FormulaSearch/index.js +198 -0
  49. package/{dist/packages/react/src → es}/components/FxEditor/NameBox.d.ts +3 -3
  50. package/es/components/FxEditor/NameBox.js +29 -0
  51. package/es/components/FxEditor/index.css +72 -0
  52. package/{dist/packages/react/src → es}/components/FxEditor/index.d.ts +4 -4
  53. package/es/components/FxEditor/index.js +167 -0
  54. package/es/components/IFrameBoxs/iFrameBoxs.css +16 -0
  55. package/{dist/packages/react/src → es}/components/IFrameBoxs/iFrameBoxs.d.ts +4 -4
  56. package/es/components/IFrameBoxs/iFrameBoxs.js +142 -0
  57. package/{dist/packages/react/src → es}/components/ImgBoxs/index.d.ts +3 -3
  58. package/es/components/ImgBoxs/index.js +219 -0
  59. package/es/components/LinkEidtCard/index.css +255 -0
  60. package/{dist/packages/react/src → es}/components/LinkEidtCard/index.d.ts +5 -5
  61. package/es/components/LinkEidtCard/index.js +238 -0
  62. package/es/components/LocationCondition/index.css +74 -0
  63. package/{dist/packages/react/src → es}/components/LocationCondition/index.d.ts +3 -3
  64. package/es/components/LocationCondition/index.js +195 -0
  65. package/{dist/packages/react/src → es}/components/MessageBox/index.d.ts +9 -9
  66. package/es/components/MessageBox/index.js +16 -0
  67. package/{dist/packages/react/src → es}/components/NotationBoxes/index.d.ts +3 -3
  68. package/es/components/NotationBoxes/index.js +105 -0
  69. package/{dist/packages/react/src → es}/components/ResetColumnWidth/index.d.ts +2 -2
  70. package/es/components/ResetColumnWidth/index.js +130 -0
  71. package/{dist/packages/react/src → es}/components/SVGDefines.d.ts +5 -5
  72. package/es/components/SVGDefines.js +1902 -0
  73. package/{dist/packages/react/src → es}/components/SVGIcon.d.ts +9 -9
  74. package/es/components/SVGIcon.js +18 -0
  75. package/es/components/SearchReplace/index.css +191 -0
  76. package/{dist/packages/react/src → es}/components/SearchReplace/index.d.ts +6 -6
  77. package/es/components/SearchReplace/index.js +294 -0
  78. package/es/components/Sheet/index.css +27 -0
  79. package/{dist/packages/react/src → es}/components/Sheet/index.d.ts +8 -8
  80. package/es/components/Sheet/index.js +173 -0
  81. package/{dist/packages/react/src → es}/components/SheetList/SheetHiddenButton.d.ts +8 -8
  82. package/es/components/SheetList/SheetHiddenButton.js +35 -0
  83. package/{dist/packages/react/src → es}/components/SheetList/SheetListItem.d.ts +9 -9
  84. package/es/components/SheetList/SheetListItem.js +72 -0
  85. package/es/components/SheetList/index.css +48 -0
  86. package/{dist/packages/react/src → es}/components/SheetList/index.d.ts +4 -4
  87. package/es/components/SheetList/index.js +30 -0
  88. package/{dist/packages/react/src → es}/components/SheetOverlay/ColumnHeader.d.ts +3 -3
  89. package/es/components/SheetOverlay/ColumnHeader.js +217 -0
  90. package/{dist/packages/react/src → es}/components/SheetOverlay/ContentEditable.d.ts +11 -11
  91. package/es/components/SheetOverlay/ContentEditable.js +74 -0
  92. package/es/components/SheetOverlay/FormulaHint/index.css +180 -0
  93. package/{dist/packages/react/src → es}/components/SheetOverlay/FormulaHint/index.d.ts +4 -4
  94. package/es/components/SheetOverlay/FormulaHint/index.js +348 -0
  95. package/{dist/packages/react/src → es}/components/SheetOverlay/FormulaSearch/constant.d.ts +63 -63
  96. package/es/components/SheetOverlay/FormulaSearch/constant.js +328 -0
  97. package/es/components/SheetOverlay/FormulaSearch/index.css +42 -0
  98. package/{dist/packages/react/src → es}/components/SheetOverlay/FormulaSearch/index.d.ts +4 -4
  99. package/es/components/SheetOverlay/FormulaSearch/index.js +261 -0
  100. package/{dist/packages/react/src → es}/components/SheetOverlay/InputBox.d.ts +3 -3
  101. package/es/components/SheetOverlay/InputBox.js +305 -0
  102. package/{dist/packages/react/src → es}/components/SheetOverlay/RowHeader.d.ts +3 -3
  103. package/es/components/SheetOverlay/RowHeader.js +187 -0
  104. package/es/components/SheetOverlay/ScrollBar/index.css +40 -0
  105. package/{dist/packages/react/src → es}/components/SheetOverlay/ScrollBar/index.d.ts +7 -7
  106. package/es/components/SheetOverlay/ScrollBar/index.js +47 -0
  107. package/es/components/SheetOverlay/index.css +939 -0
  108. package/{dist/packages/react/src → es}/components/SheetOverlay/index.d.ts +4 -4
  109. package/es/components/SheetOverlay/index.js +578 -0
  110. package/{dist/packages/react/src → es}/components/SheetTab/SheetItem.d.ts +8 -8
  111. package/es/components/SheetTab/SheetItem.js +228 -0
  112. package/es/components/SheetTab/index.css +280 -0
  113. package/{dist/packages/react/src → es}/components/SheetTab/index.d.ts +4 -4
  114. package/es/components/SheetTab/index.js +143 -0
  115. package/es/components/SplitColumn/index.css +121 -0
  116. package/{dist/packages/react/src → es}/components/SplitColumn/index.d.ts +3 -3
  117. package/es/components/SplitColumn/index.js +167 -0
  118. package/{dist/packages/react/src → es}/components/Toolbar/Button.d.ts +12 -12
  119. package/es/components/Toolbar/Button.js +32 -0
  120. package/{dist/packages/react/src → es}/components/Toolbar/ColorPicker.d.ts +6 -6
  121. package/es/components/Toolbar/ColorPicker.js +27 -0
  122. package/{dist/packages/react/src → es}/components/Toolbar/Combo.d.ts +12 -12
  123. package/es/components/Toolbar/Combo.js +102 -0
  124. package/{dist/packages/react/src → es}/components/Toolbar/CustomBorder.d.ts +7 -7
  125. package/es/components/Toolbar/CustomBorder.js +211 -0
  126. package/{dist/packages/react/src → es}/components/Toolbar/CustomButton.d.ts +11 -11
  127. package/es/components/Toolbar/CustomButton.js +29 -0
  128. package/{dist/packages/react/src → es}/components/Toolbar/CustomColor.d.ts +8 -8
  129. package/es/components/Toolbar/CustomColor.js +25 -0
  130. package/{dist/packages/react/src → es}/components/Toolbar/CustomIcon.d.ts +9 -9
  131. package/es/components/Toolbar/CustomIcon.js +38 -0
  132. package/{dist/packages/react/src → es}/components/Toolbar/Divider.d.ts +4 -4
  133. package/es/components/Toolbar/Divider.js +12 -0
  134. package/{dist/packages/react/src → es}/components/Toolbar/MoreItemsContainer.d.ts +6 -6
  135. package/es/components/Toolbar/MoreItemsContainer.js +17 -0
  136. package/{dist/packages/react/src → es}/components/Toolbar/Select.d.ts +14 -14
  137. package/es/components/Toolbar/Select.js +34 -0
  138. package/es/components/Toolbar/index.css +405 -0
  139. package/es/components/Toolbar/index.d.ts +10 -0
  140. package/es/components/Toolbar/index.js +1338 -0
  141. package/{dist/packages/react/src → es}/components/Workbook/api.d.ts +1177 -1177
  142. package/es/components/Workbook/api.js +395 -0
  143. package/es/components/Workbook/index.css +44 -0
  144. package/{dist/packages/react/src → es}/components/Workbook/index.d.ts +1185 -1185
  145. package/es/components/Workbook/index.js +586 -0
  146. package/es/components/ZoomControl/index.css +54 -0
  147. package/{dist/packages/react/src → es}/components/ZoomControl/index.d.ts +4 -4
  148. package/es/components/ZoomControl/index.js +111 -0
  149. package/{dist/packages/react/src → es}/components/index.d.ts +4 -4
  150. package/es/components/index.js +3 -0
  151. package/{dist/packages/react/src → es}/constants.d.ts +1 -1
  152. package/es/constants.js +4 -0
  153. package/{dist/packages/react/src → es}/context/index.d.ts +25 -25
  154. package/es/context/index.js +34 -0
  155. package/{dist/packages/react/src → es}/context/modal.d.ts +10 -10
  156. package/es/context/modal.js +43 -0
  157. package/{dist/packages/react/src → es}/hooks/useAlert.d.ts +4 -4
  158. package/es/hooks/useAlert.js +28 -0
  159. package/{dist/packages/react/src → es}/hooks/useDialog.d.ts +5 -5
  160. package/es/hooks/useDialog.js +28 -0
  161. package/{dist/packages/react/src → es}/hooks/useOutsideClick.d.ts +2 -2
  162. package/es/hooks/useOutsideClick.js +15 -0
  163. package/{dist/packages/react/src → es}/hooks/usePrevious.d.ts +2 -2
  164. package/es/hooks/usePrevious.js +9 -0
  165. package/{dist/packages/react/src → es}/index.d.ts +1 -1
  166. package/es/index.js +1 -0
  167. package/{dist/packages/react/src → es}/utils/datepickerStyles.d.ts +2 -2
  168. package/es/utils/datepickerStyles.js +8 -0
  169. package/lib/components/ChangeColor/index.css +76 -0
  170. package/lib/components/ChangeColor/index.d.ts +7 -0
  171. package/lib/components/ChangeColor/index.js +50 -0
  172. package/lib/components/ConditionFormat/ConditionRules.d.ts +6 -0
  173. package/lib/components/ConditionFormat/ConditionRules.js +332 -0
  174. package/lib/components/ConditionFormat/index.css +210 -0
  175. package/lib/components/ConditionFormat/index.d.ts +7 -0
  176. package/lib/components/ConditionFormat/index.js +261 -0
  177. package/lib/components/ContextMenu/Divider.d.ts +3 -0
  178. package/lib/components/ContextMenu/Divider.js +14 -0
  179. package/lib/components/ContextMenu/FilterMenu.d.ts +3 -0
  180. package/lib/components/ContextMenu/FilterMenu.js +621 -0
  181. package/lib/components/ContextMenu/Menu.d.ts +8 -0
  182. package/lib/components/ContextMenu/Menu.js +33 -0
  183. package/lib/components/ContextMenu/SheetTab.d.ts +4 -0
  184. package/lib/components/ContextMenu/SheetTab.js +232 -0
  185. package/lib/components/ContextMenu/index.css +322 -0
  186. package/lib/components/ContextMenu/index.d.ts +5 -0
  187. package/lib/components/ContextMenu/index.js +1063 -0
  188. package/lib/components/CustomSort/index.css +23 -0
  189. package/lib/components/CustomSort/index.d.ts +4 -0
  190. package/lib/components/CustomSort/index.js +122 -0
  191. package/lib/components/DataVerification/DropdownList.d.ts +4 -0
  192. package/lib/components/DataVerification/DropdownList.js +135 -0
  193. package/lib/components/DataVerification/RangeDialog.d.ts +4 -0
  194. package/lib/components/DataVerification/RangeDialog.js +114 -0
  195. package/lib/components/DataVerification/getDisplayedRangeTxt.d.ts +2 -0
  196. package/lib/components/DataVerification/getDisplayedRangeTxt.js +15 -0
  197. package/lib/components/DataVerification/index.css +202 -0
  198. package/lib/components/DataVerification/index.d.ts +4 -0
  199. package/lib/components/DataVerification/index.js +407 -0
  200. package/lib/components/Dialog/index.css +64 -0
  201. package/lib/components/Dialog/index.d.ts +15 -0
  202. package/lib/components/Dialog/index.js +69 -0
  203. package/lib/components/DuneChartsInputModal/DuneChartsInputModal.d.ts +11 -0
  204. package/lib/components/DuneChartsInputModal/DuneChartsInputModal.js +104 -0
  205. package/lib/components/DuneChartsInputModal/duneChartsInputModal.css +98 -0
  206. package/lib/components/DunePreview/DunePreview.d.ts +13 -0
  207. package/lib/components/DunePreview/DunePreview.js +53 -0
  208. package/lib/components/DunePreview/index.css +57 -0
  209. package/lib/components/FilterOption/index.d.ts +5 -0
  210. package/lib/components/FilterOption/index.js +130 -0
  211. package/lib/components/FormatSearch/index.css +19 -0
  212. package/lib/components/FormatSearch/index.d.ts +6 -0
  213. package/lib/components/FormatSearch/index.js +138 -0
  214. package/lib/components/FormulaSearch/index.css +65 -0
  215. package/lib/components/FormulaSearch/index.d.ts +5 -0
  216. package/lib/components/FormulaSearch/index.js +207 -0
  217. package/lib/components/FxEditor/NameBox.d.ts +3 -0
  218. package/lib/components/FxEditor/NameBox.js +38 -0
  219. package/lib/components/FxEditor/index.css +72 -0
  220. package/lib/components/FxEditor/index.d.ts +4 -0
  221. package/lib/components/FxEditor/index.js +176 -0
  222. package/lib/components/IFrameBoxs/iFrameBoxs.css +16 -0
  223. package/lib/components/IFrameBoxs/iFrameBoxs.d.ts +4 -0
  224. package/lib/components/IFrameBoxs/iFrameBoxs.js +151 -0
  225. package/lib/components/ImgBoxs/index.d.ts +3 -0
  226. package/lib/components/ImgBoxs/index.js +228 -0
  227. package/lib/components/LinkEidtCard/index.css +255 -0
  228. package/lib/components/LinkEidtCard/index.d.ts +5 -0
  229. package/lib/components/LinkEidtCard/index.js +247 -0
  230. package/lib/components/LocationCondition/index.css +74 -0
  231. package/lib/components/LocationCondition/index.d.ts +3 -0
  232. package/lib/components/LocationCondition/index.js +204 -0
  233. package/lib/components/MessageBox/index.d.ts +9 -0
  234. package/lib/components/MessageBox/index.js +23 -0
  235. package/lib/components/NotationBoxes/index.d.ts +3 -0
  236. package/lib/components/NotationBoxes/index.js +114 -0
  237. package/lib/components/ResetColumnWidth/index.d.ts +2 -0
  238. package/lib/components/ResetColumnWidth/index.js +138 -0
  239. package/lib/components/SVGDefines.d.ts +5 -0
  240. package/lib/components/SVGDefines.js +1909 -0
  241. package/lib/components/SVGIcon.d.ts +9 -0
  242. package/lib/components/SVGIcon.js +25 -0
  243. package/lib/components/SearchReplace/index.css +191 -0
  244. package/lib/components/SearchReplace/index.d.ts +6 -0
  245. package/lib/components/SearchReplace/index.js +303 -0
  246. package/lib/components/Sheet/index.css +27 -0
  247. package/lib/components/Sheet/index.d.ts +8 -0
  248. package/lib/components/Sheet/index.js +182 -0
  249. package/lib/components/SheetList/SheetHiddenButton.d.ts +8 -0
  250. package/lib/components/SheetList/SheetHiddenButton.js +44 -0
  251. package/lib/components/SheetList/SheetListItem.d.ts +9 -0
  252. package/lib/components/SheetList/SheetListItem.js +81 -0
  253. package/lib/components/SheetList/index.css +48 -0
  254. package/lib/components/SheetList/index.d.ts +4 -0
  255. package/lib/components/SheetList/index.js +39 -0
  256. package/lib/components/SheetOverlay/ColumnHeader.d.ts +3 -0
  257. package/lib/components/SheetOverlay/ColumnHeader.js +226 -0
  258. package/lib/components/SheetOverlay/ContentEditable.d.ts +11 -0
  259. package/lib/components/SheetOverlay/ContentEditable.js +83 -0
  260. package/lib/components/SheetOverlay/FormulaHint/index.css +180 -0
  261. package/lib/components/SheetOverlay/FormulaHint/index.d.ts +4 -0
  262. package/lib/components/SheetOverlay/FormulaHint/index.js +357 -0
  263. package/lib/components/SheetOverlay/FormulaSearch/constant.d.ts +63 -0
  264. package/lib/components/SheetOverlay/FormulaSearch/constant.js +334 -0
  265. package/lib/components/SheetOverlay/FormulaSearch/index.css +42 -0
  266. package/lib/components/SheetOverlay/FormulaSearch/index.d.ts +4 -0
  267. package/lib/components/SheetOverlay/FormulaSearch/index.js +270 -0
  268. package/lib/components/SheetOverlay/InputBox.d.ts +3 -0
  269. package/lib/components/SheetOverlay/InputBox.js +314 -0
  270. package/lib/components/SheetOverlay/RowHeader.d.ts +3 -0
  271. package/lib/components/SheetOverlay/RowHeader.js +196 -0
  272. package/lib/components/SheetOverlay/ScrollBar/index.css +40 -0
  273. package/lib/components/SheetOverlay/ScrollBar/index.d.ts +7 -0
  274. package/lib/components/SheetOverlay/ScrollBar/index.js +56 -0
  275. package/lib/components/SheetOverlay/index.css +939 -0
  276. package/lib/components/SheetOverlay/index.d.ts +4 -0
  277. package/lib/components/SheetOverlay/index.js +587 -0
  278. package/lib/components/SheetTab/SheetItem.d.ts +8 -0
  279. package/lib/components/SheetTab/SheetItem.js +237 -0
  280. package/lib/components/SheetTab/index.css +280 -0
  281. package/lib/components/SheetTab/index.d.ts +4 -0
  282. package/lib/components/SheetTab/index.js +152 -0
  283. package/lib/components/SplitColumn/index.css +121 -0
  284. package/lib/components/SplitColumn/index.d.ts +3 -0
  285. package/lib/components/SplitColumn/index.js +176 -0
  286. package/lib/components/Toolbar/Button.d.ts +12 -0
  287. package/lib/components/Toolbar/Button.js +39 -0
  288. package/lib/components/Toolbar/ColorPicker.d.ts +6 -0
  289. package/lib/components/Toolbar/ColorPicker.js +34 -0
  290. package/lib/components/Toolbar/Combo.d.ts +12 -0
  291. package/lib/components/Toolbar/Combo.js +111 -0
  292. package/lib/components/Toolbar/CustomBorder.d.ts +7 -0
  293. package/lib/components/Toolbar/CustomBorder.js +220 -0
  294. package/lib/components/Toolbar/CustomButton.d.ts +11 -0
  295. package/lib/components/Toolbar/CustomButton.js +36 -0
  296. package/lib/components/Toolbar/CustomColor.d.ts +8 -0
  297. package/lib/components/Toolbar/CustomColor.js +32 -0
  298. package/lib/components/Toolbar/CustomIcon.d.ts +9 -0
  299. package/lib/components/Toolbar/CustomIcon.js +46 -0
  300. package/lib/components/Toolbar/Divider.d.ts +4 -0
  301. package/lib/components/Toolbar/Divider.js +19 -0
  302. package/lib/components/Toolbar/MoreItemsContainer.d.ts +6 -0
  303. package/lib/components/Toolbar/MoreItemsContainer.js +25 -0
  304. package/lib/components/Toolbar/Select.d.ts +14 -0
  305. package/lib/components/Toolbar/Select.js +40 -0
  306. package/lib/components/Toolbar/index.css +405 -0
  307. package/lib/components/Toolbar/index.d.ts +10 -0
  308. package/lib/components/Toolbar/index.js +1347 -0
  309. package/lib/components/Workbook/api.d.ts +1177 -0
  310. package/lib/components/Workbook/api.js +402 -0
  311. package/lib/components/Workbook/index.css +44 -0
  312. package/{dist/stories/API.stories.d.ts → lib/components/Workbook/index.d.ts} +1185 -1210
  313. package/lib/components/Workbook/index.js +595 -0
  314. package/lib/components/ZoomControl/index.css +54 -0
  315. package/lib/components/ZoomControl/index.d.ts +4 -0
  316. package/lib/components/ZoomControl/index.js +120 -0
  317. package/lib/components/index.d.ts +4 -0
  318. package/lib/components/index.js +28 -0
  319. package/lib/constants.d.ts +1 -0
  320. package/lib/constants.js +10 -0
  321. package/lib/context/index.d.ts +25 -0
  322. package/lib/context/index.js +41 -0
  323. package/lib/context/modal.d.ts +10 -0
  324. package/lib/context/modal.js +50 -0
  325. package/lib/hooks/useAlert.d.ts +4 -0
  326. package/lib/hooks/useAlert.js +37 -0
  327. package/lib/hooks/useDialog.d.ts +5 -0
  328. package/lib/hooks/useDialog.js +37 -0
  329. package/lib/hooks/useOutsideClick.d.ts +2 -0
  330. package/lib/hooks/useOutsideClick.js +21 -0
  331. package/lib/hooks/usePrevious.d.ts +2 -0
  332. package/lib/hooks/usePrevious.js +15 -0
  333. package/lib/index.d.ts +1 -0
  334. package/lib/index.js +16 -0
  335. package/lib/utils/datepickerStyles.d.ts +2 -0
  336. package/lib/utils/datepickerStyles.js +14 -0
  337. package/package.json +7 -6
  338. package/dist/index.css +0 -3915
  339. package/dist/index.esm.css +0 -3915
  340. package/dist/index.esm.js +0 -12974
  341. package/dist/index.js +0 -12994
  342. package/dist/index.umd.css +0 -3915
  343. package/dist/index.umd.js +0 -122178
  344. package/dist/index.umd.min.css +0 -1
  345. package/dist/index.umd.min.js +0 -50
  346. package/dist/packages/core/src/api/cell.d.ts +0 -10
  347. package/dist/packages/core/src/api/common.d.ts +0 -66
  348. package/dist/packages/core/src/api/errors.d.ts +0 -2
  349. package/dist/packages/core/src/api/index.d.ts +0 -9
  350. package/dist/packages/core/src/api/merge.d.ts +0 -5
  351. package/dist/packages/core/src/api/range.d.ts +0 -22
  352. package/dist/packages/core/src/api/rowcol.d.ts +0 -14
  353. package/dist/packages/core/src/api/sheet.d.ts +0 -10
  354. package/dist/packages/core/src/api/workbook.d.ts +0 -15
  355. package/dist/packages/core/src/canvas.d.ts +0 -46
  356. package/dist/packages/core/src/context.d.ts +0 -197
  357. package/dist/packages/core/src/events/copy.d.ts +0 -2
  358. package/dist/packages/core/src/events/index.d.ts +0 -4
  359. package/dist/packages/core/src/events/keyboard.d.ts +0 -6
  360. package/dist/packages/core/src/events/mouse.d.ts +0 -22
  361. package/dist/packages/core/src/events/paste.d.ts +0 -3
  362. package/dist/packages/core/src/index.d.ts +0 -10
  363. package/dist/packages/core/src/locale/en.d.ts +0 -992
  364. package/dist/packages/core/src/locale/es.d.ts +0 -1134
  365. package/dist/packages/core/src/locale/hi.d.ts +0 -1030
  366. package/dist/packages/core/src/locale/index.d.ts +0 -1049
  367. package/dist/packages/core/src/locale/zh.d.ts +0 -1048
  368. package/dist/packages/core/src/locale/zh_tw.d.ts +0 -1187
  369. package/dist/packages/core/src/modules/ConditionFormat.d.ts +0 -17
  370. package/dist/packages/core/src/modules/border.d.ts +0 -3
  371. package/dist/packages/core/src/modules/cell.d.ts +0 -32
  372. package/dist/packages/core/src/modules/clipboard.d.ts +0 -3
  373. package/dist/packages/core/src/modules/color.d.ts +0 -1
  374. package/dist/packages/core/src/modules/comment.d.ts +0 -97
  375. package/dist/packages/core/src/modules/conditionalFormat.d.ts +0 -2
  376. package/dist/packages/core/src/modules/cursor.d.ts +0 -3
  377. package/dist/packages/core/src/modules/dataVerification.d.ts +0 -11
  378. package/dist/packages/core/src/modules/dropCell.d.ts +0 -10
  379. package/dist/packages/core/src/modules/filter.d.ts +0 -45
  380. package/dist/packages/core/src/modules/format.d.ts +0 -6
  381. package/dist/packages/core/src/modules/formula.d.ts +0 -54
  382. package/dist/packages/core/src/modules/freeze.d.ts +0 -5
  383. package/dist/packages/core/src/modules/hyperlink.d.ts +0 -21
  384. package/dist/packages/core/src/modules/iframe.d.ts +0 -12
  385. package/dist/packages/core/src/modules/image.d.ts +0 -31
  386. package/dist/packages/core/src/modules/index.d.ts +0 -36
  387. package/dist/packages/core/src/modules/inline-string.d.ts +0 -36
  388. package/dist/packages/core/src/modules/location.d.ts +0 -6
  389. package/dist/packages/core/src/modules/locationCondition.d.ts +0 -21
  390. package/dist/packages/core/src/modules/merge.d.ts +0 -3
  391. package/dist/packages/core/src/modules/mobile.d.ts +0 -5
  392. package/dist/packages/core/src/modules/moveCells.d.ts +0 -5
  393. package/dist/packages/core/src/modules/protection.d.ts +0 -5
  394. package/dist/packages/core/src/modules/refresh.d.ts +0 -3
  395. package/dist/packages/core/src/modules/rowcol.d.ts +0 -19
  396. package/dist/packages/core/src/modules/screenshot.d.ts +0 -2
  397. package/dist/packages/core/src/modules/searchReplace.d.ts +0 -36
  398. package/dist/packages/core/src/modules/selection.d.ts +0 -46
  399. package/dist/packages/core/src/modules/sheet.d.ts +0 -10
  400. package/dist/packages/core/src/modules/sort.d.ts +0 -7
  401. package/dist/packages/core/src/modules/splitColumn.d.ts +0 -5
  402. package/dist/packages/core/src/modules/text.d.ts +0 -10
  403. package/dist/packages/core/src/modules/toolbar.d.ts +0 -32
  404. package/dist/packages/core/src/modules/validation.d.ts +0 -19
  405. package/dist/packages/core/src/modules/zoom.d.ts +0 -3
  406. package/dist/packages/core/src/settings.d.ts +0 -100
  407. package/dist/packages/core/src/types.d.ts +0 -371
  408. package/dist/packages/core/src/utils/freeze.d.ts +0 -7
  409. package/dist/packages/core/src/utils/index.d.ts +0 -18
  410. package/dist/packages/core/src/utils/patch.d.ts +0 -37
  411. package/dist/packages/react/src/components/Toolbar/index.d.ts +0 -10
  412. package/dist/stories/Collabration.stories.d.ts +0 -2359
  413. package/dist/stories/Features.stories.d.ts +0 -9430
  414. package/dist/stories/data/cell.d.ts +0 -983
  415. package/dist/stories/data/dataVerification.d.ts +0 -131
  416. package/dist/stories/data/empty.d.ts +0 -10
  417. package/dist/stories/data/formula.d.ts +0 -362
  418. package/dist/stories/data/freeze.d.ts +0 -34
  419. package/dist/stories/data/protected.d.ts +0 -40
  420. package/dist/stories/utils.d.ts +0 -1
@@ -0,0 +1,395 @@
1
+ import { addSheet, api, deleteRowCol, deleteSheet, insertRowCol, opToPatch, createFilterOptions, getSheetIndex, locale, setCaretPosition, newComment } from "@fileverse-dev/fortune-core";
2
+ import { applyPatches } from "immer";
3
+ import _ from "lodash";
4
+ export function generateAPIs(context, setContext, handleUndo, handleRedo, settings, cellInput, scrollbarX, scrollbarY, globalCache) {
5
+ return {
6
+ applyOp: function applyOp(ops) {
7
+ setContext(function (ctx_) {
8
+ var _a, _b, _c, _d, _e, _f, _g, _h;
9
+ var _j = opToPatch(ctx_, ops),
10
+ patches = _j[0],
11
+ specialOps = _j[1];
12
+ if (specialOps.length > 0) {
13
+ var specialOp = specialOps[0];
14
+ if (specialOp.op === "insertRowCol") {
15
+ try {
16
+ insertRowCol(ctx_, specialOp.value, false);
17
+ } catch (e) {
18
+ console.error(e);
19
+ }
20
+ } else if (specialOp.op === "deleteRowCol") {
21
+ deleteRowCol(ctx_, specialOp.value);
22
+ } else if (specialOp.op === "addSheet") {
23
+ var name_1 = (_b = (_a = patches.filter(function (path) {
24
+ return path.path[0] === "name";
25
+ })) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.value;
26
+ if ((_c = specialOp.value) === null || _c === void 0 ? void 0 : _c.id) {
27
+ addSheet(ctx_, settings, specialOp.value.id, false, name_1, specialOp.value);
28
+ }
29
+ var fileIndex = getSheetIndex(ctx_, specialOp.value.id);
30
+ api.initSheetData(ctx_, fileIndex, specialOp.value);
31
+ } else if (specialOp.op === "deleteSheet") {
32
+ deleteSheet(ctx_, specialOp.value.id);
33
+ patches.length = 0;
34
+ }
35
+ }
36
+ if (((_e = (_d = ops[0]) === null || _d === void 0 ? void 0 : _d.path) === null || _e === void 0 ? void 0 : _e[0]) === "filter_select") ctx_.luckysheet_filter_save = ops[0].value;else if (((_g = (_f = ops[0]) === null || _f === void 0 ? void 0 : _f.path) === null || _g === void 0 ? void 0 : _g[0]) === "hide") {
37
+ if (ctx_.currentSheetId === ops[0].id) {
38
+ var shownSheets = ctx_.luckysheetfile.filter(function (sheet) {
39
+ return (_.isUndefined(sheet.hide) || (sheet === null || sheet === void 0 ? void 0 : sheet.hide) !== 1) && sheet.id !== ops[0].id;
40
+ });
41
+ ctx_.currentSheetId = _.sortBy(shownSheets, function (sheet) {
42
+ return sheet.order;
43
+ })[0].id;
44
+ }
45
+ }
46
+ createFilterOptions(ctx_, ctx_.luckysheet_filter_save, (_h = ops[0]) === null || _h === void 0 ? void 0 : _h.id);
47
+ if (patches.length === 0) return;
48
+ try {
49
+ applyPatches(ctx_, patches);
50
+ } catch (e) {
51
+ console.error(e);
52
+ }
53
+ }, {
54
+ noHistory: true
55
+ });
56
+ },
57
+ getCellValue: function getCellValue(row, column, options) {
58
+ if (options === void 0) {
59
+ options = {};
60
+ }
61
+ return api.getCellValue(context, row, column, options);
62
+ },
63
+ onboardingActiveCell: function onboardingActiveCell(functionName) {
64
+ var _a;
65
+ var functionlist = locale(context).functionlist;
66
+ var last = (_a = context.luckysheet_select_save) === null || _a === void 0 ? void 0 : _a[context.luckysheet_select_save.length - 1];
67
+ var row_index = last === null || last === void 0 ? void 0 : last.row_focus;
68
+ var col_index = last === null || last === void 0 ? void 0 : last.column_focus;
69
+ if (!last) {
70
+ row_index = 0;
71
+ col_index = 0;
72
+ } else {
73
+ if (row_index == null) {
74
+ row_index = last.row[0];
75
+ }
76
+ if (col_index == null) {
77
+ col_index = last.column[0];
78
+ }
79
+ }
80
+ var formulaTxt = "<span>=</span><span>".concat(functionName, "</span><span>(</span>");
81
+ setContext(function (ctx) {
82
+ if (cellInput != null) {
83
+ ctx.luckysheetCellUpdate = [row_index, col_index];
84
+ cellInput.innerHTML = formulaTxt;
85
+ var spans = cellInput.childNodes;
86
+ if (!_.isEmpty(spans)) {
87
+ setCaretPosition(ctx, spans[spans.length - 1], 0, 1);
88
+ }
89
+ ctx.functionHint = functionName;
90
+ ctx.functionCandidates = [];
91
+ if (_.isEmpty(ctx.formulaCache.functionlistMap)) {
92
+ for (var i = 0; i < functionlist.length; i += 1) {
93
+ ctx.formulaCache.functionlistMap[functionlist[i].n] = functionlist[i];
94
+ }
95
+ }
96
+ }
97
+ });
98
+ },
99
+ initializeComment: function initializeComment(row, column) {
100
+ setContext(function (ctx) {
101
+ newComment(ctx, undefined, row, column);
102
+ });
103
+ },
104
+ setCellValue: function setCellValue(row, column, value, options) {
105
+ if (options === void 0) {
106
+ options = {};
107
+ }
108
+ return setContext(function (draftCtx) {
109
+ return api.setCellValue(draftCtx, row, column, value, cellInput, options);
110
+ });
111
+ },
112
+ clearCell: function clearCell(row, column, options) {
113
+ if (options === void 0) {
114
+ options = {};
115
+ }
116
+ return setContext(function (draftCtx) {
117
+ return api.clearCell(draftCtx, row, column, options);
118
+ });
119
+ },
120
+ setCellFormat: function setCellFormat(row, column, attr, value, options) {
121
+ if (options === void 0) {
122
+ options = {};
123
+ }
124
+ return setContext(function (draftCtx) {
125
+ return api.setCellFormat(draftCtx, row, column, attr, value, options);
126
+ });
127
+ },
128
+ autoFillCell: function autoFillCell(copyRange, applyRange, direction) {
129
+ return setContext(function (draftCtx) {
130
+ return api.autoFillCell(draftCtx, copyRange, applyRange, direction);
131
+ });
132
+ },
133
+ freeze: function freeze(type, range, options) {
134
+ if (options === void 0) {
135
+ options = {};
136
+ }
137
+ return setContext(function (draftCtx) {
138
+ return api.freeze(draftCtx, type, range, options);
139
+ });
140
+ },
141
+ insertRowOrColumn: function insertRowOrColumn(type, index, count, direction, options) {
142
+ if (direction === void 0) {
143
+ direction = "rightbottom";
144
+ }
145
+ if (options === void 0) {
146
+ options = {};
147
+ }
148
+ return setContext(function (draftCtx) {
149
+ return api.insertRowOrColumn(draftCtx, type, index, count, direction, options);
150
+ });
151
+ },
152
+ deleteRowOrColumn: function deleteRowOrColumn(type, start, end, options) {
153
+ if (options === void 0) {
154
+ options = {};
155
+ }
156
+ return setContext(function (draftCtx) {
157
+ return api.deleteRowOrColumn(draftCtx, type, start, end, options);
158
+ });
159
+ },
160
+ hideRowOrColumn: function hideRowOrColumn(rowOrColInfo, type) {
161
+ return setContext(function (draftCtx) {
162
+ return api.hideRowOrColumn(draftCtx, rowOrColInfo, type);
163
+ });
164
+ },
165
+ showRowOrColumn: function showRowOrColumn(rowOrColInfo, type) {
166
+ return setContext(function (draftCtx) {
167
+ return api.showRowOrColumn(draftCtx, rowOrColInfo, type);
168
+ });
169
+ },
170
+ setRowHeight: function setRowHeight(rowInfo, options, custom) {
171
+ if (options === void 0) {
172
+ options = {};
173
+ }
174
+ if (custom === void 0) {
175
+ custom = false;
176
+ }
177
+ return setContext(function (draftCtx) {
178
+ return api.setRowHeight(draftCtx, rowInfo, options, custom);
179
+ });
180
+ },
181
+ setColumnWidth: function setColumnWidth(columnInfo, options, custom) {
182
+ if (options === void 0) {
183
+ options = {};
184
+ }
185
+ if (custom === void 0) {
186
+ custom = false;
187
+ }
188
+ return setContext(function (draftCtx) {
189
+ return api.setColumnWidth(draftCtx, columnInfo, options, custom);
190
+ });
191
+ },
192
+ getRowHeight: function getRowHeight(rows, options) {
193
+ if (options === void 0) {
194
+ options = {};
195
+ }
196
+ return api.getRowHeight(context, rows, options);
197
+ },
198
+ getColumnWidth: function getColumnWidth(columns, options) {
199
+ if (options === void 0) {
200
+ options = {};
201
+ }
202
+ return api.getColumnWidth(context, columns, options);
203
+ },
204
+ getSelection: function getSelection() {
205
+ return api.getSelection(context);
206
+ },
207
+ getFlattenRange: function getFlattenRange(range) {
208
+ return api.getFlattenRange(context, range);
209
+ },
210
+ getCellsByFlattenRange: function getCellsByFlattenRange(range) {
211
+ return api.getCellsByFlattenRange(context, range);
212
+ },
213
+ getSelectionCoordinates: function getSelectionCoordinates() {
214
+ return api.getSelectionCoordinates(context);
215
+ },
216
+ getCellsByRange: function getCellsByRange(range, options) {
217
+ if (options === void 0) {
218
+ options = {};
219
+ }
220
+ return api.getCellsByRange(context, range, options);
221
+ },
222
+ getHtmlByRange: function getHtmlByRange(range, options) {
223
+ if (options === void 0) {
224
+ options = {};
225
+ }
226
+ return api.getHtmlByRange(context, range, options);
227
+ },
228
+ setSelection: function setSelection(range, options) {
229
+ if (options === void 0) {
230
+ options = {};
231
+ }
232
+ return setContext(function (draftCtx) {
233
+ return api.setSelection(draftCtx, range, options);
234
+ });
235
+ },
236
+ setCellValuesByRange: function setCellValuesByRange(data, range, options) {
237
+ if (options === void 0) {
238
+ options = {};
239
+ }
240
+ return setContext(function (draftCtx) {
241
+ return api.setCellValuesByRange(draftCtx, data, range, cellInput, options);
242
+ });
243
+ },
244
+ setCellFormatByRange: function setCellFormatByRange(attr, value, range, options) {
245
+ if (options === void 0) {
246
+ options = {};
247
+ }
248
+ return setContext(function (draftCtx) {
249
+ return api.setCellFormatByRange(draftCtx, attr, value, range, options);
250
+ });
251
+ },
252
+ mergeCells: function mergeCells(ranges, type, options) {
253
+ if (options === void 0) {
254
+ options = {};
255
+ }
256
+ return setContext(function (draftCtx) {
257
+ return api.mergeCells(draftCtx, ranges, type, options);
258
+ });
259
+ },
260
+ cancelMerge: function cancelMerge(ranges, options) {
261
+ if (options === void 0) {
262
+ options = {};
263
+ }
264
+ return setContext(function (draftCtx) {
265
+ return api.cancelMerge(draftCtx, ranges, options);
266
+ });
267
+ },
268
+ getAllSheets: function getAllSheets() {
269
+ return api.getAllSheets(context);
270
+ },
271
+ getSheet: function getSheet(options) {
272
+ if (options === void 0) {
273
+ options = {};
274
+ }
275
+ return api.getSheetWithLatestCelldata(context, options);
276
+ },
277
+ addSheet: function addSheet() {
278
+ return setContext(function (draftCtx) {
279
+ return api.addSheet(draftCtx, settings);
280
+ });
281
+ },
282
+ deleteSheet: function deleteSheet(options) {
283
+ if (options === void 0) {
284
+ options = {};
285
+ }
286
+ return setContext(function (draftCtx) {
287
+ return api.deleteSheet(draftCtx, options);
288
+ });
289
+ },
290
+ updateSheet: function updateSheet(data) {
291
+ return setContext(function (draftCtx) {
292
+ return api.updateSheet(draftCtx, data);
293
+ });
294
+ },
295
+ activateSheet: function activateSheet(options) {
296
+ if (options === void 0) {
297
+ options = {};
298
+ }
299
+ return setContext(function (draftCtx) {
300
+ return api.activateSheet(draftCtx, options);
301
+ });
302
+ },
303
+ setSheetName: function setSheetName(name, options) {
304
+ if (options === void 0) {
305
+ options = {};
306
+ }
307
+ return setContext(function (draftCtx) {
308
+ return api.setSheetName(draftCtx, name, options);
309
+ });
310
+ },
311
+ setSheetOrder: function setSheetOrder(orderList) {
312
+ return setContext(function (draftCtx) {
313
+ return api.setSheetOrder(draftCtx, orderList);
314
+ });
315
+ },
316
+ scroll: function scroll(options) {
317
+ return api.scroll(context, scrollbarX, scrollbarY, options);
318
+ },
319
+ addPresences: function addPresences(newPresences) {
320
+ setContext(function (draftCtx) {
321
+ draftCtx.presences = _.differenceBy(draftCtx.presences || [], newPresences, function (v) {
322
+ return v.userId == null ? v.username : v.userId;
323
+ }).concat(newPresences);
324
+ });
325
+ },
326
+ removePresences: function removePresences(arr) {
327
+ setContext(function (draftCtx) {
328
+ if (draftCtx.presences != null) {
329
+ draftCtx.presences = _.differenceBy(draftCtx.presences, arr, function (v) {
330
+ return v.userId == null ? v.username : v.userId;
331
+ });
332
+ }
333
+ });
334
+ },
335
+ handleUndo: handleUndo,
336
+ handleRedo: handleRedo,
337
+ calculateFormula: function calculateFormula() {
338
+ setContext(function (draftCtx) {
339
+ _.forEach(draftCtx.luckysheetfile, function (sheet_obj) {
340
+ api.calculateSheetFromula(draftCtx, sheet_obj.id);
341
+ });
342
+ });
343
+ },
344
+ dataToCelldata: function dataToCelldata(data) {
345
+ return api.dataToCelldata(data);
346
+ },
347
+ celldataToData: function celldataToData(celldata, rowCount, colCount) {
348
+ return api.celldataToData(celldata, rowCount, colCount);
349
+ },
350
+ insertFunction: function insertFunction(selectedFuncIndex, filteredFunctionList, callback) {
351
+ var _a;
352
+ var last = (_a = context.luckysheet_select_save) === null || _a === void 0 ? void 0 : _a[context.luckysheet_select_save.length - 1];
353
+ var row_index = last === null || last === void 0 ? void 0 : last.row_focus;
354
+ var col_index = last === null || last === void 0 ? void 0 : last.column_focus;
355
+ if (!last) {
356
+ row_index = 0;
357
+ col_index = 0;
358
+ } else {
359
+ if (row_index == null) {
360
+ row_index = last.row[0];
361
+ }
362
+ if (col_index == null) {
363
+ col_index = last.column[0];
364
+ }
365
+ }
366
+ var formulaTxt = "<span dir=\"auto\" class=\"luckysheet-formula-text-color\">=</span><span dir=\"auto\" class=\"luckysheet-formula-text-color\">".concat(filteredFunctionList[selectedFuncIndex].n.toUpperCase(), "</span><span dir=\"auto\" class=\"luckysheet-formula-text-color\">(</span>");
367
+ var functionlist = locale(context).functionlist;
368
+ setContext(function (ctx) {
369
+ if (cellInput != null && globalCache != null) {
370
+ ctx.luckysheetCellUpdate = [row_index, col_index];
371
+ globalCache.doNotUpdateCell = true;
372
+ cellInput.innerHTML = formulaTxt;
373
+ var spans = cellInput.childNodes;
374
+ if (!_.isEmpty(spans)) {
375
+ setCaretPosition(ctx, spans[spans.length - 1], 0, 1);
376
+ }
377
+ ctx.functionHint = filteredFunctionList[selectedFuncIndex].n.toUpperCase();
378
+ ctx.functionCandidates = [];
379
+ if (_.isEmpty(ctx.formulaCache.functionlistMap)) {
380
+ for (var i = 0; i < functionlist.length; i += 1) {
381
+ ctx.formulaCache.functionlistMap[functionlist[i].n] = functionlist[i];
382
+ }
383
+ }
384
+ callback === null || callback === void 0 ? void 0 : callback();
385
+ }
386
+ });
387
+ },
388
+ getLocaleContext: function getLocaleContext() {
389
+ return locale(context);
390
+ },
391
+ getWorkbookContext: function getWorkbookContext() {
392
+ return context;
393
+ }
394
+ };
395
+ }
@@ -0,0 +1,44 @@
1
+ .fortune-container {
2
+ display: flex;
3
+ width: 100%;
4
+ height: 100%;
5
+ margin: 0;
6
+ padding: 0;
7
+ flex-direction: column;
8
+ font-family: "Helvetica Neue", Helvetica, Arial, "PingFang SC",
9
+ "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei",
10
+ sans-serif;
11
+ background-color: white;
12
+ position: relative;
13
+ }
14
+
15
+ .fortune-workarea {
16
+ width: 100%;
17
+ }
18
+
19
+ .fortune-popover-backdrop {
20
+ position: absolute;
21
+ top: 0;
22
+ left: 0;
23
+ z-index: 1003;
24
+ /* should below .fortune-context-menu */
25
+ height: 100%;
26
+ width: 100%;
27
+ }
28
+
29
+ .fortune-modal-container {
30
+ background: rgba(255, 255, 255, 0.5);
31
+ display: flex;
32
+ align-items: center;
33
+ justify-content: center;
34
+ }
35
+
36
+ html::-webkit-scrollbar-button {
37
+ display: none;
38
+ }
39
+
40
+ .fortune-stat-area {
41
+ display: flex;
42
+ justify-content: flex-end;
43
+ align-items: center;
44
+ }