@beppla/tapas-ui 1.4.31 → 1.4.33

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 (1051) hide show
  1. package/components/Alert/Alert.tsx +83 -0
  2. package/components/AnimatedNavItem/AnimatedNavItem.tsx +246 -0
  3. package/components/AnimatedNavItem/index.tsx +3 -0
  4. package/components/BarChart/BarChart.tsx +594 -0
  5. package/components/BarChart/index.tsx +2 -0
  6. package/components/Button/Button.tsx +96 -0
  7. package/components/Button/ButtonGroup.tsx +148 -0
  8. package/components/Button/react-native-hoverable.d.ts +14 -0
  9. package/components/Calendar/Calendar.base.tsx +393 -0
  10. package/components/Calendar/Calendar.tsx +107 -0
  11. package/components/Calendar/ConcreteTimeSelector.tsx +479 -0
  12. package/components/Calendar/CustomRange.tsx +538 -0
  13. package/components/Calendar/DaySelector.tsx +159 -0
  14. package/components/Calendar/MonthSelector.tsx +154 -0
  15. package/components/Calendar/TimeSelector.tsx +493 -0
  16. package/components/Calendar/WeekDaySelector.tsx +154 -0
  17. package/components/Calendar/helper.ts +138 -0
  18. package/components/Calendar/local.ts +124 -0
  19. package/components/Calendar/types.ts +113 -0
  20. package/components/Card/Card.tsx +276 -0
  21. package/components/CheckBox/CheckBox.tsx +157 -0
  22. package/components/CheckBox/CheckBoxItem.tsx +133 -0
  23. package/components/CheckBox/GroupCheckBox.tsx +87 -0
  24. package/components/CircularProgress/CircularProgress.tsx +45 -0
  25. package/components/Collapsible/Collapsible.tsx +88 -0
  26. package/components/ComboChart/ComboChart.tsx +214 -0
  27. package/components/ComboChart/index.tsx +3 -0
  28. package/components/DashboardCard/DashboardCard.tsx +221 -0
  29. package/components/DataCell/DataCell.tsx +670 -0
  30. package/components/DataCell/index.tsx +9 -0
  31. package/components/DataTable/DataTable.tsx +263 -0
  32. package/components/DataTable/index.tsx +3 -0
  33. package/components/DeviceSelectionModal/DeviceSelectionModal.tsx +368 -0
  34. package/components/DraggableFlatList/DraggableFlatList.tsx +12 -0
  35. package/components/Drawer/Drawer.tsx +227 -0
  36. package/components/Dropdown/CustomDropdown.tsx +288 -0
  37. package/components/Dropdown/Dropdown.tsx +830 -0
  38. package/components/Dropdown/InputDropdown.tsx +190 -0
  39. package/components/ExternalLink/ExternalLink.tsx +69 -0
  40. package/components/Gantt/Accessories.tsx +302 -0
  41. package/components/Gantt/Gantt.tsx +246 -0
  42. package/components/Gantt/GanttInnerElementType.tsx +131 -0
  43. package/components/Gantt/helper.ts +382 -0
  44. package/components/Gantt/types.ts +108 -0
  45. package/components/Grid/FixedSizeGrid.tsx +248 -0
  46. package/components/Grid/Grid.base.tsx +933 -0
  47. package/components/Grid/StaticFixedSizeGrid.tsx +511 -0
  48. package/components/Grid/VariableSizeGrid.tsx +514 -0
  49. package/components/Grid/helper.ts +69 -0
  50. package/components/Grid/timer.ts +32 -0
  51. package/components/Header/Header.tsx +240 -0
  52. package/components/HelloWave/HelloWave.tsx +70 -0
  53. package/components/Hoverable/Hoverable.tsx +65 -0
  54. package/components/IconText/IconText.tsx +132 -0
  55. package/components/Icons/TapasIcon.tsx +160 -0
  56. package/components/Icons/TapasIconExpo.tsx +115 -0
  57. package/components/Icons/expoFontLoader.ts +203 -0
  58. package/components/Icons/fontLoader.ts +247 -0
  59. package/components/Icons/index.tsx +19 -0
  60. package/components/Icons/smartFontLoader.ts +318 -0
  61. package/components/Image/Image.tsx +157 -0
  62. package/components/Image/PreviewImg.tsx +137 -0
  63. package/components/Input/Input.tsx +297 -0
  64. package/components/Layout/DrawerContext.tsx +31 -0
  65. package/components/Layout/Layout.tsx +119 -0
  66. package/components/Layout/ToastContext.tsx +29 -0
  67. package/components/Layout/index.tsx +24 -0
  68. package/components/LineChart/LineChart.tsx +479 -0
  69. package/components/LineChart/index.tsx +2 -0
  70. package/components/ListItem/ListItem.tsx +307 -0
  71. package/components/Loading/Loading.tsx +94 -0
  72. package/components/MessageBox/MessageBox.tsx +243 -0
  73. package/components/MultiSelector/MultiSelector.tsx +627 -0
  74. package/components/MultiSelector/index.tsx +2 -0
  75. package/components/Navigation/Navigation.tsx +327 -0
  76. package/components/Notification/Notification.tsx +289 -0
  77. package/components/Notification/index.tsx +2 -0
  78. package/components/NumericInput/NumericInput.tsx +244 -0
  79. package/components/Overlay/Overlay.tsx +30 -0
  80. package/components/Pagination/Pagination.tsx +296 -0
  81. package/components/PieChart/GroupedLegend.tsx +284 -0
  82. package/components/PieChart/NestedPieChart.tsx +606 -0
  83. package/components/PieChart/NestedPieChart.types.ts +171 -0
  84. package/components/PieChart/NestedPieChart.utils.ts +425 -0
  85. package/components/PieChart/PieChart.tsx +452 -0
  86. package/components/PieChart/index.tsx +19 -0
  87. package/components/Popover/Popover.tsx +172 -0
  88. package/components/Progress/Progress.tsx +209 -0
  89. package/components/Quantity/Quantity.tsx +195 -0
  90. package/components/Quantity/index.tsx +2 -0
  91. package/components/RadioButton/RadioButton.tsx +119 -0
  92. package/components/ReasonModal/ReasonModal.tsx +223 -0
  93. package/components/ReasonModal/index.tsx +3 -0
  94. package/components/ScanButton/ScanButton.tsx +139 -0
  95. package/components/SearchInput/SearchInput.tsx +361 -0
  96. package/components/SearchInput/index.tsx +2 -0
  97. package/components/SheetTitle/SheetTitle.tsx +84 -0
  98. package/components/Shell/Shell.tsx +116 -0
  99. package/components/Shell/styles.ts +29 -0
  100. package/components/Shell/types.ts +23 -0
  101. package/components/StatisticCard/StatisticCard.tsx +132 -0
  102. package/components/StatisticCard/index.tsx +3 -0
  103. package/components/StatisticsTable/StatisticsTable.tsx +1301 -0
  104. package/components/StatisticsTable/index.tsx +10 -0
  105. package/components/Status/Status.tsx +124 -0
  106. package/components/Steps/Steps.tsx +177 -0
  107. package/components/Tab/TapasTab.tsx +188 -0
  108. package/components/Tab/index.tsx +3 -0
  109. package/components/TabTitle/TabTitle.tsx +89 -0
  110. package/components/TabTitle/index.tsx +3 -0
  111. package/components/TableColumnHeader/TableColumnHeader.tsx +273 -0
  112. package/components/TableColumnHeader/index.tsx +7 -0
  113. package/components/Tag/Tag.tsx +92 -0
  114. package/components/Task/Task.tsx +309 -0
  115. package/components/Task/type.ts +6 -0
  116. package/components/Text/Text.tsx +152 -0
  117. package/components/TextArea/TextArea.tsx +348 -0
  118. package/components/Theme/ThemeProvider.tsx +13 -0
  119. package/components/Theme/defaultTheme.ts +222 -0
  120. package/components/Theme/themed.d.ts +102 -0
  121. package/components/Timeline/Timeline.tsx +230 -0
  122. package/components/Toast/Toast.tsx +167 -0
  123. package/components/UserSwitcher/UserSwitcher.tsx +272 -0
  124. package/components/UserSwitcher/index.tsx +3 -0
  125. package/components/WebViewBridge/WebViewBridge.tsx +1140 -0
  126. package/components/WebViewBridge/index.tsx +12 -0
  127. package/components/WebViewBridge/useWebViewBridge.ts +145 -0
  128. package/components/WordCloud/README.md +308 -0
  129. package/components/WordCloud/WordCloud.tsx +449 -0
  130. package/components/WordCloud/index.tsx +3 -0
  131. package/components/common/bridgelessUtils.ts +22 -0
  132. package/components/common.ts +8 -0
  133. package/components/index.tsx +205 -0
  134. package/package/README.md +107 -0
  135. package/package/assets/adaptive-icon.png +0 -0
  136. package/package/assets/favicon.png +0 -0
  137. package/package/assets/fonts/customfont.ttf +0 -0
  138. package/package/assets/icon.png +0 -0
  139. package/package/assets/logo.png +0 -0
  140. package/package/assets/splash.png +0 -0
  141. package/package/assets/svg/customfont.svg +333 -0
  142. package/package/assets/svg/logo.svg +9 -0
  143. package/package/assets/tapas/favicon.png +0 -0
  144. package/package/assets/tapas/logo.png +0 -0
  145. package/package/assets/tapas/logo_no_word.png +0 -0
  146. package/package/assets/tapas/logo_transparent_white.png +0 -0
  147. package/package/commonjs/WordCloud/README.md +308 -0
  148. package/package/commonjs/WordCloud/WordCloud.js +410 -0
  149. package/package/commonjs/WordCloud/WordCloud.js.map +1 -0
  150. package/package/commonjs/index.js +941 -0
  151. package/package/commonjs/index.js.map +1 -0
  152. package/package/init.js +179 -0
  153. package/package/module/AnimatedNavItem/README.md +520 -0
  154. package/package/module/DataCell/README.md +1042 -0
  155. package/package/module/Drawer/SCROLLVIEW_FIX.md +127 -0
  156. package/package/module/Icons/README.md +182 -0
  157. package/package/module/Icons/icon-categories.json +341 -0
  158. package/package/module/Icons/real-icon-mapping.json +1940 -0
  159. package/package/module/Icons/selection.json +1 -0
  160. package/package/module/Input/FOCUS_FIX_SUMMARY.md +201 -0
  161. package/package/module/Input/FOCUS_ISSUE_ANALYSIS.md +188 -0
  162. package/package/module/Input/README.md +157 -0
  163. package/package/module/Loading/README.md +160 -0
  164. package/package/module/MultiSelector/README.md +246 -0
  165. package/package/module/Notification/README.md +158 -0
  166. package/package/module/Pagination/BACKGROUND_COLOR.md +173 -0
  167. package/package/module/Pagination/DROPDOWN_IMPROVEMENTS.md +321 -0
  168. package/package/module/PieChart/BACKWARD_COMPATIBILITY.md +157 -0
  169. package/package/module/PieChart/BUGFIX_EMPTY_DATA.md +86 -0
  170. package/package/module/PieChart/IMPLEMENTATION_SUMMARY.md +306 -0
  171. package/package/module/PieChart/NestedPieChart.README.md +421 -0
  172. package/package/module/Quantity/README.md +251 -0
  173. package/package/module/ReasonModal/README.md +320 -0
  174. package/package/module/SearchInput/README.md +304 -0
  175. package/package/module/StatisticsTable/PLACEHOLDER_FEATURE.md +287 -0
  176. package/package/module/StatisticsTable/README.md +470 -0
  177. package/package/module/StatisticsTable/SORTING_FEATURE.md +271 -0
  178. package/package/module/StatisticsTable/STATS_CELL_CLICK.md +120 -0
  179. package/package/module/StatisticsTable/VIRTUAL_SCROLLING.md +254 -0
  180. package/package/module/TabTitle/README.md +399 -0
  181. package/package/module/TableColumnHeader/README.md +682 -0
  182. package/package/module/UserSwitcher/README.md +334 -0
  183. package/package/module/WebViewBridge/OPTIMIZATION_SUMMARY.md +187 -0
  184. package/package/module/WebViewBridge/README.md +564 -0
  185. package/package/module/WordCloud/README.md +308 -0
  186. package/package/module/WordCloud/WordCloud.js +405 -0
  187. package/package/module/WordCloud/WordCloud.js.map +1 -0
  188. package/package/module/index.js +133 -0
  189. package/package/module/index.js.map +1 -0
  190. package/package/package.json +84 -0
  191. package/package/typescript/WordCloud/WordCloud.d.ts +39 -0
  192. package/package/typescript/WordCloud/WordCloud.d.ts.map +1 -0
  193. package/package/typescript/WordCloud/index.d.ts +3 -0
  194. package/package/typescript/WordCloud/index.d.ts.map +1 -0
  195. package/package/typescript/index.d.ts +118 -0
  196. package/package/typescript/index.d.ts.map +1 -0
  197. package/package.json +202 -66
  198. package/commonjs/WordCloud/WordCloud.js +0 -197
  199. package/commonjs/WordCloud/WordCloud.js.map +0 -1
  200. package/commonjs/index.js +0 -934
  201. package/commonjs/index.js.map +0 -1
  202. package/module/WordCloud/WordCloud.js +0 -192
  203. package/module/WordCloud/WordCloud.js.map +0 -1
  204. package/module/index.js +0 -133
  205. package/module/index.js.map +0 -1
  206. package/typescript/WordCloud/WordCloud.d.ts +0 -21
  207. package/typescript/WordCloud/WordCloud.d.ts.map +0 -1
  208. package/typescript/WordCloud/index.d.ts +0 -3
  209. package/typescript/WordCloud/index.d.ts.map +0 -1
  210. package/typescript/index.d.ts +0 -117
  211. package/typescript/index.d.ts.map +0 -1
  212. /package/{commonjs → components}/AnimatedNavItem/README.md +0 -0
  213. /package/{commonjs → components}/DataCell/README.md +0 -0
  214. /package/{commonjs → components}/Drawer/SCROLLVIEW_FIX.md +0 -0
  215. /package/{commonjs → components}/Icons/README.md +0 -0
  216. /package/{commonjs → components}/Icons/icon-categories.json +0 -0
  217. /package/{commonjs → components}/Icons/real-icon-mapping.json +0 -0
  218. /package/{commonjs → components}/Icons/selection.json +0 -0
  219. /package/{commonjs → components}/Input/FOCUS_FIX_SUMMARY.md +0 -0
  220. /package/{commonjs → components}/Input/FOCUS_ISSUE_ANALYSIS.md +0 -0
  221. /package/{commonjs → components}/Input/README.md +0 -0
  222. /package/{commonjs → components}/Loading/README.md +0 -0
  223. /package/{commonjs → components}/MultiSelector/README.md +0 -0
  224. /package/{commonjs → components}/Notification/README.md +0 -0
  225. /package/{commonjs → components}/Pagination/BACKGROUND_COLOR.md +0 -0
  226. /package/{commonjs → components}/Pagination/DROPDOWN_IMPROVEMENTS.md +0 -0
  227. /package/{commonjs → components}/PieChart/BACKWARD_COMPATIBILITY.md +0 -0
  228. /package/{commonjs → components}/PieChart/BUGFIX_EMPTY_DATA.md +0 -0
  229. /package/{commonjs → components}/PieChart/IMPLEMENTATION_SUMMARY.md +0 -0
  230. /package/{commonjs → components}/PieChart/NestedPieChart.README.md +0 -0
  231. /package/{commonjs → components}/Quantity/README.md +0 -0
  232. /package/{commonjs → components}/ReasonModal/README.md +0 -0
  233. /package/{commonjs → components}/SearchInput/README.md +0 -0
  234. /package/{commonjs → components}/StatisticsTable/PLACEHOLDER_FEATURE.md +0 -0
  235. /package/{commonjs → components}/StatisticsTable/README.md +0 -0
  236. /package/{commonjs → components}/StatisticsTable/SORTING_FEATURE.md +0 -0
  237. /package/{commonjs → components}/StatisticsTable/STATS_CELL_CLICK.md +0 -0
  238. /package/{commonjs → components}/StatisticsTable/VIRTUAL_SCROLLING.md +0 -0
  239. /package/{commonjs → components}/TabTitle/README.md +0 -0
  240. /package/{commonjs → components}/TableColumnHeader/README.md +0 -0
  241. /package/{commonjs → components}/UserSwitcher/README.md +0 -0
  242. /package/{commonjs → components}/WebViewBridge/OPTIMIZATION_SUMMARY.md +0 -0
  243. /package/{commonjs → components}/WebViewBridge/README.md +0 -0
  244. /package/{CHANGELOG.md → package/CHANGELOG.md} +0 -0
  245. /package/{commonjs → package/commonjs}/Alert/Alert.js +0 -0
  246. /package/{commonjs → package/commonjs}/Alert/Alert.js.map +0 -0
  247. /package/{commonjs → package/commonjs}/AnimatedNavItem/AnimatedNavItem.js +0 -0
  248. /package/{commonjs → package/commonjs}/AnimatedNavItem/AnimatedNavItem.js.map +0 -0
  249. /package/{module → package/commonjs}/AnimatedNavItem/README.md +0 -0
  250. /package/{commonjs → package/commonjs}/AnimatedNavItem/index.js +0 -0
  251. /package/{commonjs → package/commonjs}/AnimatedNavItem/index.js.map +0 -0
  252. /package/{commonjs → package/commonjs}/BarChart/BarChart.js +0 -0
  253. /package/{commonjs → package/commonjs}/BarChart/BarChart.js.map +0 -0
  254. /package/{commonjs → package/commonjs}/BarChart/index.js +0 -0
  255. /package/{commonjs → package/commonjs}/BarChart/index.js.map +0 -0
  256. /package/{commonjs → package/commonjs}/Button/Button.js +0 -0
  257. /package/{commonjs → package/commonjs}/Button/Button.js.map +0 -0
  258. /package/{commonjs → package/commonjs}/Button/ButtonGroup.js +0 -0
  259. /package/{commonjs → package/commonjs}/Button/ButtonGroup.js.map +0 -0
  260. /package/{commonjs → package/commonjs}/Button/react-native-hoverable.d.js +0 -0
  261. /package/{commonjs → package/commonjs}/Button/react-native-hoverable.d.js.map +0 -0
  262. /package/{commonjs → package/commonjs}/Calendar/Calendar.base.js +0 -0
  263. /package/{commonjs → package/commonjs}/Calendar/Calendar.base.js.map +0 -0
  264. /package/{commonjs → package/commonjs}/Calendar/Calendar.js +0 -0
  265. /package/{commonjs → package/commonjs}/Calendar/Calendar.js.map +0 -0
  266. /package/{commonjs → package/commonjs}/Calendar/ConcreteTimeSelector.js +0 -0
  267. /package/{commonjs → package/commonjs}/Calendar/ConcreteTimeSelector.js.map +0 -0
  268. /package/{commonjs → package/commonjs}/Calendar/CustomRange.js +0 -0
  269. /package/{commonjs → package/commonjs}/Calendar/CustomRange.js.map +0 -0
  270. /package/{commonjs → package/commonjs}/Calendar/DaySelector.js +0 -0
  271. /package/{commonjs → package/commonjs}/Calendar/DaySelector.js.map +0 -0
  272. /package/{commonjs → package/commonjs}/Calendar/MonthSelector.js +0 -0
  273. /package/{commonjs → package/commonjs}/Calendar/MonthSelector.js.map +0 -0
  274. /package/{commonjs → package/commonjs}/Calendar/TimeSelector.js +0 -0
  275. /package/{commonjs → package/commonjs}/Calendar/TimeSelector.js.map +0 -0
  276. /package/{commonjs → package/commonjs}/Calendar/WeekDaySelector.js +0 -0
  277. /package/{commonjs → package/commonjs}/Calendar/WeekDaySelector.js.map +0 -0
  278. /package/{commonjs → package/commonjs}/Calendar/helper.js +0 -0
  279. /package/{commonjs → package/commonjs}/Calendar/helper.js.map +0 -0
  280. /package/{commonjs → package/commonjs}/Calendar/local.js +0 -0
  281. /package/{commonjs → package/commonjs}/Calendar/local.js.map +0 -0
  282. /package/{commonjs → package/commonjs}/Calendar/types.js +0 -0
  283. /package/{commonjs → package/commonjs}/Calendar/types.js.map +0 -0
  284. /package/{commonjs → package/commonjs}/Card/Card.js +0 -0
  285. /package/{commonjs → package/commonjs}/Card/Card.js.map +0 -0
  286. /package/{commonjs → package/commonjs}/CheckBox/CheckBox.js +0 -0
  287. /package/{commonjs → package/commonjs}/CheckBox/CheckBox.js.map +0 -0
  288. /package/{commonjs → package/commonjs}/CheckBox/CheckBoxItem.js +0 -0
  289. /package/{commonjs → package/commonjs}/CheckBox/CheckBoxItem.js.map +0 -0
  290. /package/{commonjs → package/commonjs}/CheckBox/GroupCheckBox.js +0 -0
  291. /package/{commonjs → package/commonjs}/CheckBox/GroupCheckBox.js.map +0 -0
  292. /package/{commonjs → package/commonjs}/CircularProgress/CircularProgress.js +0 -0
  293. /package/{commonjs → package/commonjs}/CircularProgress/CircularProgress.js.map +0 -0
  294. /package/{commonjs → package/commonjs}/Collapsible/Collapsible.js +0 -0
  295. /package/{commonjs → package/commonjs}/Collapsible/Collapsible.js.map +0 -0
  296. /package/{commonjs → package/commonjs}/ComboChart/ComboChart.js +0 -0
  297. /package/{commonjs → package/commonjs}/ComboChart/ComboChart.js.map +0 -0
  298. /package/{commonjs → package/commonjs}/ComboChart/index.js +0 -0
  299. /package/{commonjs → package/commonjs}/ComboChart/index.js.map +0 -0
  300. /package/{commonjs → package/commonjs}/DashboardCard/DashboardCard.js +0 -0
  301. /package/{commonjs → package/commonjs}/DashboardCard/DashboardCard.js.map +0 -0
  302. /package/{commonjs → package/commonjs}/DataCell/DataCell.js +0 -0
  303. /package/{commonjs → package/commonjs}/DataCell/DataCell.js.map +0 -0
  304. /package/{module → package/commonjs}/DataCell/README.md +0 -0
  305. /package/{commonjs → package/commonjs}/DataCell/index.js +0 -0
  306. /package/{commonjs → package/commonjs}/DataCell/index.js.map +0 -0
  307. /package/{commonjs → package/commonjs}/DataTable/DataTable.js +0 -0
  308. /package/{commonjs → package/commonjs}/DataTable/DataTable.js.map +0 -0
  309. /package/{commonjs → package/commonjs}/DataTable/index.js +0 -0
  310. /package/{commonjs → package/commonjs}/DataTable/index.js.map +0 -0
  311. /package/{commonjs → package/commonjs}/DeviceSelectionModal/DeviceSelectionModal.js +0 -0
  312. /package/{commonjs → package/commonjs}/DeviceSelectionModal/DeviceSelectionModal.js.map +0 -0
  313. /package/{commonjs → package/commonjs}/DraggableFlatList/DraggableFlatList.js +0 -0
  314. /package/{commonjs → package/commonjs}/DraggableFlatList/DraggableFlatList.js.map +0 -0
  315. /package/{commonjs → package/commonjs}/Drawer/Drawer.js +0 -0
  316. /package/{commonjs → package/commonjs}/Drawer/Drawer.js.map +0 -0
  317. /package/{module → package/commonjs}/Drawer/SCROLLVIEW_FIX.md +0 -0
  318. /package/{commonjs → package/commonjs}/Dropdown/CustomDropdown.js +0 -0
  319. /package/{commonjs → package/commonjs}/Dropdown/CustomDropdown.js.map +0 -0
  320. /package/{commonjs → package/commonjs}/Dropdown/Dropdown.js +0 -0
  321. /package/{commonjs → package/commonjs}/Dropdown/Dropdown.js.map +0 -0
  322. /package/{commonjs → package/commonjs}/Dropdown/InputDropdown.js +0 -0
  323. /package/{commonjs → package/commonjs}/Dropdown/InputDropdown.js.map +0 -0
  324. /package/{commonjs → package/commonjs}/ExternalLink/ExternalLink.js +0 -0
  325. /package/{commonjs → package/commonjs}/ExternalLink/ExternalLink.js.map +0 -0
  326. /package/{commonjs → package/commonjs}/Gantt/Accessories.js +0 -0
  327. /package/{commonjs → package/commonjs}/Gantt/Accessories.js.map +0 -0
  328. /package/{commonjs → package/commonjs}/Gantt/Gantt.js +0 -0
  329. /package/{commonjs → package/commonjs}/Gantt/Gantt.js.map +0 -0
  330. /package/{commonjs → package/commonjs}/Gantt/GanttInnerElementType.js +0 -0
  331. /package/{commonjs → package/commonjs}/Gantt/GanttInnerElementType.js.map +0 -0
  332. /package/{commonjs → package/commonjs}/Gantt/helper.js +0 -0
  333. /package/{commonjs → package/commonjs}/Gantt/helper.js.map +0 -0
  334. /package/{commonjs → package/commonjs}/Gantt/types.js +0 -0
  335. /package/{commonjs → package/commonjs}/Gantt/types.js.map +0 -0
  336. /package/{commonjs → package/commonjs}/Grid/FixedSizeGrid.js +0 -0
  337. /package/{commonjs → package/commonjs}/Grid/FixedSizeGrid.js.map +0 -0
  338. /package/{commonjs → package/commonjs}/Grid/Grid.base.js +0 -0
  339. /package/{commonjs → package/commonjs}/Grid/Grid.base.js.map +0 -0
  340. /package/{commonjs → package/commonjs}/Grid/StaticFixedSizeGrid.js +0 -0
  341. /package/{commonjs → package/commonjs}/Grid/StaticFixedSizeGrid.js.map +0 -0
  342. /package/{commonjs → package/commonjs}/Grid/VariableSizeGrid.js +0 -0
  343. /package/{commonjs → package/commonjs}/Grid/VariableSizeGrid.js.map +0 -0
  344. /package/{commonjs → package/commonjs}/Grid/helper.js +0 -0
  345. /package/{commonjs → package/commonjs}/Grid/helper.js.map +0 -0
  346. /package/{commonjs → package/commonjs}/Grid/timer.js +0 -0
  347. /package/{commonjs → package/commonjs}/Grid/timer.js.map +0 -0
  348. /package/{commonjs → package/commonjs}/Header/Header.js +0 -0
  349. /package/{commonjs → package/commonjs}/Header/Header.js.map +0 -0
  350. /package/{commonjs → package/commonjs}/HelloWave/HelloWave.js +0 -0
  351. /package/{commonjs → package/commonjs}/HelloWave/HelloWave.js.map +0 -0
  352. /package/{commonjs → package/commonjs}/Hoverable/Hoverable.js +0 -0
  353. /package/{commonjs → package/commonjs}/Hoverable/Hoverable.js.map +0 -0
  354. /package/{commonjs → package/commonjs}/IconText/IconText.js +0 -0
  355. /package/{commonjs → package/commonjs}/IconText/IconText.js.map +0 -0
  356. /package/{module → package/commonjs}/Icons/README.md +0 -0
  357. /package/{commonjs → package/commonjs}/Icons/TapasIcon.js +0 -0
  358. /package/{commonjs → package/commonjs}/Icons/TapasIcon.js.map +0 -0
  359. /package/{commonjs → package/commonjs}/Icons/TapasIconExpo.js +0 -0
  360. /package/{commonjs → package/commonjs}/Icons/TapasIconExpo.js.map +0 -0
  361. /package/{commonjs → package/commonjs}/Icons/expoFontLoader.js +0 -0
  362. /package/{commonjs → package/commonjs}/Icons/expoFontLoader.js.map +0 -0
  363. /package/{commonjs → package/commonjs}/Icons/fontLoader.js +0 -0
  364. /package/{commonjs → package/commonjs}/Icons/fontLoader.js.map +0 -0
  365. /package/{module → package/commonjs}/Icons/icon-categories.json +0 -0
  366. /package/{commonjs → package/commonjs}/Icons/index.js +0 -0
  367. /package/{commonjs → package/commonjs}/Icons/index.js.map +0 -0
  368. /package/{module → package/commonjs}/Icons/real-icon-mapping.json +0 -0
  369. /package/{module → package/commonjs}/Icons/selection.json +0 -0
  370. /package/{commonjs → package/commonjs}/Icons/smartFontLoader.js +0 -0
  371. /package/{commonjs → package/commonjs}/Icons/smartFontLoader.js.map +0 -0
  372. /package/{commonjs → package/commonjs}/Image/Image.js +0 -0
  373. /package/{commonjs → package/commonjs}/Image/Image.js.map +0 -0
  374. /package/{commonjs → package/commonjs}/Image/PreviewImg.js +0 -0
  375. /package/{commonjs → package/commonjs}/Image/PreviewImg.js.map +0 -0
  376. /package/{module → package/commonjs}/Input/FOCUS_FIX_SUMMARY.md +0 -0
  377. /package/{module → package/commonjs}/Input/FOCUS_ISSUE_ANALYSIS.md +0 -0
  378. /package/{commonjs → package/commonjs}/Input/Input.js +0 -0
  379. /package/{commonjs → package/commonjs}/Input/Input.js.map +0 -0
  380. /package/{module → package/commonjs}/Input/README.md +0 -0
  381. /package/{commonjs → package/commonjs}/Layout/DrawerContext.js +0 -0
  382. /package/{commonjs → package/commonjs}/Layout/DrawerContext.js.map +0 -0
  383. /package/{commonjs → package/commonjs}/Layout/Layout.js +0 -0
  384. /package/{commonjs → package/commonjs}/Layout/Layout.js.map +0 -0
  385. /package/{commonjs → package/commonjs}/Layout/ToastContext.js +0 -0
  386. /package/{commonjs → package/commonjs}/Layout/ToastContext.js.map +0 -0
  387. /package/{commonjs → package/commonjs}/Layout/index.js +0 -0
  388. /package/{commonjs → package/commonjs}/Layout/index.js.map +0 -0
  389. /package/{commonjs → package/commonjs}/LineChart/LineChart.js +0 -0
  390. /package/{commonjs → package/commonjs}/LineChart/LineChart.js.map +0 -0
  391. /package/{commonjs → package/commonjs}/LineChart/index.js +0 -0
  392. /package/{commonjs → package/commonjs}/LineChart/index.js.map +0 -0
  393. /package/{commonjs → package/commonjs}/ListItem/ListItem.js +0 -0
  394. /package/{commonjs → package/commonjs}/ListItem/ListItem.js.map +0 -0
  395. /package/{commonjs → package/commonjs}/Loading/Loading.js +0 -0
  396. /package/{commonjs → package/commonjs}/Loading/Loading.js.map +0 -0
  397. /package/{module → package/commonjs}/Loading/README.md +0 -0
  398. /package/{commonjs → package/commonjs}/MessageBox/MessageBox.js +0 -0
  399. /package/{commonjs → package/commonjs}/MessageBox/MessageBox.js.map +0 -0
  400. /package/{commonjs → package/commonjs}/MultiSelector/MultiSelector.js +0 -0
  401. /package/{commonjs → package/commonjs}/MultiSelector/MultiSelector.js.map +0 -0
  402. /package/{module → package/commonjs}/MultiSelector/README.md +0 -0
  403. /package/{commonjs → package/commonjs}/MultiSelector/index.js +0 -0
  404. /package/{commonjs → package/commonjs}/MultiSelector/index.js.map +0 -0
  405. /package/{commonjs → package/commonjs}/Navigation/Navigation.js +0 -0
  406. /package/{commonjs → package/commonjs}/Navigation/Navigation.js.map +0 -0
  407. /package/{commonjs → package/commonjs}/Notification/Notification.js +0 -0
  408. /package/{commonjs → package/commonjs}/Notification/Notification.js.map +0 -0
  409. /package/{module → package/commonjs}/Notification/README.md +0 -0
  410. /package/{commonjs → package/commonjs}/Notification/index.js +0 -0
  411. /package/{commonjs → package/commonjs}/Notification/index.js.map +0 -0
  412. /package/{commonjs → package/commonjs}/NumericInput/NumericInput.js +0 -0
  413. /package/{commonjs → package/commonjs}/NumericInput/NumericInput.js.map +0 -0
  414. /package/{commonjs → package/commonjs}/Overlay/Overlay.js +0 -0
  415. /package/{commonjs → package/commonjs}/Overlay/Overlay.js.map +0 -0
  416. /package/{module → package/commonjs}/Pagination/BACKGROUND_COLOR.md +0 -0
  417. /package/{module → package/commonjs}/Pagination/DROPDOWN_IMPROVEMENTS.md +0 -0
  418. /package/{commonjs → package/commonjs}/Pagination/Pagination.js +0 -0
  419. /package/{commonjs → package/commonjs}/Pagination/Pagination.js.map +0 -0
  420. /package/{module → package/commonjs}/PieChart/BACKWARD_COMPATIBILITY.md +0 -0
  421. /package/{module → package/commonjs}/PieChart/BUGFIX_EMPTY_DATA.md +0 -0
  422. /package/{commonjs → package/commonjs}/PieChart/GroupedLegend.js +0 -0
  423. /package/{commonjs → package/commonjs}/PieChart/GroupedLegend.js.map +0 -0
  424. /package/{module → package/commonjs}/PieChart/IMPLEMENTATION_SUMMARY.md +0 -0
  425. /package/{module → package/commonjs}/PieChart/NestedPieChart.README.md +0 -0
  426. /package/{commonjs → package/commonjs}/PieChart/NestedPieChart.js +0 -0
  427. /package/{commonjs → package/commonjs}/PieChart/NestedPieChart.js.map +0 -0
  428. /package/{commonjs → package/commonjs}/PieChart/NestedPieChart.types.js +0 -0
  429. /package/{commonjs → package/commonjs}/PieChart/NestedPieChart.types.js.map +0 -0
  430. /package/{commonjs → package/commonjs}/PieChart/NestedPieChart.utils.js +0 -0
  431. /package/{commonjs → package/commonjs}/PieChart/NestedPieChart.utils.js.map +0 -0
  432. /package/{commonjs → package/commonjs}/PieChart/PieChart.js +0 -0
  433. /package/{commonjs → package/commonjs}/PieChart/PieChart.js.map +0 -0
  434. /package/{commonjs → package/commonjs}/PieChart/index.js +0 -0
  435. /package/{commonjs → package/commonjs}/PieChart/index.js.map +0 -0
  436. /package/{commonjs → package/commonjs}/Popover/Popover.js +0 -0
  437. /package/{commonjs → package/commonjs}/Popover/Popover.js.map +0 -0
  438. /package/{commonjs → package/commonjs}/Progress/Progress.js +0 -0
  439. /package/{commonjs → package/commonjs}/Progress/Progress.js.map +0 -0
  440. /package/{commonjs → package/commonjs}/Quantity/Quantity.js +0 -0
  441. /package/{commonjs → package/commonjs}/Quantity/Quantity.js.map +0 -0
  442. /package/{module → package/commonjs}/Quantity/README.md +0 -0
  443. /package/{commonjs → package/commonjs}/Quantity/index.js +0 -0
  444. /package/{commonjs → package/commonjs}/Quantity/index.js.map +0 -0
  445. /package/{commonjs → package/commonjs}/RadioButton/RadioButton.js +0 -0
  446. /package/{commonjs → package/commonjs}/RadioButton/RadioButton.js.map +0 -0
  447. /package/{module → package/commonjs}/ReasonModal/README.md +0 -0
  448. /package/{commonjs → package/commonjs}/ReasonModal/ReasonModal.js +0 -0
  449. /package/{commonjs → package/commonjs}/ReasonModal/ReasonModal.js.map +0 -0
  450. /package/{commonjs → package/commonjs}/ReasonModal/index.js +0 -0
  451. /package/{commonjs → package/commonjs}/ReasonModal/index.js.map +0 -0
  452. /package/{commonjs → package/commonjs}/ScanButton/ScanButton.js +0 -0
  453. /package/{commonjs → package/commonjs}/ScanButton/ScanButton.js.map +0 -0
  454. /package/{module → package/commonjs}/SearchInput/README.md +0 -0
  455. /package/{commonjs → package/commonjs}/SearchInput/SearchInput.js +0 -0
  456. /package/{commonjs → package/commonjs}/SearchInput/SearchInput.js.map +0 -0
  457. /package/{commonjs → package/commonjs}/SearchInput/index.js +0 -0
  458. /package/{commonjs → package/commonjs}/SearchInput/index.js.map +0 -0
  459. /package/{commonjs → package/commonjs}/SheetTitle/SheetTitle.js +0 -0
  460. /package/{commonjs → package/commonjs}/SheetTitle/SheetTitle.js.map +0 -0
  461. /package/{commonjs → package/commonjs}/Shell/Shell.js +0 -0
  462. /package/{commonjs → package/commonjs}/Shell/Shell.js.map +0 -0
  463. /package/{commonjs → package/commonjs}/Shell/styles.js +0 -0
  464. /package/{commonjs → package/commonjs}/Shell/styles.js.map +0 -0
  465. /package/{commonjs → package/commonjs}/Shell/types.js +0 -0
  466. /package/{commonjs → package/commonjs}/Shell/types.js.map +0 -0
  467. /package/{commonjs → package/commonjs}/StatisticCard/StatisticCard.js +0 -0
  468. /package/{commonjs → package/commonjs}/StatisticCard/StatisticCard.js.map +0 -0
  469. /package/{commonjs → package/commonjs}/StatisticCard/index.js +0 -0
  470. /package/{commonjs → package/commonjs}/StatisticCard/index.js.map +0 -0
  471. /package/{module → package/commonjs}/StatisticsTable/PLACEHOLDER_FEATURE.md +0 -0
  472. /package/{module → package/commonjs}/StatisticsTable/README.md +0 -0
  473. /package/{module → package/commonjs}/StatisticsTable/SORTING_FEATURE.md +0 -0
  474. /package/{module → package/commonjs}/StatisticsTable/STATS_CELL_CLICK.md +0 -0
  475. /package/{commonjs → package/commonjs}/StatisticsTable/StatisticsTable.js +0 -0
  476. /package/{commonjs → package/commonjs}/StatisticsTable/StatisticsTable.js.map +0 -0
  477. /package/{module → package/commonjs}/StatisticsTable/VIRTUAL_SCROLLING.md +0 -0
  478. /package/{commonjs → package/commonjs}/StatisticsTable/index.js +0 -0
  479. /package/{commonjs → package/commonjs}/StatisticsTable/index.js.map +0 -0
  480. /package/{commonjs → package/commonjs}/Status/Status.js +0 -0
  481. /package/{commonjs → package/commonjs}/Status/Status.js.map +0 -0
  482. /package/{commonjs → package/commonjs}/Steps/Steps.js +0 -0
  483. /package/{commonjs → package/commonjs}/Steps/Steps.js.map +0 -0
  484. /package/{commonjs → package/commonjs}/Tab/TapasTab.js +0 -0
  485. /package/{commonjs → package/commonjs}/Tab/TapasTab.js.map +0 -0
  486. /package/{commonjs → package/commonjs}/Tab/index.js +0 -0
  487. /package/{commonjs → package/commonjs}/Tab/index.js.map +0 -0
  488. /package/{module → package/commonjs}/TabTitle/README.md +0 -0
  489. /package/{commonjs → package/commonjs}/TabTitle/TabTitle.js +0 -0
  490. /package/{commonjs → package/commonjs}/TabTitle/TabTitle.js.map +0 -0
  491. /package/{commonjs → package/commonjs}/TabTitle/index.js +0 -0
  492. /package/{commonjs → package/commonjs}/TabTitle/index.js.map +0 -0
  493. /package/{module → package/commonjs}/TableColumnHeader/README.md +0 -0
  494. /package/{commonjs → package/commonjs}/TableColumnHeader/TableColumnHeader.js +0 -0
  495. /package/{commonjs → package/commonjs}/TableColumnHeader/TableColumnHeader.js.map +0 -0
  496. /package/{commonjs → package/commonjs}/TableColumnHeader/index.js +0 -0
  497. /package/{commonjs → package/commonjs}/TableColumnHeader/index.js.map +0 -0
  498. /package/{commonjs → package/commonjs}/Tag/Tag.js +0 -0
  499. /package/{commonjs → package/commonjs}/Tag/Tag.js.map +0 -0
  500. /package/{commonjs → package/commonjs}/Task/Task.js +0 -0
  501. /package/{commonjs → package/commonjs}/Task/Task.js.map +0 -0
  502. /package/{commonjs → package/commonjs}/Task/type.js +0 -0
  503. /package/{commonjs → package/commonjs}/Task/type.js.map +0 -0
  504. /package/{commonjs → package/commonjs}/Text/Text.js +0 -0
  505. /package/{commonjs → package/commonjs}/Text/Text.js.map +0 -0
  506. /package/{commonjs → package/commonjs}/TextArea/TextArea.js +0 -0
  507. /package/{commonjs → package/commonjs}/TextArea/TextArea.js.map +0 -0
  508. /package/{commonjs → package/commonjs}/Theme/ThemeProvider.js +0 -0
  509. /package/{commonjs → package/commonjs}/Theme/ThemeProvider.js.map +0 -0
  510. /package/{commonjs → package/commonjs}/Theme/defaultTheme.js +0 -0
  511. /package/{commonjs → package/commonjs}/Theme/defaultTheme.js.map +0 -0
  512. /package/{commonjs → package/commonjs}/Theme/themed.d.js +0 -0
  513. /package/{commonjs → package/commonjs}/Theme/themed.d.js.map +0 -0
  514. /package/{commonjs → package/commonjs}/Timeline/Timeline.js +0 -0
  515. /package/{commonjs → package/commonjs}/Timeline/Timeline.js.map +0 -0
  516. /package/{commonjs → package/commonjs}/Toast/Toast.js +0 -0
  517. /package/{commonjs → package/commonjs}/Toast/Toast.js.map +0 -0
  518. /package/{module → package/commonjs}/UserSwitcher/README.md +0 -0
  519. /package/{commonjs → package/commonjs}/UserSwitcher/UserSwitcher.js +0 -0
  520. /package/{commonjs → package/commonjs}/UserSwitcher/UserSwitcher.js.map +0 -0
  521. /package/{commonjs → package/commonjs}/UserSwitcher/index.js +0 -0
  522. /package/{commonjs → package/commonjs}/UserSwitcher/index.js.map +0 -0
  523. /package/{module → package/commonjs}/WebViewBridge/OPTIMIZATION_SUMMARY.md +0 -0
  524. /package/{module → package/commonjs}/WebViewBridge/README.md +0 -0
  525. /package/{commonjs → package/commonjs}/WebViewBridge/WebViewBridge.js +0 -0
  526. /package/{commonjs → package/commonjs}/WebViewBridge/WebViewBridge.js.map +0 -0
  527. /package/{commonjs → package/commonjs}/WebViewBridge/index.js +0 -0
  528. /package/{commonjs → package/commonjs}/WebViewBridge/index.js.map +0 -0
  529. /package/{commonjs → package/commonjs}/WebViewBridge/useWebViewBridge.js +0 -0
  530. /package/{commonjs → package/commonjs}/WebViewBridge/useWebViewBridge.js.map +0 -0
  531. /package/{commonjs → package/commonjs}/WordCloud/index.js +0 -0
  532. /package/{commonjs → package/commonjs}/WordCloud/index.js.map +0 -0
  533. /package/{commonjs → package/commonjs}/common/bridgelessUtils.js +0 -0
  534. /package/{commonjs → package/commonjs}/common/bridgelessUtils.js.map +0 -0
  535. /package/{commonjs → package/commonjs}/common.js +0 -0
  536. /package/{commonjs → package/commonjs}/common.js.map +0 -0
  537. /package/{commonjs → package/commonjs}/package.json +0 -0
  538. /package/{module → package/module}/Alert/Alert.js +0 -0
  539. /package/{module → package/module}/Alert/Alert.js.map +0 -0
  540. /package/{module → package/module}/AnimatedNavItem/AnimatedNavItem.js +0 -0
  541. /package/{module → package/module}/AnimatedNavItem/AnimatedNavItem.js.map +0 -0
  542. /package/{module → package/module}/AnimatedNavItem/index.js +0 -0
  543. /package/{module → package/module}/AnimatedNavItem/index.js.map +0 -0
  544. /package/{module → package/module}/BarChart/BarChart.js +0 -0
  545. /package/{module → package/module}/BarChart/BarChart.js.map +0 -0
  546. /package/{module → package/module}/BarChart/index.js +0 -0
  547. /package/{module → package/module}/BarChart/index.js.map +0 -0
  548. /package/{module → package/module}/Button/Button.js +0 -0
  549. /package/{module → package/module}/Button/Button.js.map +0 -0
  550. /package/{module → package/module}/Button/ButtonGroup.js +0 -0
  551. /package/{module → package/module}/Button/ButtonGroup.js.map +0 -0
  552. /package/{module → package/module}/Button/react-native-hoverable.d.js +0 -0
  553. /package/{module → package/module}/Button/react-native-hoverable.d.js.map +0 -0
  554. /package/{module → package/module}/Calendar/Calendar.base.js +0 -0
  555. /package/{module → package/module}/Calendar/Calendar.base.js.map +0 -0
  556. /package/{module → package/module}/Calendar/Calendar.js +0 -0
  557. /package/{module → package/module}/Calendar/Calendar.js.map +0 -0
  558. /package/{module → package/module}/Calendar/ConcreteTimeSelector.js +0 -0
  559. /package/{module → package/module}/Calendar/ConcreteTimeSelector.js.map +0 -0
  560. /package/{module → package/module}/Calendar/CustomRange.js +0 -0
  561. /package/{module → package/module}/Calendar/CustomRange.js.map +0 -0
  562. /package/{module → package/module}/Calendar/DaySelector.js +0 -0
  563. /package/{module → package/module}/Calendar/DaySelector.js.map +0 -0
  564. /package/{module → package/module}/Calendar/MonthSelector.js +0 -0
  565. /package/{module → package/module}/Calendar/MonthSelector.js.map +0 -0
  566. /package/{module → package/module}/Calendar/TimeSelector.js +0 -0
  567. /package/{module → package/module}/Calendar/TimeSelector.js.map +0 -0
  568. /package/{module → package/module}/Calendar/WeekDaySelector.js +0 -0
  569. /package/{module → package/module}/Calendar/WeekDaySelector.js.map +0 -0
  570. /package/{module → package/module}/Calendar/helper.js +0 -0
  571. /package/{module → package/module}/Calendar/helper.js.map +0 -0
  572. /package/{module → package/module}/Calendar/local.js +0 -0
  573. /package/{module → package/module}/Calendar/local.js.map +0 -0
  574. /package/{module → package/module}/Calendar/types.js +0 -0
  575. /package/{module → package/module}/Calendar/types.js.map +0 -0
  576. /package/{module → package/module}/Card/Card.js +0 -0
  577. /package/{module → package/module}/Card/Card.js.map +0 -0
  578. /package/{module → package/module}/CheckBox/CheckBox.js +0 -0
  579. /package/{module → package/module}/CheckBox/CheckBox.js.map +0 -0
  580. /package/{module → package/module}/CheckBox/CheckBoxItem.js +0 -0
  581. /package/{module → package/module}/CheckBox/CheckBoxItem.js.map +0 -0
  582. /package/{module → package/module}/CheckBox/GroupCheckBox.js +0 -0
  583. /package/{module → package/module}/CheckBox/GroupCheckBox.js.map +0 -0
  584. /package/{module → package/module}/CircularProgress/CircularProgress.js +0 -0
  585. /package/{module → package/module}/CircularProgress/CircularProgress.js.map +0 -0
  586. /package/{module → package/module}/Collapsible/Collapsible.js +0 -0
  587. /package/{module → package/module}/Collapsible/Collapsible.js.map +0 -0
  588. /package/{module → package/module}/ComboChart/ComboChart.js +0 -0
  589. /package/{module → package/module}/ComboChart/ComboChart.js.map +0 -0
  590. /package/{module → package/module}/ComboChart/index.js +0 -0
  591. /package/{module → package/module}/ComboChart/index.js.map +0 -0
  592. /package/{module → package/module}/DashboardCard/DashboardCard.js +0 -0
  593. /package/{module → package/module}/DashboardCard/DashboardCard.js.map +0 -0
  594. /package/{module → package/module}/DataCell/DataCell.js +0 -0
  595. /package/{module → package/module}/DataCell/DataCell.js.map +0 -0
  596. /package/{module → package/module}/DataCell/index.js +0 -0
  597. /package/{module → package/module}/DataCell/index.js.map +0 -0
  598. /package/{module → package/module}/DataTable/DataTable.js +0 -0
  599. /package/{module → package/module}/DataTable/DataTable.js.map +0 -0
  600. /package/{module → package/module}/DataTable/index.js +0 -0
  601. /package/{module → package/module}/DataTable/index.js.map +0 -0
  602. /package/{module → package/module}/DeviceSelectionModal/DeviceSelectionModal.js +0 -0
  603. /package/{module → package/module}/DeviceSelectionModal/DeviceSelectionModal.js.map +0 -0
  604. /package/{module → package/module}/DraggableFlatList/DraggableFlatList.js +0 -0
  605. /package/{module → package/module}/DraggableFlatList/DraggableFlatList.js.map +0 -0
  606. /package/{module → package/module}/Drawer/Drawer.js +0 -0
  607. /package/{module → package/module}/Drawer/Drawer.js.map +0 -0
  608. /package/{module → package/module}/Dropdown/CustomDropdown.js +0 -0
  609. /package/{module → package/module}/Dropdown/CustomDropdown.js.map +0 -0
  610. /package/{module → package/module}/Dropdown/Dropdown.js +0 -0
  611. /package/{module → package/module}/Dropdown/Dropdown.js.map +0 -0
  612. /package/{module → package/module}/Dropdown/InputDropdown.js +0 -0
  613. /package/{module → package/module}/Dropdown/InputDropdown.js.map +0 -0
  614. /package/{module → package/module}/ExternalLink/ExternalLink.js +0 -0
  615. /package/{module → package/module}/ExternalLink/ExternalLink.js.map +0 -0
  616. /package/{module → package/module}/Gantt/Accessories.js +0 -0
  617. /package/{module → package/module}/Gantt/Accessories.js.map +0 -0
  618. /package/{module → package/module}/Gantt/Gantt.js +0 -0
  619. /package/{module → package/module}/Gantt/Gantt.js.map +0 -0
  620. /package/{module → package/module}/Gantt/GanttInnerElementType.js +0 -0
  621. /package/{module → package/module}/Gantt/GanttInnerElementType.js.map +0 -0
  622. /package/{module → package/module}/Gantt/helper.js +0 -0
  623. /package/{module → package/module}/Gantt/helper.js.map +0 -0
  624. /package/{module → package/module}/Gantt/types.js +0 -0
  625. /package/{module → package/module}/Gantt/types.js.map +0 -0
  626. /package/{module → package/module}/Grid/FixedSizeGrid.js +0 -0
  627. /package/{module → package/module}/Grid/FixedSizeGrid.js.map +0 -0
  628. /package/{module → package/module}/Grid/Grid.base.js +0 -0
  629. /package/{module → package/module}/Grid/Grid.base.js.map +0 -0
  630. /package/{module → package/module}/Grid/StaticFixedSizeGrid.js +0 -0
  631. /package/{module → package/module}/Grid/StaticFixedSizeGrid.js.map +0 -0
  632. /package/{module → package/module}/Grid/VariableSizeGrid.js +0 -0
  633. /package/{module → package/module}/Grid/VariableSizeGrid.js.map +0 -0
  634. /package/{module → package/module}/Grid/helper.js +0 -0
  635. /package/{module → package/module}/Grid/helper.js.map +0 -0
  636. /package/{module → package/module}/Grid/timer.js +0 -0
  637. /package/{module → package/module}/Grid/timer.js.map +0 -0
  638. /package/{module → package/module}/Header/Header.js +0 -0
  639. /package/{module → package/module}/Header/Header.js.map +0 -0
  640. /package/{module → package/module}/HelloWave/HelloWave.js +0 -0
  641. /package/{module → package/module}/HelloWave/HelloWave.js.map +0 -0
  642. /package/{module → package/module}/Hoverable/Hoverable.js +0 -0
  643. /package/{module → package/module}/Hoverable/Hoverable.js.map +0 -0
  644. /package/{module → package/module}/IconText/IconText.js +0 -0
  645. /package/{module → package/module}/IconText/IconText.js.map +0 -0
  646. /package/{module → package/module}/Icons/TapasIcon.js +0 -0
  647. /package/{module → package/module}/Icons/TapasIcon.js.map +0 -0
  648. /package/{module → package/module}/Icons/TapasIconExpo.js +0 -0
  649. /package/{module → package/module}/Icons/TapasIconExpo.js.map +0 -0
  650. /package/{module → package/module}/Icons/expoFontLoader.js +0 -0
  651. /package/{module → package/module}/Icons/expoFontLoader.js.map +0 -0
  652. /package/{module → package/module}/Icons/fontLoader.js +0 -0
  653. /package/{module → package/module}/Icons/fontLoader.js.map +0 -0
  654. /package/{module → package/module}/Icons/index.js +0 -0
  655. /package/{module → package/module}/Icons/index.js.map +0 -0
  656. /package/{module → package/module}/Icons/smartFontLoader.js +0 -0
  657. /package/{module → package/module}/Icons/smartFontLoader.js.map +0 -0
  658. /package/{module → package/module}/Image/Image.js +0 -0
  659. /package/{module → package/module}/Image/Image.js.map +0 -0
  660. /package/{module → package/module}/Image/PreviewImg.js +0 -0
  661. /package/{module → package/module}/Image/PreviewImg.js.map +0 -0
  662. /package/{module → package/module}/Input/Input.js +0 -0
  663. /package/{module → package/module}/Input/Input.js.map +0 -0
  664. /package/{module → package/module}/Layout/DrawerContext.js +0 -0
  665. /package/{module → package/module}/Layout/DrawerContext.js.map +0 -0
  666. /package/{module → package/module}/Layout/Layout.js +0 -0
  667. /package/{module → package/module}/Layout/Layout.js.map +0 -0
  668. /package/{module → package/module}/Layout/ToastContext.js +0 -0
  669. /package/{module → package/module}/Layout/ToastContext.js.map +0 -0
  670. /package/{module → package/module}/Layout/index.js +0 -0
  671. /package/{module → package/module}/Layout/index.js.map +0 -0
  672. /package/{module → package/module}/LineChart/LineChart.js +0 -0
  673. /package/{module → package/module}/LineChart/LineChart.js.map +0 -0
  674. /package/{module → package/module}/LineChart/index.js +0 -0
  675. /package/{module → package/module}/LineChart/index.js.map +0 -0
  676. /package/{module → package/module}/ListItem/ListItem.js +0 -0
  677. /package/{module → package/module}/ListItem/ListItem.js.map +0 -0
  678. /package/{module → package/module}/Loading/Loading.js +0 -0
  679. /package/{module → package/module}/Loading/Loading.js.map +0 -0
  680. /package/{module → package/module}/MessageBox/MessageBox.js +0 -0
  681. /package/{module → package/module}/MessageBox/MessageBox.js.map +0 -0
  682. /package/{module → package/module}/MultiSelector/MultiSelector.js +0 -0
  683. /package/{module → package/module}/MultiSelector/MultiSelector.js.map +0 -0
  684. /package/{module → package/module}/MultiSelector/index.js +0 -0
  685. /package/{module → package/module}/MultiSelector/index.js.map +0 -0
  686. /package/{module → package/module}/Navigation/Navigation.js +0 -0
  687. /package/{module → package/module}/Navigation/Navigation.js.map +0 -0
  688. /package/{module → package/module}/Notification/Notification.js +0 -0
  689. /package/{module → package/module}/Notification/Notification.js.map +0 -0
  690. /package/{module → package/module}/Notification/index.js +0 -0
  691. /package/{module → package/module}/Notification/index.js.map +0 -0
  692. /package/{module → package/module}/NumericInput/NumericInput.js +0 -0
  693. /package/{module → package/module}/NumericInput/NumericInput.js.map +0 -0
  694. /package/{module → package/module}/Overlay/Overlay.js +0 -0
  695. /package/{module → package/module}/Overlay/Overlay.js.map +0 -0
  696. /package/{module → package/module}/Pagination/Pagination.js +0 -0
  697. /package/{module → package/module}/Pagination/Pagination.js.map +0 -0
  698. /package/{module → package/module}/PieChart/GroupedLegend.js +0 -0
  699. /package/{module → package/module}/PieChart/GroupedLegend.js.map +0 -0
  700. /package/{module → package/module}/PieChart/NestedPieChart.js +0 -0
  701. /package/{module → package/module}/PieChart/NestedPieChart.js.map +0 -0
  702. /package/{module → package/module}/PieChart/NestedPieChart.types.js +0 -0
  703. /package/{module → package/module}/PieChart/NestedPieChart.types.js.map +0 -0
  704. /package/{module → package/module}/PieChart/NestedPieChart.utils.js +0 -0
  705. /package/{module → package/module}/PieChart/NestedPieChart.utils.js.map +0 -0
  706. /package/{module → package/module}/PieChart/PieChart.js +0 -0
  707. /package/{module → package/module}/PieChart/PieChart.js.map +0 -0
  708. /package/{module → package/module}/PieChart/index.js +0 -0
  709. /package/{module → package/module}/PieChart/index.js.map +0 -0
  710. /package/{module → package/module}/Popover/Popover.js +0 -0
  711. /package/{module → package/module}/Popover/Popover.js.map +0 -0
  712. /package/{module → package/module}/Progress/Progress.js +0 -0
  713. /package/{module → package/module}/Progress/Progress.js.map +0 -0
  714. /package/{module → package/module}/Quantity/Quantity.js +0 -0
  715. /package/{module → package/module}/Quantity/Quantity.js.map +0 -0
  716. /package/{module → package/module}/Quantity/index.js +0 -0
  717. /package/{module → package/module}/Quantity/index.js.map +0 -0
  718. /package/{module → package/module}/RadioButton/RadioButton.js +0 -0
  719. /package/{module → package/module}/RadioButton/RadioButton.js.map +0 -0
  720. /package/{module → package/module}/ReasonModal/ReasonModal.js +0 -0
  721. /package/{module → package/module}/ReasonModal/ReasonModal.js.map +0 -0
  722. /package/{module → package/module}/ReasonModal/index.js +0 -0
  723. /package/{module → package/module}/ReasonModal/index.js.map +0 -0
  724. /package/{module → package/module}/ScanButton/ScanButton.js +0 -0
  725. /package/{module → package/module}/ScanButton/ScanButton.js.map +0 -0
  726. /package/{module → package/module}/SearchInput/SearchInput.js +0 -0
  727. /package/{module → package/module}/SearchInput/SearchInput.js.map +0 -0
  728. /package/{module → package/module}/SearchInput/index.js +0 -0
  729. /package/{module → package/module}/SearchInput/index.js.map +0 -0
  730. /package/{module → package/module}/SheetTitle/SheetTitle.js +0 -0
  731. /package/{module → package/module}/SheetTitle/SheetTitle.js.map +0 -0
  732. /package/{module → package/module}/Shell/Shell.js +0 -0
  733. /package/{module → package/module}/Shell/Shell.js.map +0 -0
  734. /package/{module → package/module}/Shell/styles.js +0 -0
  735. /package/{module → package/module}/Shell/styles.js.map +0 -0
  736. /package/{module → package/module}/Shell/types.js +0 -0
  737. /package/{module → package/module}/Shell/types.js.map +0 -0
  738. /package/{module → package/module}/StatisticCard/StatisticCard.js +0 -0
  739. /package/{module → package/module}/StatisticCard/StatisticCard.js.map +0 -0
  740. /package/{module → package/module}/StatisticCard/index.js +0 -0
  741. /package/{module → package/module}/StatisticCard/index.js.map +0 -0
  742. /package/{module → package/module}/StatisticsTable/StatisticsTable.js +0 -0
  743. /package/{module → package/module}/StatisticsTable/StatisticsTable.js.map +0 -0
  744. /package/{module → package/module}/StatisticsTable/index.js +0 -0
  745. /package/{module → package/module}/StatisticsTable/index.js.map +0 -0
  746. /package/{module → package/module}/Status/Status.js +0 -0
  747. /package/{module → package/module}/Status/Status.js.map +0 -0
  748. /package/{module → package/module}/Steps/Steps.js +0 -0
  749. /package/{module → package/module}/Steps/Steps.js.map +0 -0
  750. /package/{module → package/module}/Tab/TapasTab.js +0 -0
  751. /package/{module → package/module}/Tab/TapasTab.js.map +0 -0
  752. /package/{module → package/module}/Tab/index.js +0 -0
  753. /package/{module → package/module}/Tab/index.js.map +0 -0
  754. /package/{module → package/module}/TabTitle/TabTitle.js +0 -0
  755. /package/{module → package/module}/TabTitle/TabTitle.js.map +0 -0
  756. /package/{module → package/module}/TabTitle/index.js +0 -0
  757. /package/{module → package/module}/TabTitle/index.js.map +0 -0
  758. /package/{module → package/module}/TableColumnHeader/TableColumnHeader.js +0 -0
  759. /package/{module → package/module}/TableColumnHeader/TableColumnHeader.js.map +0 -0
  760. /package/{module → package/module}/TableColumnHeader/index.js +0 -0
  761. /package/{module → package/module}/TableColumnHeader/index.js.map +0 -0
  762. /package/{module → package/module}/Tag/Tag.js +0 -0
  763. /package/{module → package/module}/Tag/Tag.js.map +0 -0
  764. /package/{module → package/module}/Task/Task.js +0 -0
  765. /package/{module → package/module}/Task/Task.js.map +0 -0
  766. /package/{module → package/module}/Task/type.js +0 -0
  767. /package/{module → package/module}/Task/type.js.map +0 -0
  768. /package/{module → package/module}/Text/Text.js +0 -0
  769. /package/{module → package/module}/Text/Text.js.map +0 -0
  770. /package/{module → package/module}/TextArea/TextArea.js +0 -0
  771. /package/{module → package/module}/TextArea/TextArea.js.map +0 -0
  772. /package/{module → package/module}/Theme/ThemeProvider.js +0 -0
  773. /package/{module → package/module}/Theme/ThemeProvider.js.map +0 -0
  774. /package/{module → package/module}/Theme/defaultTheme.js +0 -0
  775. /package/{module → package/module}/Theme/defaultTheme.js.map +0 -0
  776. /package/{module → package/module}/Theme/themed.d.js +0 -0
  777. /package/{module → package/module}/Theme/themed.d.js.map +0 -0
  778. /package/{module → package/module}/Timeline/Timeline.js +0 -0
  779. /package/{module → package/module}/Timeline/Timeline.js.map +0 -0
  780. /package/{module → package/module}/Toast/Toast.js +0 -0
  781. /package/{module → package/module}/Toast/Toast.js.map +0 -0
  782. /package/{module → package/module}/UserSwitcher/UserSwitcher.js +0 -0
  783. /package/{module → package/module}/UserSwitcher/UserSwitcher.js.map +0 -0
  784. /package/{module → package/module}/UserSwitcher/index.js +0 -0
  785. /package/{module → package/module}/UserSwitcher/index.js.map +0 -0
  786. /package/{module → package/module}/WebViewBridge/WebViewBridge.js +0 -0
  787. /package/{module → package/module}/WebViewBridge/WebViewBridge.js.map +0 -0
  788. /package/{module → package/module}/WebViewBridge/index.js +0 -0
  789. /package/{module → package/module}/WebViewBridge/index.js.map +0 -0
  790. /package/{module → package/module}/WebViewBridge/useWebViewBridge.js +0 -0
  791. /package/{module → package/module}/WebViewBridge/useWebViewBridge.js.map +0 -0
  792. /package/{module → package/module}/WordCloud/index.js +0 -0
  793. /package/{module → package/module}/WordCloud/index.js.map +0 -0
  794. /package/{module → package/module}/common/bridgelessUtils.js +0 -0
  795. /package/{module → package/module}/common/bridgelessUtils.js.map +0 -0
  796. /package/{module → package/module}/common.js +0 -0
  797. /package/{module → package/module}/common.js.map +0 -0
  798. /package/{typescript → package/typescript}/Alert/Alert.d.ts +0 -0
  799. /package/{typescript → package/typescript}/Alert/Alert.d.ts.map +0 -0
  800. /package/{typescript → package/typescript}/AnimatedNavItem/AnimatedNavItem.d.ts +0 -0
  801. /package/{typescript → package/typescript}/AnimatedNavItem/AnimatedNavItem.d.ts.map +0 -0
  802. /package/{typescript → package/typescript}/AnimatedNavItem/index.d.ts +0 -0
  803. /package/{typescript → package/typescript}/AnimatedNavItem/index.d.ts.map +0 -0
  804. /package/{typescript → package/typescript}/BarChart/BarChart.d.ts +0 -0
  805. /package/{typescript → package/typescript}/BarChart/BarChart.d.ts.map +0 -0
  806. /package/{typescript → package/typescript}/BarChart/index.d.ts +0 -0
  807. /package/{typescript → package/typescript}/BarChart/index.d.ts.map +0 -0
  808. /package/{typescript → package/typescript}/Button/Button.d.ts +0 -0
  809. /package/{typescript → package/typescript}/Button/Button.d.ts.map +0 -0
  810. /package/{typescript → package/typescript}/Button/ButtonGroup.d.ts +0 -0
  811. /package/{typescript → package/typescript}/Button/ButtonGroup.d.ts.map +0 -0
  812. /package/{typescript → package/typescript}/Calendar/Calendar.base.d.ts +0 -0
  813. /package/{typescript → package/typescript}/Calendar/Calendar.base.d.ts.map +0 -0
  814. /package/{typescript → package/typescript}/Calendar/Calendar.d.ts +0 -0
  815. /package/{typescript → package/typescript}/Calendar/Calendar.d.ts.map +0 -0
  816. /package/{typescript → package/typescript}/Calendar/ConcreteTimeSelector.d.ts +0 -0
  817. /package/{typescript → package/typescript}/Calendar/ConcreteTimeSelector.d.ts.map +0 -0
  818. /package/{typescript → package/typescript}/Calendar/CustomRange.d.ts +0 -0
  819. /package/{typescript → package/typescript}/Calendar/CustomRange.d.ts.map +0 -0
  820. /package/{typescript → package/typescript}/Calendar/DaySelector.d.ts +0 -0
  821. /package/{typescript → package/typescript}/Calendar/DaySelector.d.ts.map +0 -0
  822. /package/{typescript → package/typescript}/Calendar/MonthSelector.d.ts +0 -0
  823. /package/{typescript → package/typescript}/Calendar/MonthSelector.d.ts.map +0 -0
  824. /package/{typescript → package/typescript}/Calendar/TimeSelector.d.ts +0 -0
  825. /package/{typescript → package/typescript}/Calendar/TimeSelector.d.ts.map +0 -0
  826. /package/{typescript → package/typescript}/Calendar/WeekDaySelector.d.ts +0 -0
  827. /package/{typescript → package/typescript}/Calendar/WeekDaySelector.d.ts.map +0 -0
  828. /package/{typescript → package/typescript}/Calendar/helper.d.ts +0 -0
  829. /package/{typescript → package/typescript}/Calendar/helper.d.ts.map +0 -0
  830. /package/{typescript → package/typescript}/Calendar/local.d.ts +0 -0
  831. /package/{typescript → package/typescript}/Calendar/local.d.ts.map +0 -0
  832. /package/{typescript → package/typescript}/Calendar/types.d.ts +0 -0
  833. /package/{typescript → package/typescript}/Calendar/types.d.ts.map +0 -0
  834. /package/{typescript → package/typescript}/Card/Card.d.ts +0 -0
  835. /package/{typescript → package/typescript}/Card/Card.d.ts.map +0 -0
  836. /package/{typescript → package/typescript}/CheckBox/CheckBox.d.ts +0 -0
  837. /package/{typescript → package/typescript}/CheckBox/CheckBox.d.ts.map +0 -0
  838. /package/{typescript → package/typescript}/CheckBox/CheckBoxItem.d.ts +0 -0
  839. /package/{typescript → package/typescript}/CheckBox/CheckBoxItem.d.ts.map +0 -0
  840. /package/{typescript → package/typescript}/CheckBox/GroupCheckBox.d.ts +0 -0
  841. /package/{typescript → package/typescript}/CheckBox/GroupCheckBox.d.ts.map +0 -0
  842. /package/{typescript → package/typescript}/CircularProgress/CircularProgress.d.ts +0 -0
  843. /package/{typescript → package/typescript}/CircularProgress/CircularProgress.d.ts.map +0 -0
  844. /package/{typescript → package/typescript}/Collapsible/Collapsible.d.ts +0 -0
  845. /package/{typescript → package/typescript}/Collapsible/Collapsible.d.ts.map +0 -0
  846. /package/{typescript → package/typescript}/ComboChart/ComboChart.d.ts +0 -0
  847. /package/{typescript → package/typescript}/ComboChart/ComboChart.d.ts.map +0 -0
  848. /package/{typescript → package/typescript}/ComboChart/index.d.ts +0 -0
  849. /package/{typescript → package/typescript}/ComboChart/index.d.ts.map +0 -0
  850. /package/{typescript → package/typescript}/DashboardCard/DashboardCard.d.ts +0 -0
  851. /package/{typescript → package/typescript}/DashboardCard/DashboardCard.d.ts.map +0 -0
  852. /package/{typescript → package/typescript}/DataCell/DataCell.d.ts +0 -0
  853. /package/{typescript → package/typescript}/DataCell/DataCell.d.ts.map +0 -0
  854. /package/{typescript → package/typescript}/DataCell/index.d.ts +0 -0
  855. /package/{typescript → package/typescript}/DataCell/index.d.ts.map +0 -0
  856. /package/{typescript → package/typescript}/DataTable/DataTable.d.ts +0 -0
  857. /package/{typescript → package/typescript}/DataTable/DataTable.d.ts.map +0 -0
  858. /package/{typescript → package/typescript}/DataTable/index.d.ts +0 -0
  859. /package/{typescript → package/typescript}/DataTable/index.d.ts.map +0 -0
  860. /package/{typescript → package/typescript}/DeviceSelectionModal/DeviceSelectionModal.d.ts +0 -0
  861. /package/{typescript → package/typescript}/DeviceSelectionModal/DeviceSelectionModal.d.ts.map +0 -0
  862. /package/{typescript → package/typescript}/DraggableFlatList/DraggableFlatList.d.ts +0 -0
  863. /package/{typescript → package/typescript}/DraggableFlatList/DraggableFlatList.d.ts.map +0 -0
  864. /package/{typescript → package/typescript}/Drawer/Drawer.d.ts +0 -0
  865. /package/{typescript → package/typescript}/Drawer/Drawer.d.ts.map +0 -0
  866. /package/{typescript → package/typescript}/Dropdown/CustomDropdown.d.ts +0 -0
  867. /package/{typescript → package/typescript}/Dropdown/CustomDropdown.d.ts.map +0 -0
  868. /package/{typescript → package/typescript}/Dropdown/Dropdown.d.ts +0 -0
  869. /package/{typescript → package/typescript}/Dropdown/Dropdown.d.ts.map +0 -0
  870. /package/{typescript → package/typescript}/Dropdown/InputDropdown.d.ts +0 -0
  871. /package/{typescript → package/typescript}/Dropdown/InputDropdown.d.ts.map +0 -0
  872. /package/{typescript → package/typescript}/ExternalLink/ExternalLink.d.ts +0 -0
  873. /package/{typescript → package/typescript}/ExternalLink/ExternalLink.d.ts.map +0 -0
  874. /package/{typescript → package/typescript}/Gantt/Accessories.d.ts +0 -0
  875. /package/{typescript → package/typescript}/Gantt/Accessories.d.ts.map +0 -0
  876. /package/{typescript → package/typescript}/Gantt/Gantt.d.ts +0 -0
  877. /package/{typescript → package/typescript}/Gantt/Gantt.d.ts.map +0 -0
  878. /package/{typescript → package/typescript}/Gantt/GanttInnerElementType.d.ts +0 -0
  879. /package/{typescript → package/typescript}/Gantt/GanttInnerElementType.d.ts.map +0 -0
  880. /package/{typescript → package/typescript}/Gantt/helper.d.ts +0 -0
  881. /package/{typescript → package/typescript}/Gantt/helper.d.ts.map +0 -0
  882. /package/{typescript → package/typescript}/Gantt/types.d.ts +0 -0
  883. /package/{typescript → package/typescript}/Gantt/types.d.ts.map +0 -0
  884. /package/{typescript → package/typescript}/Grid/FixedSizeGrid.d.ts +0 -0
  885. /package/{typescript → package/typescript}/Grid/FixedSizeGrid.d.ts.map +0 -0
  886. /package/{typescript → package/typescript}/Grid/Grid.base.d.ts +0 -0
  887. /package/{typescript → package/typescript}/Grid/Grid.base.d.ts.map +0 -0
  888. /package/{typescript → package/typescript}/Grid/StaticFixedSizeGrid.d.ts +0 -0
  889. /package/{typescript → package/typescript}/Grid/StaticFixedSizeGrid.d.ts.map +0 -0
  890. /package/{typescript → package/typescript}/Grid/VariableSizeGrid.d.ts +0 -0
  891. /package/{typescript → package/typescript}/Grid/VariableSizeGrid.d.ts.map +0 -0
  892. /package/{typescript → package/typescript}/Grid/helper.d.ts +0 -0
  893. /package/{typescript → package/typescript}/Grid/helper.d.ts.map +0 -0
  894. /package/{typescript → package/typescript}/Grid/timer.d.ts +0 -0
  895. /package/{typescript → package/typescript}/Grid/timer.d.ts.map +0 -0
  896. /package/{typescript → package/typescript}/Header/Header.d.ts +0 -0
  897. /package/{typescript → package/typescript}/Header/Header.d.ts.map +0 -0
  898. /package/{typescript → package/typescript}/HelloWave/HelloWave.d.ts +0 -0
  899. /package/{typescript → package/typescript}/HelloWave/HelloWave.d.ts.map +0 -0
  900. /package/{typescript → package/typescript}/Hoverable/Hoverable.d.ts +0 -0
  901. /package/{typescript → package/typescript}/Hoverable/Hoverable.d.ts.map +0 -0
  902. /package/{typescript → package/typescript}/IconText/IconText.d.ts +0 -0
  903. /package/{typescript → package/typescript}/IconText/IconText.d.ts.map +0 -0
  904. /package/{typescript → package/typescript}/Icons/TapasIcon.d.ts +0 -0
  905. /package/{typescript → package/typescript}/Icons/TapasIcon.d.ts.map +0 -0
  906. /package/{typescript → package/typescript}/Icons/TapasIconExpo.d.ts +0 -0
  907. /package/{typescript → package/typescript}/Icons/TapasIconExpo.d.ts.map +0 -0
  908. /package/{typescript → package/typescript}/Icons/expoFontLoader.d.ts +0 -0
  909. /package/{typescript → package/typescript}/Icons/expoFontLoader.d.ts.map +0 -0
  910. /package/{typescript → package/typescript}/Icons/fontLoader.d.ts +0 -0
  911. /package/{typescript → package/typescript}/Icons/fontLoader.d.ts.map +0 -0
  912. /package/{typescript → package/typescript}/Icons/index.d.ts +0 -0
  913. /package/{typescript → package/typescript}/Icons/index.d.ts.map +0 -0
  914. /package/{typescript → package/typescript}/Icons/smartFontLoader.d.ts +0 -0
  915. /package/{typescript → package/typescript}/Icons/smartFontLoader.d.ts.map +0 -0
  916. /package/{typescript → package/typescript}/Image/Image.d.ts +0 -0
  917. /package/{typescript → package/typescript}/Image/Image.d.ts.map +0 -0
  918. /package/{typescript → package/typescript}/Image/PreviewImg.d.ts +0 -0
  919. /package/{typescript → package/typescript}/Image/PreviewImg.d.ts.map +0 -0
  920. /package/{typescript → package/typescript}/Input/Input.d.ts +0 -0
  921. /package/{typescript → package/typescript}/Input/Input.d.ts.map +0 -0
  922. /package/{typescript → package/typescript}/Layout/DrawerContext.d.ts +0 -0
  923. /package/{typescript → package/typescript}/Layout/DrawerContext.d.ts.map +0 -0
  924. /package/{typescript → package/typescript}/Layout/Layout.d.ts +0 -0
  925. /package/{typescript → package/typescript}/Layout/Layout.d.ts.map +0 -0
  926. /package/{typescript → package/typescript}/Layout/ToastContext.d.ts +0 -0
  927. /package/{typescript → package/typescript}/Layout/ToastContext.d.ts.map +0 -0
  928. /package/{typescript → package/typescript}/Layout/index.d.ts +0 -0
  929. /package/{typescript → package/typescript}/Layout/index.d.ts.map +0 -0
  930. /package/{typescript → package/typescript}/LineChart/LineChart.d.ts +0 -0
  931. /package/{typescript → package/typescript}/LineChart/LineChart.d.ts.map +0 -0
  932. /package/{typescript → package/typescript}/LineChart/index.d.ts +0 -0
  933. /package/{typescript → package/typescript}/LineChart/index.d.ts.map +0 -0
  934. /package/{typescript → package/typescript}/ListItem/ListItem.d.ts +0 -0
  935. /package/{typescript → package/typescript}/ListItem/ListItem.d.ts.map +0 -0
  936. /package/{typescript → package/typescript}/Loading/Loading.d.ts +0 -0
  937. /package/{typescript → package/typescript}/Loading/Loading.d.ts.map +0 -0
  938. /package/{typescript → package/typescript}/MessageBox/MessageBox.d.ts +0 -0
  939. /package/{typescript → package/typescript}/MessageBox/MessageBox.d.ts.map +0 -0
  940. /package/{typescript → package/typescript}/MultiSelector/MultiSelector.d.ts +0 -0
  941. /package/{typescript → package/typescript}/MultiSelector/MultiSelector.d.ts.map +0 -0
  942. /package/{typescript → package/typescript}/MultiSelector/index.d.ts +0 -0
  943. /package/{typescript → package/typescript}/MultiSelector/index.d.ts.map +0 -0
  944. /package/{typescript → package/typescript}/Navigation/Navigation.d.ts +0 -0
  945. /package/{typescript → package/typescript}/Navigation/Navigation.d.ts.map +0 -0
  946. /package/{typescript → package/typescript}/Notification/Notification.d.ts +0 -0
  947. /package/{typescript → package/typescript}/Notification/Notification.d.ts.map +0 -0
  948. /package/{typescript → package/typescript}/Notification/index.d.ts +0 -0
  949. /package/{typescript → package/typescript}/Notification/index.d.ts.map +0 -0
  950. /package/{typescript → package/typescript}/NumericInput/NumericInput.d.ts +0 -0
  951. /package/{typescript → package/typescript}/NumericInput/NumericInput.d.ts.map +0 -0
  952. /package/{typescript → package/typescript}/Overlay/Overlay.d.ts +0 -0
  953. /package/{typescript → package/typescript}/Overlay/Overlay.d.ts.map +0 -0
  954. /package/{typescript → package/typescript}/Pagination/Pagination.d.ts +0 -0
  955. /package/{typescript → package/typescript}/Pagination/Pagination.d.ts.map +0 -0
  956. /package/{typescript → package/typescript}/PieChart/GroupedLegend.d.ts +0 -0
  957. /package/{typescript → package/typescript}/PieChart/GroupedLegend.d.ts.map +0 -0
  958. /package/{typescript → package/typescript}/PieChart/NestedPieChart.d.ts +0 -0
  959. /package/{typescript → package/typescript}/PieChart/NestedPieChart.d.ts.map +0 -0
  960. /package/{typescript → package/typescript}/PieChart/NestedPieChart.types.d.ts +0 -0
  961. /package/{typescript → package/typescript}/PieChart/NestedPieChart.types.d.ts.map +0 -0
  962. /package/{typescript → package/typescript}/PieChart/NestedPieChart.utils.d.ts +0 -0
  963. /package/{typescript → package/typescript}/PieChart/NestedPieChart.utils.d.ts.map +0 -0
  964. /package/{typescript → package/typescript}/PieChart/PieChart.d.ts +0 -0
  965. /package/{typescript → package/typescript}/PieChart/PieChart.d.ts.map +0 -0
  966. /package/{typescript → package/typescript}/PieChart/index.d.ts +0 -0
  967. /package/{typescript → package/typescript}/PieChart/index.d.ts.map +0 -0
  968. /package/{typescript → package/typescript}/Popover/Popover.d.ts +0 -0
  969. /package/{typescript → package/typescript}/Popover/Popover.d.ts.map +0 -0
  970. /package/{typescript → package/typescript}/Progress/Progress.d.ts +0 -0
  971. /package/{typescript → package/typescript}/Progress/Progress.d.ts.map +0 -0
  972. /package/{typescript → package/typescript}/Quantity/Quantity.d.ts +0 -0
  973. /package/{typescript → package/typescript}/Quantity/Quantity.d.ts.map +0 -0
  974. /package/{typescript → package/typescript}/Quantity/index.d.ts +0 -0
  975. /package/{typescript → package/typescript}/Quantity/index.d.ts.map +0 -0
  976. /package/{typescript → package/typescript}/RadioButton/RadioButton.d.ts +0 -0
  977. /package/{typescript → package/typescript}/RadioButton/RadioButton.d.ts.map +0 -0
  978. /package/{typescript → package/typescript}/ReasonModal/ReasonModal.d.ts +0 -0
  979. /package/{typescript → package/typescript}/ReasonModal/ReasonModal.d.ts.map +0 -0
  980. /package/{typescript → package/typescript}/ReasonModal/index.d.ts +0 -0
  981. /package/{typescript → package/typescript}/ReasonModal/index.d.ts.map +0 -0
  982. /package/{typescript → package/typescript}/ScanButton/ScanButton.d.ts +0 -0
  983. /package/{typescript → package/typescript}/ScanButton/ScanButton.d.ts.map +0 -0
  984. /package/{typescript → package/typescript}/SearchInput/SearchInput.d.ts +0 -0
  985. /package/{typescript → package/typescript}/SearchInput/SearchInput.d.ts.map +0 -0
  986. /package/{typescript → package/typescript}/SearchInput/index.d.ts +0 -0
  987. /package/{typescript → package/typescript}/SearchInput/index.d.ts.map +0 -0
  988. /package/{typescript → package/typescript}/SheetTitle/SheetTitle.d.ts +0 -0
  989. /package/{typescript → package/typescript}/SheetTitle/SheetTitle.d.ts.map +0 -0
  990. /package/{typescript → package/typescript}/Shell/Shell.d.ts +0 -0
  991. /package/{typescript → package/typescript}/Shell/Shell.d.ts.map +0 -0
  992. /package/{typescript → package/typescript}/Shell/styles.d.ts +0 -0
  993. /package/{typescript → package/typescript}/Shell/styles.d.ts.map +0 -0
  994. /package/{typescript → package/typescript}/Shell/types.d.ts +0 -0
  995. /package/{typescript → package/typescript}/Shell/types.d.ts.map +0 -0
  996. /package/{typescript → package/typescript}/StatisticCard/StatisticCard.d.ts +0 -0
  997. /package/{typescript → package/typescript}/StatisticCard/StatisticCard.d.ts.map +0 -0
  998. /package/{typescript → package/typescript}/StatisticCard/index.d.ts +0 -0
  999. /package/{typescript → package/typescript}/StatisticCard/index.d.ts.map +0 -0
  1000. /package/{typescript → package/typescript}/StatisticsTable/StatisticsTable.d.ts +0 -0
  1001. /package/{typescript → package/typescript}/StatisticsTable/StatisticsTable.d.ts.map +0 -0
  1002. /package/{typescript → package/typescript}/StatisticsTable/index.d.ts +0 -0
  1003. /package/{typescript → package/typescript}/StatisticsTable/index.d.ts.map +0 -0
  1004. /package/{typescript → package/typescript}/Status/Status.d.ts +0 -0
  1005. /package/{typescript → package/typescript}/Status/Status.d.ts.map +0 -0
  1006. /package/{typescript → package/typescript}/Steps/Steps.d.ts +0 -0
  1007. /package/{typescript → package/typescript}/Steps/Steps.d.ts.map +0 -0
  1008. /package/{typescript → package/typescript}/Tab/TapasTab.d.ts +0 -0
  1009. /package/{typescript → package/typescript}/Tab/TapasTab.d.ts.map +0 -0
  1010. /package/{typescript → package/typescript}/Tab/index.d.ts +0 -0
  1011. /package/{typescript → package/typescript}/Tab/index.d.ts.map +0 -0
  1012. /package/{typescript → package/typescript}/TabTitle/TabTitle.d.ts +0 -0
  1013. /package/{typescript → package/typescript}/TabTitle/TabTitle.d.ts.map +0 -0
  1014. /package/{typescript → package/typescript}/TabTitle/index.d.ts +0 -0
  1015. /package/{typescript → package/typescript}/TabTitle/index.d.ts.map +0 -0
  1016. /package/{typescript → package/typescript}/TableColumnHeader/TableColumnHeader.d.ts +0 -0
  1017. /package/{typescript → package/typescript}/TableColumnHeader/TableColumnHeader.d.ts.map +0 -0
  1018. /package/{typescript → package/typescript}/TableColumnHeader/index.d.ts +0 -0
  1019. /package/{typescript → package/typescript}/TableColumnHeader/index.d.ts.map +0 -0
  1020. /package/{typescript → package/typescript}/Tag/Tag.d.ts +0 -0
  1021. /package/{typescript → package/typescript}/Tag/Tag.d.ts.map +0 -0
  1022. /package/{typescript → package/typescript}/Task/Task.d.ts +0 -0
  1023. /package/{typescript → package/typescript}/Task/Task.d.ts.map +0 -0
  1024. /package/{typescript → package/typescript}/Task/type.d.ts +0 -0
  1025. /package/{typescript → package/typescript}/Task/type.d.ts.map +0 -0
  1026. /package/{typescript → package/typescript}/Text/Text.d.ts +0 -0
  1027. /package/{typescript → package/typescript}/Text/Text.d.ts.map +0 -0
  1028. /package/{typescript → package/typescript}/TextArea/TextArea.d.ts +0 -0
  1029. /package/{typescript → package/typescript}/TextArea/TextArea.d.ts.map +0 -0
  1030. /package/{typescript → package/typescript}/Theme/ThemeProvider.d.ts +0 -0
  1031. /package/{typescript → package/typescript}/Theme/ThemeProvider.d.ts.map +0 -0
  1032. /package/{typescript → package/typescript}/Theme/defaultTheme.d.ts +0 -0
  1033. /package/{typescript → package/typescript}/Theme/defaultTheme.d.ts.map +0 -0
  1034. /package/{typescript → package/typescript}/Timeline/Timeline.d.ts +0 -0
  1035. /package/{typescript → package/typescript}/Timeline/Timeline.d.ts.map +0 -0
  1036. /package/{typescript → package/typescript}/Toast/Toast.d.ts +0 -0
  1037. /package/{typescript → package/typescript}/Toast/Toast.d.ts.map +0 -0
  1038. /package/{typescript → package/typescript}/UserSwitcher/UserSwitcher.d.ts +0 -0
  1039. /package/{typescript → package/typescript}/UserSwitcher/UserSwitcher.d.ts.map +0 -0
  1040. /package/{typescript → package/typescript}/UserSwitcher/index.d.ts +0 -0
  1041. /package/{typescript → package/typescript}/UserSwitcher/index.d.ts.map +0 -0
  1042. /package/{typescript → package/typescript}/WebViewBridge/WebViewBridge.d.ts +0 -0
  1043. /package/{typescript → package/typescript}/WebViewBridge/WebViewBridge.d.ts.map +0 -0
  1044. /package/{typescript → package/typescript}/WebViewBridge/index.d.ts +0 -0
  1045. /package/{typescript → package/typescript}/WebViewBridge/index.d.ts.map +0 -0
  1046. /package/{typescript → package/typescript}/WebViewBridge/useWebViewBridge.d.ts +0 -0
  1047. /package/{typescript → package/typescript}/WebViewBridge/useWebViewBridge.d.ts.map +0 -0
  1048. /package/{typescript → package/typescript}/common/bridgelessUtils.d.ts +0 -0
  1049. /package/{typescript → package/typescript}/common/bridgelessUtils.d.ts.map +0 -0
  1050. /package/{typescript → package/typescript}/common.d.ts +0 -0
  1051. /package/{typescript → package/typescript}/common.d.ts.map +0 -0
@@ -0,0 +1,1140 @@
1
+ /**
2
+ * WebViewBridge - WebView/iframe 通信桥接组件
3
+ *
4
+ * 用于 RN Web 模块与 tapas-sys 底座之间的通信
5
+ * - Android/iOS: 使用 WebView postMessage/onMessage
6
+ * - Web: 使用 iframe window.postMessage/onMessage
7
+ *
8
+ * 自动检测运行环境并适配相应的通信方式
9
+ */
10
+ import React, { useEffect, useRef, useCallback, useImperativeHandle, forwardRef } from 'react';
11
+ import { Platform, View, StyleSheet } from 'react-native';
12
+
13
+ export interface WebViewMessage {
14
+ type: string;
15
+ payload?: any;
16
+ timestamp?: number;
17
+ id?: string;
18
+ from?: string; // 消息来源标识
19
+ }
20
+
21
+ /**
22
+ * tapas-sys 消息格式
23
+ */
24
+ export interface TapasSysMessage {
25
+ operate: string; // 对应 WebViewMessage.type
26
+ action?: string; // 从 payload.action 提取,如果没有则使用 operate
27
+ data?: any; // 对应 WebViewMessage.payload
28
+ from?: string; // 消息来源标识
29
+ }
30
+
31
+ export type LogLevel = 'none' | 'error' | 'warn' | 'info' | 'debug';
32
+
33
+ export interface WebViewBridgeProps {
34
+ /**
35
+ * 消息来源标识(用于标识 RN Web 模块)
36
+ * 这个值会作为消息的 from 字段发送给 tapas-sys
37
+ * 必需:RN web 向 tapas-sys 发送消息时必须提供此字段
38
+ */
39
+ from: string;
40
+
41
+ /**
42
+ * 消息监听回调
43
+ */
44
+ onMessage?: (message: WebViewMessage) => void;
45
+
46
+ /**
47
+ * 错误回调
48
+ * @param error 错误对象
49
+ * @param context 错误上下文(发送/接收/解析)
50
+ */
51
+ onError?: (error: Error, context?: { type: 'send' | 'receive' | 'parse' | 'origin' }) => void;
52
+
53
+ /**
54
+ * 初始化消息的 payload
55
+ */
56
+ initPayload?: any;
57
+
58
+ /**
59
+ * 是否自动发送初始化消息(默认 true)
60
+ */
61
+ autoInit?: boolean;
62
+
63
+ /**
64
+ * 初始化消息类型(默认 'init')
65
+ */
66
+ initMessageType?: string;
67
+
68
+ /**
69
+ * 是否启用 base64 加密(默认 true,符合 tapas-sys 解析格式)
70
+ */
71
+ enableBase64?: boolean;
72
+
73
+ /**
74
+ * 是否显示占位 DOM(默认 true,用于确保组件有实体)
75
+ */
76
+ showPlaceholder?: boolean;
77
+
78
+ /**
79
+ * 自定义样式
80
+ */
81
+ style?: any;
82
+
83
+ /**
84
+ * 测试 ID
85
+ */
86
+ testID?: string;
87
+
88
+ /**
89
+ * 安全性:允许的消息来源(origin)白名单
90
+ * 在 iframe 环境中,只有来自这些 origin 的消息才会被处理
91
+ * 如果为空数组,则不进行 origin 验证(仅开发环境推荐)
92
+ */
93
+ allowedOrigins?: string[];
94
+
95
+ /**
96
+ * 安全性:是否严格验证 origin(默认 false)
97
+ * true: 如果消息来源不在 allowedOrigins 中,直接拒绝
98
+ * false: 仅警告,但仍处理消息(开发环境)
99
+ */
100
+ strictOriginCheck?: boolean;
101
+
102
+ /**
103
+ * 安全性:只接收来自特定 from 的消息
104
+ * 如果设置,只有 from 字段匹配的消息才会被处理
105
+ */
106
+ allowedFrom?: string[];
107
+
108
+ /**
109
+ * 消息过滤器函数
110
+ * 返回 true 表示处理该消息,false 表示忽略
111
+ */
112
+ messageFilter?: (message: WebViewMessage) => boolean;
113
+
114
+ /**
115
+ * 调试模式(默认 false)
116
+ * 启用后会输出详细的日志信息
117
+ */
118
+ debug?: boolean;
119
+
120
+ /**
121
+ * 日志级别(默认 'warn')
122
+ * 'none': 不输出任何日志
123
+ * 'error': 仅输出错误
124
+ * 'warn': 输出警告和错误
125
+ * 'info': 输出信息、警告和错误
126
+ * 'debug': 输出所有日志(包括调试信息)
127
+ */
128
+ logLevel?: LogLevel;
129
+ }
130
+
131
+ export type WebViewBridgeRef = {
132
+ /**
133
+ * 发送消息到父窗口/WebView
134
+ * @param type 消息类型
135
+ * @param payload 消息数据
136
+ * @returns 是否发送成功
137
+ */
138
+ sendMessage: (type: string, payload?: any) => boolean;
139
+
140
+ /**
141
+ * 获取当前运行环境
142
+ */
143
+ getEnvironment: () => 'webview' | 'iframe' | 'unknown';
144
+
145
+ /**
146
+ * 清理所有监听器和资源
147
+ */
148
+ cleanup: () => void;
149
+ }
150
+
151
+ /**
152
+ * 检测当前运行环境
153
+ */
154
+ const detectEnvironment = (): 'webview' | 'iframe' | 'unknown' => {
155
+ if (typeof window === 'undefined') {
156
+ return 'unknown';
157
+ }
158
+
159
+ try {
160
+ // 🔧 修复:使用与 checkRunningPlatform 完全一致的逻辑
161
+ // 1. 首先检查是否是 iframe
162
+ const isIframe = window.self !== window.top;
163
+ if (isIframe) {
164
+ return 'iframe';
165
+ }
166
+
167
+ // 2. 然后检查是否是 WebView(通过 userAgent)
168
+ const isWebView = /WebView|wv/i.test(navigator.userAgent);
169
+ if (isWebView) {
170
+ return 'webview';
171
+ }
172
+
173
+ // 3. 如果是 React Native 环境(非 Web),默认是 webview
174
+ if (Platform.OS !== 'web') {
175
+ return 'webview';
176
+ }
177
+
178
+ // 4. 默认 Web 环境视为 browser,但这里我们返回 'iframe' 以保持兼容性
179
+ return 'iframe';
180
+ } catch (e) {
181
+ // 错误时,如果是 React Native 环境,默认是 webview
182
+ if (Platform.OS !== 'web') {
183
+ return 'webview';
184
+ }
185
+ return 'iframe';
186
+ }
187
+ };
188
+
189
+ /**
190
+ * WebViewBridge 组件
191
+ */
192
+ /**
193
+ * Base64 编码/解码工具函数
194
+ * 符合 tapas-sys 的解析格式
195
+ */
196
+ const encodeBase64 = (str: string): string => {
197
+ try {
198
+ // 浏览器环境:使用 btoa
199
+ if (typeof window !== 'undefined') {
200
+ // 处理 Unicode 字符
201
+ return window.btoa(unescape(encodeURIComponent(str)));
202
+ }
203
+ // Node.js 环境:使用 Buffer
204
+ if (typeof Buffer !== 'undefined') {
205
+ return Buffer.from(str, 'utf-8').toString('base64');
206
+ }
207
+ // 降级方案:尝试全局 btoa
208
+ if (typeof btoa !== 'undefined') {
209
+ return btoa(unescape(encodeURIComponent(str)));
210
+ }
211
+ throw new Error('Base64 编码不可用');
212
+ } catch (e) {
213
+ console.warn('WebViewBridge: Base64 编码失败,使用原始字符串', e);
214
+ return str;
215
+ }
216
+ };
217
+
218
+ const decodeBase64 = (str: string): string => {
219
+ try {
220
+ // 浏览器环境:使用 atob
221
+ if (typeof window !== 'undefined') {
222
+ // 处理 Unicode 字符
223
+ return decodeURIComponent(escape(window.atob(str)));
224
+ }
225
+ // Node.js 环境:使用 Buffer
226
+ if (typeof Buffer !== 'undefined') {
227
+ return Buffer.from(str, 'base64').toString('utf-8');
228
+ }
229
+ // 降级方案:尝试全局 atob
230
+ if (typeof atob !== 'undefined') {
231
+ return decodeURIComponent(escape(atob(str)));
232
+ }
233
+ throw new Error('Base64 解码不可用');
234
+ } catch (e) {
235
+ console.warn('WebViewBridge: Base64 解码失败,返回原始字符串', e);
236
+ return str;
237
+ }
238
+ };
239
+
240
+ /**
241
+ * 日志工具函数
242
+ */
243
+ const createLogger = (debug: boolean, logLevel: LogLevel) => {
244
+ const levels: LogLevel[] = ['none', 'error', 'warn', 'info', 'debug'];
245
+ const currentLevelIndex = levels.indexOf(logLevel);
246
+
247
+ const shouldLog = (level: LogLevel) => {
248
+ const levelIndex = levels.indexOf(level);
249
+ return levelIndex >= 0 && levelIndex <= currentLevelIndex;
250
+ };
251
+
252
+ return {
253
+ error: (...args: any[]) => {
254
+ if (shouldLog('error')) {
255
+ console.error('[WebViewBridge]', ...args);
256
+ }
257
+ },
258
+ warn: (...args: any[]) => {
259
+ if (shouldLog('warn')) {
260
+ console.warn('[WebViewBridge]', ...args);
261
+ }
262
+ },
263
+ info: (...args: any[]) => {
264
+ if (shouldLog('info')) {
265
+ console.log('[WebViewBridge]', ...args);
266
+ }
267
+ },
268
+ debug: (...args: any[]) => {
269
+ if (debug && shouldLog('debug')) {
270
+ console.log('[WebViewBridge DEBUG]', ...args);
271
+ }
272
+ },
273
+ };
274
+ };
275
+
276
+ /**
277
+ * 验证消息来源(origin)
278
+ */
279
+ const validateOrigin = (
280
+ origin: string | undefined,
281
+ allowedOrigins: string[] | undefined,
282
+ strictOriginCheck: boolean,
283
+ logger: ReturnType<typeof createLogger>
284
+ ): boolean => {
285
+ // 如果没有设置 allowedOrigins,不进行验证(开发环境)
286
+ if (!allowedOrigins || allowedOrigins.length === 0) {
287
+ logger.debug('Origin 验证已禁用(allowedOrigins 为空)');
288
+ return true;
289
+ }
290
+
291
+ // 如果没有 origin(某些环境可能没有),根据 strictOriginCheck 决定
292
+ if (!origin) {
293
+ if (strictOriginCheck) {
294
+ logger.warn('消息没有 origin 信息,且 strictOriginCheck=true,拒绝消息');
295
+ return false;
296
+ }
297
+ logger.warn('消息没有 origin 信息,但 strictOriginCheck=false,允许消息');
298
+ return true;
299
+ }
300
+
301
+ // 检查 origin 是否在白名单中
302
+ const isAllowed = allowedOrigins.some(allowed => {
303
+ // 支持通配符匹配(如 'https://*.example.com')
304
+ if (allowed.includes('*')) {
305
+ const pattern = allowed.replace(/\*/g, '.*');
306
+ const regex = new RegExp(`^${pattern}$`);
307
+ return regex.test(origin);
308
+ }
309
+ return origin === allowed;
310
+ });
311
+
312
+ if (!isAllowed) {
313
+ if (strictOriginCheck) {
314
+ logger.error(`消息来源 ${origin} 不在白名单中,拒绝消息。白名单:`, allowedOrigins);
315
+ return false;
316
+ }
317
+ logger.warn(`消息来源 ${origin} 不在白名单中,但 strictOriginCheck=false,允许消息。白名单:`, allowedOrigins);
318
+ return true;
319
+ }
320
+
321
+ logger.debug(`消息来源 ${origin} 验证通过`);
322
+ return true;
323
+ };
324
+
325
+ /**
326
+ * 验证消息的 from 字段
327
+ */
328
+ const validateFrom = (
329
+ messageFrom: string | undefined,
330
+ allowedFrom: string[] | undefined,
331
+ logger: ReturnType<typeof createLogger>
332
+ ): boolean => {
333
+ if (!allowedFrom || allowedFrom.length === 0) {
334
+ return true;
335
+ }
336
+
337
+ if (!messageFrom) {
338
+ logger.warn('消息没有 from 字段,但设置了 allowedFrom,拒绝消息');
339
+ return false;
340
+ }
341
+
342
+ const isAllowed = allowedFrom.includes(messageFrom);
343
+ if (!isAllowed) {
344
+ logger.warn(`消息 from 字段 ${messageFrom} 不在白名单中,拒绝消息。白名单:`, allowedFrom);
345
+ return false;
346
+ }
347
+
348
+ logger.debug(`消息 from 字段 ${messageFrom} 验证通过`);
349
+ return true;
350
+ };
351
+
352
+ export const WebViewBridge = forwardRef<WebViewBridgeRef, WebViewBridgeProps>(
353
+ (
354
+ {
355
+ from,
356
+ onMessage,
357
+ onError,
358
+ initPayload,
359
+ autoInit = true,
360
+ initMessageType = 'init',
361
+ enableBase64 = true,
362
+ showPlaceholder = true,
363
+ style,
364
+ testID,
365
+ allowedOrigins,
366
+ strictOriginCheck = false,
367
+ allowedFrom,
368
+ messageFilter,
369
+ debug = false,
370
+ logLevel = 'warn',
371
+ },
372
+ ref
373
+ ) => {
374
+ const environmentRef = useRef<'webview' | 'iframe' | 'unknown'>(detectEnvironment());
375
+ const messageIdCounterRef = useRef(0);
376
+ const initSentRef = useRef(false);
377
+ const messageHandlersRef = useRef<Map<string, (message: WebViewMessage) => void>>(new Map());
378
+ const loggerRef = useRef(createLogger(debug, logLevel));
379
+ const cleanupFunctionsRef = useRef<Array<() => void>>([]);
380
+
381
+ // 更新 logger 当 debug 或 logLevel 改变时
382
+ useEffect(() => {
383
+ loggerRef.current = createLogger(debug, logLevel);
384
+ }, [debug, logLevel]);
385
+
386
+ // 🔧 组件挂载时立即输出日志,确认组件已加载
387
+ useEffect(() => {
388
+ loggerRef.current.info('🚀 [WebViewBridge] 组件已挂载', {
389
+ from,
390
+ environment: environmentRef.current,
391
+ autoInit,
392
+ debug,
393
+ logLevel,
394
+ hasWindow: typeof window !== 'undefined',
395
+ hasReactNativeWebView: typeof window !== 'undefined' && !!(window as any).ReactNativeWebView,
396
+ });
397
+ }, []);
398
+
399
+ // 生成唯一消息 ID
400
+ const generateMessageId = useCallback(() => {
401
+ messageIdCounterRef.current += 1;
402
+ return `msg_${Date.now()}_${messageIdCounterRef.current}`;
403
+ }, []);
404
+
405
+ // 将 WebViewMessage 转换为 tapas-sys 格式
406
+ const convertToTapasSysFormat = useCallback((message: WebViewMessage): TapasSysMessage => {
407
+ const tapasMessage: TapasSysMessage = {
408
+ operate: message.type,
409
+ from: message.from,
410
+ };
411
+
412
+ // 处理 payload
413
+ if (message.payload !== undefined && message.payload !== null) {
414
+ // 如果 payload 是对象且包含 action 字段,提取 action
415
+ if (typeof message.payload === 'object' && !Array.isArray(message.payload) && 'action' in message.payload) {
416
+ tapasMessage.action = message.payload.action;
417
+ // data 包含 payload 的其他字段(排除 action)
418
+ const { action: _action, ...rest } = message.payload;
419
+ tapasMessage.data = Object.keys(rest).length > 0 ? rest : undefined;
420
+ } else {
421
+ // 否则,整个 payload 作为 data,action 使用 operate
422
+ tapasMessage.action = message.type;
423
+ tapasMessage.data = message.payload;
424
+ }
425
+ } else {
426
+ // 如果没有 payload,action 使用 operate
427
+ tapasMessage.action = message.type;
428
+ }
429
+
430
+ return tapasMessage;
431
+ }, []);
432
+
433
+ // 将 tapas-sys 格式转换为 WebViewMessage
434
+ const convertFromTapasSysFormat = useCallback((tapasMessage: TapasSysMessage): WebViewMessage => {
435
+ const message: WebViewMessage = {
436
+ type: tapasMessage.operate,
437
+ from: tapasMessage.from,
438
+ };
439
+
440
+ // 构建 payload
441
+ if (tapasMessage.data !== undefined) {
442
+ // 如果有 action 且 action 不等于 operate,将 action 合并到 payload
443
+ if (tapasMessage.action && tapasMessage.action !== tapasMessage.operate) {
444
+ message.payload = {
445
+ action: tapasMessage.action,
446
+ ...(typeof tapasMessage.data === 'object' && tapasMessage.data !== null && !Array.isArray(tapasMessage.data)
447
+ ? tapasMessage.data
448
+ : { data: tapasMessage.data }),
449
+ };
450
+ } else {
451
+ // 否则直接使用 data 作为 payload
452
+ message.payload = tapasMessage.data;
453
+ }
454
+ } else if (tapasMessage.action && tapasMessage.action !== tapasMessage.operate) {
455
+ // 只有 action,没有 data
456
+ message.payload = { action: tapasMessage.action };
457
+ }
458
+
459
+ return message;
460
+ }, []);
461
+
462
+ // 解析消息(支持 base64 解码)
463
+ const parseMessage = useCallback((data: string): WebViewMessage | null => {
464
+ try {
465
+ // 尝试 base64 解码
466
+ let decodedData = data;
467
+ if (enableBase64) {
468
+ try {
469
+ decodedData = decodeBase64(data);
470
+ loggerRef.current.debug('Base64 解码成功');
471
+ } catch (e) {
472
+ // 如果 base64 解码失败,尝试直接解析 JSON
473
+ // 可能是未加密的消息
474
+ loggerRef.current.debug('Base64 解码失败,尝试直接解析 JSON', e);
475
+ }
476
+ }
477
+
478
+ // 解析 JSON
479
+ const parsed = typeof decodedData === 'string'
480
+ ? JSON.parse(decodedData)
481
+ : decodedData;
482
+
483
+ // 判断是 tapas-sys 格式还是 WebViewMessage 格式
484
+ let message: WebViewMessage;
485
+ if (parsed.operate !== undefined) {
486
+ // tapas-sys 格式:{ operate, action, data, from }
487
+ message = convertFromTapasSysFormat(parsed as TapasSysMessage);
488
+ } else {
489
+ // WebViewMessage 格式:{ type, payload, from }
490
+ message = {
491
+ type: parsed.type || 'unknown',
492
+ payload: parsed.payload !== undefined ? parsed.payload : parsed,
493
+ timestamp: parsed.timestamp || Date.now(),
494
+ id: parsed.id,
495
+ from: parsed.from,
496
+ };
497
+ }
498
+
499
+ loggerRef.current.debug('消息解析成功:', message);
500
+ return message;
501
+ } catch (e) {
502
+ const error = e instanceof Error ? e : new Error(String(e));
503
+ loggerRef.current.error('消息解析失败', error, '原始数据:', data);
504
+ if (onError) {
505
+ onError(error, { type: 'parse' });
506
+ }
507
+ return null;
508
+ }
509
+ }, [enableBase64, onError, convertFromTapasSysFormat]);
510
+
511
+ // 统一消息格式
512
+ const normalizeMessage = useCallback((rawMessage: any): WebViewMessage => {
513
+ let data: string | null = null;
514
+
515
+ // 🔧 修复:优先检查是否是 tapas-sys 格式({ operate, action, data })
516
+ // 这对于 webviewmessage 事件特别重要,因为 event.detail 直接是 tapas-sys 格式
517
+ if (rawMessage && typeof rawMessage === 'object' && rawMessage.operate !== undefined) {
518
+ loggerRef.current.debug('检测到 tapas-sys 格式消息,直接转换:', rawMessage);
519
+ return convertFromTapasSysFormat(rawMessage as TapasSysMessage);
520
+ }
521
+
522
+ // WebView 环境:消息通常在 data 字段中
523
+ if (environmentRef.current === 'webview') {
524
+ if (typeof rawMessage === 'string') {
525
+ data = rawMessage;
526
+ } else if (rawMessage?.nativeEvent?.data) {
527
+ data = rawMessage.nativeEvent.data;
528
+ } else if (rawMessage?.data) {
529
+ data = rawMessage.data;
530
+ } else {
531
+ // 直接是对象:检查是 WebViewMessage 格式
532
+ return {
533
+ type: rawMessage?.type || 'unknown',
534
+ payload: rawMessage?.payload || rawMessage,
535
+ timestamp: rawMessage?.timestamp || Date.now(),
536
+ id: rawMessage?.id,
537
+ from: rawMessage?.from,
538
+ };
539
+ }
540
+ } else if (environmentRef.current === 'iframe') {
541
+ // iframe 环境:消息在 event.data.payload 中(tapas-sys 返回格式:{ source, target, payload })
542
+ // 如果 rawMessage 是字符串,说明已经提取了 payload(在 messageHandler 中已处理)
543
+ if (typeof rawMessage === 'string') {
544
+ data = rawMessage;
545
+ } else if (rawMessage?.data?.payload) {
546
+ // 处理 { source, target, payload } 格式(降级情况)
547
+ data = rawMessage.data.payload;
548
+ } else if (rawMessage?.data) {
549
+ // 降级:直接使用 event.data
550
+ data = rawMessage.data;
551
+ } else {
552
+ // 直接是对象:检查是 WebViewMessage 格式
553
+ return {
554
+ type: rawMessage?.type || 'unknown',
555
+ payload: rawMessage?.payload || rawMessage,
556
+ timestamp: rawMessage?.timestamp || Date.now(),
557
+ id: rawMessage?.id,
558
+ from: rawMessage?.from,
559
+ };
560
+ }
561
+ } else {
562
+ // 未知环境:尝试通用解析
563
+ return {
564
+ type: rawMessage?.type || 'unknown',
565
+ payload: rawMessage?.payload || rawMessage,
566
+ timestamp: Date.now(),
567
+ from: rawMessage?.from,
568
+ };
569
+ }
570
+
571
+ // 解析字符串数据
572
+ if (data) {
573
+ const parsed = parseMessage(data);
574
+ if (parsed) {
575
+ return parsed;
576
+ }
577
+ }
578
+
579
+ // 降级:返回原始数据
580
+ return {
581
+ type: 'raw',
582
+ payload: data || rawMessage,
583
+ timestamp: Date.now(),
584
+ };
585
+ }, [parseMessage, convertFromTapasSysFormat]);
586
+
587
+ // 发送消息
588
+ const sendMessage = useCallback((type: string, payload?: any): boolean => {
589
+ try {
590
+ const message: WebViewMessage = {
591
+ type,
592
+ payload,
593
+ timestamp: Date.now(),
594
+ id: generateMessageId(),
595
+ from: from, // 添加 from 字段
596
+ };
597
+
598
+ loggerRef.current.debug('准备发送消息(内部格式):', message);
599
+
600
+ // 转换为 tapas-sys 格式
601
+ const tapasMessage = convertToTapasSysFormat(message);
602
+ loggerRef.current.debug('转换为 tapas-sys 格式:', tapasMessage);
603
+
604
+ // 将消息对象转为 JSON 字符串
605
+ const messageJson = JSON.stringify(tapasMessage);
606
+
607
+ // 根据配置决定是否进行 base64 编码
608
+ const messageToSend = enableBase64
609
+ ? encodeBase64(messageJson)
610
+ : messageJson;
611
+
612
+ if (typeof window === 'undefined') {
613
+ const error = new Error('window 对象不存在,无法发送消息');
614
+ loggerRef.current.error(error.message);
615
+ if (onError) {
616
+ onError(error, { type: 'send' });
617
+ }
618
+ return false;
619
+ }
620
+
621
+ let sent = false;
622
+
623
+ // 优先尝试 React Native WebView 的 postMessage(适用于 Android/iOS WebView)
624
+ if ((window as any).ReactNativeWebView) {
625
+ try {
626
+ (window as any).ReactNativeWebView.postMessage(messageToSend);
627
+ loggerRef.current.debug('通过 ReactNativeWebView.postMessage 发送成功');
628
+ sent = true;
629
+ return true;
630
+ } catch (e) {
631
+ const error = e instanceof Error ? e : new Error(String(e));
632
+ loggerRef.current.warn('ReactNativeWebView.postMessage 失败', error);
633
+ if (onError) {
634
+ onError(error, { type: 'send' });
635
+ }
636
+ }
637
+ }
638
+
639
+ // 降级:使用 window.parent.postMessage(适用于 iframe 和 Web WebView)
640
+ if (!sent && window.parent && window.parent !== window) {
641
+ try {
642
+ window.parent.postMessage(messageToSend, '*');
643
+ loggerRef.current.debug('通过 window.parent.postMessage 发送成功');
644
+ sent = true;
645
+ return true;
646
+ } catch (e) {
647
+ const error = e instanceof Error ? e : new Error(String(e));
648
+ loggerRef.current.warn('window.parent.postMessage 失败', error);
649
+ if (onError) {
650
+ onError(error, { type: 'send' });
651
+ }
652
+ }
653
+ }
654
+
655
+ // 最后尝试:直接使用 window.postMessage(某些特殊场景)
656
+ if (!sent && typeof window.postMessage === 'function') {
657
+ try {
658
+ // 注意:某些浏览器可能不支持直接调用 window.postMessage
659
+ // 这里仅作为最后的降级方案
660
+ (window as any).postMessage(messageToSend, '*');
661
+ loggerRef.current.debug('通过 window.postMessage 发送成功');
662
+ sent = true;
663
+ return true;
664
+ } catch (e) {
665
+ const error = e instanceof Error ? e : new Error(String(e));
666
+ loggerRef.current.warn('window.postMessage 失败', error);
667
+ if (onError) {
668
+ onError(error, { type: 'send' });
669
+ }
670
+ }
671
+ }
672
+
673
+ if (!sent) {
674
+ const error = new Error(`所有消息发送方式都失败,当前环境: ${environmentRef.current}`);
675
+ loggerRef.current.error(error.message);
676
+ if (onError) {
677
+ onError(error, { type: 'send' });
678
+ }
679
+ return false;
680
+ }
681
+
682
+ return true;
683
+ } catch (e) {
684
+ const error = e instanceof Error ? e : new Error(String(e));
685
+ loggerRef.current.error('发送消息时发生未知错误', error);
686
+ if (onError) {
687
+ onError(error, { type: 'send' });
688
+ }
689
+ return false;
690
+ }
691
+ }, [generateMessageId, from, enableBase64, onError, convertToTapasSysFormat]);
692
+
693
+ // 消息处理函数
694
+ const handleMessage = useCallback((rawMessage: any, eventOrigin?: string) => {
695
+ try {
696
+ // Origin 验证(仅 iframe 环境)
697
+ if (environmentRef.current === 'iframe' && eventOrigin !== undefined) {
698
+ const isValidOrigin = validateOrigin(
699
+ eventOrigin,
700
+ allowedOrigins,
701
+ strictOriginCheck,
702
+ loggerRef.current
703
+ );
704
+
705
+ if (!isValidOrigin) {
706
+ const error = new Error(`消息来源 ${eventOrigin} 验证失败`);
707
+ loggerRef.current.error(error.message);
708
+ if (onError) {
709
+ onError(error, { type: 'origin' });
710
+ }
711
+ return;
712
+ }
713
+ }
714
+
715
+ const normalizedMessage = normalizeMessage(rawMessage);
716
+
717
+ if (!normalizedMessage) {
718
+ loggerRef.current.warn('消息标准化失败,忽略消息');
719
+ return;
720
+ }
721
+
722
+ // 验证 from 字段
723
+ if (!validateFrom(normalizedMessage.from, allowedFrom, loggerRef.current)) {
724
+ loggerRef.current.warn('消息 from 字段验证失败,忽略消息');
725
+ return;
726
+ }
727
+
728
+ // 消息过滤器
729
+ if (messageFilter && !messageFilter(normalizedMessage)) {
730
+ loggerRef.current.debug('消息被过滤器拒绝,忽略消息');
731
+ return;
732
+ }
733
+
734
+ loggerRef.current.debug('处理消息:', normalizedMessage);
735
+
736
+ // 调用外部监听器
737
+ if (onMessage) {
738
+ try {
739
+ onMessage(normalizedMessage);
740
+ } catch (e) {
741
+ const error = e instanceof Error ? e : new Error(String(e));
742
+ loggerRef.current.error('onMessage 回调执行错误', error);
743
+ if (onError) {
744
+ onError(error, { type: 'receive' });
745
+ }
746
+ }
747
+ }
748
+
749
+ // 调用注册的处理器
750
+ messageHandlersRef.current.forEach((handler) => {
751
+ try {
752
+ handler(normalizedMessage);
753
+ } catch (e) {
754
+ const error = e instanceof Error ? e : new Error(String(e));
755
+ loggerRef.current.error('消息处理器执行错误', error);
756
+ if (onError) {
757
+ onError(error, { type: 'receive' });
758
+ }
759
+ }
760
+ });
761
+ } catch (e) {
762
+ const error = e instanceof Error ? e : new Error(String(e));
763
+ loggerRef.current.error('处理消息时发生未知错误', error);
764
+ if (onError) {
765
+ onError(error, { type: 'receive' });
766
+ }
767
+ }
768
+ }, [onMessage, normalizeMessage, allowedOrigins, strictOriginCheck, allowedFrom, messageFilter, onError]);
769
+
770
+ // 清理函数
771
+ const cleanup = useCallback(() => {
772
+ loggerRef.current.debug('清理所有监听器和资源');
773
+ cleanupFunctionsRef.current.forEach(cleanupFn => {
774
+ try {
775
+ cleanupFn();
776
+ } catch (e) {
777
+ loggerRef.current.error('清理函数执行错误', e);
778
+ }
779
+ });
780
+ cleanupFunctionsRef.current = [];
781
+ messageHandlersRef.current.clear();
782
+ }, []);
783
+
784
+ // 注册消息监听(优化:基于验证通过的 demo 实现)
785
+ useEffect(() => {
786
+ loggerRef.current.info('🔧 [WebViewBridge] 开始注册消息监听器', {
787
+ environment: environmentRef.current,
788
+ hasWindow: typeof window !== 'undefined',
789
+ hasReactNativeWebView: typeof window !== 'undefined' && !!(window as any).ReactNativeWebView,
790
+ });
791
+
792
+ if (typeof window === 'undefined') {
793
+ loggerRef.current.warn('⚠️ [WebViewBridge] window 不存在,无法注册监听器');
794
+ return;
795
+ }
796
+
797
+ const cleanupFunctions: Array<() => void> = [];
798
+
799
+ // ✅ 优化:基于验证通过的 demo,所有环境都需要注册以下监听器
800
+ // 1. webviewmessage 自定义事件(Bridgeless 兼容,tapas-sys 优先使用)
801
+ // 2. message 标准事件(官方标准方式)
802
+
803
+ // 1. 监听 webviewmessage 自定义事件(优先方式,Bridgeless 兼容)
804
+ const customEventHandler = (event: CustomEvent) => {
805
+ loggerRef.current.info('🔔 [WebViewBridge] 收到 webviewmessage 自定义事件', {
806
+ detail: event.detail,
807
+ type: typeof event.detail,
808
+ });
809
+
810
+ // event.detail 是消息对象(tapas-sys 发送的格式)
811
+ // 直接传递给 handleMessage,normalizeMessage 会处理格式转换
812
+ try {
813
+ handleMessage(event.detail, window.location.origin);
814
+ } catch (e) {
815
+ loggerRef.current.error('处理 webviewmessage 事件失败', e);
816
+ }
817
+ };
818
+
819
+ window.addEventListener('webviewmessage', customEventHandler as EventListener);
820
+ cleanupFunctions.push(() => {
821
+ window.removeEventListener('webviewmessage', customEventHandler as EventListener);
822
+ });
823
+ loggerRef.current.info('✅ [WebViewBridge] webviewmessage 事件监听器已注册');
824
+
825
+ // 2. 监听 message 标准事件(官方标准方式)
826
+ const messageHandler = (event: MessageEvent) => {
827
+ loggerRef.current.info('🔔 [WebViewBridge] 收到 message 事件', {
828
+ data: event.data,
829
+ type: typeof event.data,
830
+ origin: event.origin,
831
+ });
832
+
833
+ try {
834
+ // ✅ 优化:根据 demo 验证,event.data 是字符串(JSON.stringify 后的结果)
835
+ // tapas-sys 使用 window.postMessage(JSON.stringify(message), '*') 发送
836
+ if (event.data && typeof event.data === 'string') {
837
+ // 直接传递字符串给 handleMessage,parseMessage 会处理解析
838
+ loggerRef.current.debug('🔔 [WebViewBridge] 提取 event.data(字符串)', event.data);
839
+ handleMessage(event.data, event.origin);
840
+ } else if (event.data && typeof event.data === 'object') {
841
+ // iframe 环境可能收到对象格式 { source, target, payload }
842
+ if (environmentRef.current === 'iframe' && event.data.payload) {
843
+ loggerRef.current.debug('🔔 [WebViewBridge] iframe 环境:提取 payload', event.data.payload);
844
+ handleMessage(event.data.payload, event.origin);
845
+ } else {
846
+ // 降级:传递整个 event.data
847
+ handleMessage(event.data, event.origin);
848
+ }
849
+ } else {
850
+ // 降级:传递整个 event
851
+ handleMessage(event, event.origin);
852
+ }
853
+ } catch (e) {
854
+ loggerRef.current.error('处理 message 事件失败', e);
855
+ }
856
+ };
857
+
858
+ // 根据环境注册 message 事件监听器
859
+ if (environmentRef.current === 'iframe') {
860
+ // iframe 环境:使用 window.addEventListener("message")
861
+ window.addEventListener('message', messageHandler);
862
+ cleanupFunctions.push(() => {
863
+ window.removeEventListener('message', messageHandler);
864
+ });
865
+ loggerRef.current.info('✅ [WebViewBridge] iframe message 事件监听器已注册 (window)');
866
+ } else if (environmentRef.current === 'webview') {
867
+ // WebView 环境:根据平台注册
868
+ const isIOS =
869
+ /iPad|iPhone|iPod/.test(navigator.platform) ||
870
+ (navigator.userAgent.includes('Mac') && 'ontouchend' in document);
871
+
872
+ if (isIOS) {
873
+ // iOS: 使用 window.addEventListener("message")
874
+ window.addEventListener('message', messageHandler);
875
+ cleanupFunctions.push(() => {
876
+ window.removeEventListener('message', messageHandler);
877
+ });
878
+ loggerRef.current.info('✅ [WebViewBridge] iOS message 事件监听器已注册 (window)');
879
+ } else {
880
+ // Android: 同时监听 window 和 document(双重保障)
881
+ // 1. window.document.addEventListener("message") - tapas-sys 可能使用
882
+ // 2. window.addEventListener("message") - React Native WebView 标准方式
883
+
884
+ if (window.document && typeof window.document.addEventListener === 'function') {
885
+ window.document.addEventListener('message', messageHandler as EventListener);
886
+ cleanupFunctions.push(() => {
887
+ if (window.document && typeof window.document.removeEventListener === 'function') {
888
+ window.document.removeEventListener('message', messageHandler as EventListener);
889
+ }
890
+ });
891
+ loggerRef.current.info('✅ [WebViewBridge] Android message 事件监听器已注册 (document)');
892
+ }
893
+
894
+ // 同时监听 window(备用)
895
+ window.addEventListener('message', messageHandler);
896
+ cleanupFunctions.push(() => {
897
+ window.removeEventListener('message', messageHandler);
898
+ });
899
+ loggerRef.current.info('✅ [WebViewBridge] Android message 事件监听器已注册 (window, 备用)');
900
+ }
901
+ } else {
902
+ // 未知环境:使用 window.addEventListener("message") 作为降级
903
+ window.addEventListener('message', messageHandler);
904
+ cleanupFunctions.push(() => {
905
+ window.removeEventListener('message', messageHandler);
906
+ });
907
+ loggerRef.current.info('✅ [WebViewBridge] 未知环境 message 事件监听器已注册 (window, 降级)');
908
+ }
909
+
910
+ // 保存清理函数
911
+ const cleanupFn = () => {
912
+ cleanupFunctions.forEach(fn => {
913
+ try {
914
+ fn();
915
+ } catch (e) {
916
+ loggerRef.current.error('清理监听器失败', e);
917
+ }
918
+ });
919
+ };
920
+
921
+ cleanupFunctionsRef.current.push(cleanupFn);
922
+ loggerRef.current.info('✅ [WebViewBridge] 所有消息监听器已注册完成');
923
+
924
+ return cleanupFn;
925
+ }, [handleMessage]);
926
+
927
+ // 发送初始化消息(在 window.onload 完成后自动发送)
928
+ useEffect(() => {
929
+ if (autoInit && !initSentRef.current && from) {
930
+ const sendInitMessage = () => {
931
+ if (!initSentRef.current) {
932
+ loggerRef.current.info('🚀 [WebViewBridge] 自动发送初始化消息', {
933
+ type: initMessageType,
934
+ from,
935
+ environment: environmentRef.current
936
+ });
937
+ sendMessage(initMessageType, initPayload);
938
+ initSentRef.current = true;
939
+ }
940
+ };
941
+
942
+ // 🔧 改进:优先检测 React Native WebView 环境
943
+ const isReactNativeWebView = typeof window !== 'undefined' &&
944
+ (window as any).ReactNativeWebView !== undefined;
945
+
946
+ if (isReactNativeWebView) {
947
+ // React Native WebView 环境:延迟发送,确保 WebView 完全加载
948
+ loggerRef.current.debug('🔍 [WebViewBridge] 检测到 React Native WebView 环境,延迟发送 INIT');
949
+ setTimeout(sendInitMessage, 500); // 延迟 500ms 确保 WebView 完全加载
950
+ } else if (typeof window !== 'undefined') {
951
+ // Web 环境(iframe 或浏览器)
952
+ if (typeof document !== 'undefined' &&
953
+ (document.readyState === 'complete' || document.readyState === 'interactive')) {
954
+ // 文档已经加载完成,使用 setTimeout 确保在下一个事件循环中执行
955
+ loggerRef.current.debug('🔍 [WebViewBridge] 文档已加载完成,立即发送 INIT');
956
+ setTimeout(sendInitMessage, 0);
957
+ } else if (typeof document !== 'undefined') {
958
+ // 等待 window.onload 事件
959
+ loggerRef.current.debug('🔍 [WebViewBridge] 等待文档加载完成');
960
+ const handleLoad = () => {
961
+ sendInitMessage();
962
+ window.removeEventListener('load', handleLoad);
963
+ };
964
+ window.addEventListener('load', handleLoad);
965
+
966
+ // 也监听 DOMContentLoaded 作为备选(某些情况下可能更快)
967
+ const handleDOMContentLoaded = () => {
968
+ // 延迟一点确保所有初始化完成
969
+ setTimeout(sendInitMessage, 10);
970
+ document.removeEventListener('DOMContentLoaded', handleDOMContentLoaded);
971
+ };
972
+ if (document.readyState === 'loading') {
973
+ document.addEventListener('DOMContentLoaded', handleDOMContentLoaded);
974
+ }
975
+
976
+ return () => {
977
+ window.removeEventListener('load', handleLoad);
978
+ if (typeof document !== 'undefined') {
979
+ document.removeEventListener('DOMContentLoaded', handleDOMContentLoaded);
980
+ }
981
+ };
982
+ } else {
983
+ // document 不存在,但 window 存在(某些特殊环境)
984
+ loggerRef.current.debug('🔍 [WebViewBridge] document 不存在,延迟发送 INIT');
985
+ setTimeout(sendInitMessage, 100);
986
+ }
987
+ } else {
988
+ // 非 Web 环境(纯 React Native),直接发送
989
+ loggerRef.current.debug('🔍 [WebViewBridge] 非 Web 环境,延迟发送 INIT');
990
+ setTimeout(sendInitMessage, 100);
991
+ }
992
+ }
993
+ return undefined;
994
+ }, [autoInit, initMessageType, initPayload, sendMessage, from]);
995
+
996
+ // 组件卸载时清理
997
+ useEffect(() => {
998
+ return () => {
999
+ cleanup();
1000
+ };
1001
+ }, [cleanup]);
1002
+
1003
+ // 暴露方法给父组件
1004
+ useImperativeHandle(ref, () => ({
1005
+ sendMessage,
1006
+ getEnvironment: () => environmentRef.current,
1007
+ cleanup,
1008
+ }), [sendMessage, cleanup]);
1009
+
1010
+ // 渲染占位 DOM(确保组件有实体)
1011
+ if (!showPlaceholder) {
1012
+ return null;
1013
+ }
1014
+
1015
+ return (
1016
+ <View
1017
+ style={[styles.container, style]}
1018
+ testID={testID}
1019
+ pointerEvents="none"
1020
+ />
1021
+ );
1022
+ }
1023
+ );
1024
+
1025
+ WebViewBridge.displayName = 'WebViewBridge';
1026
+
1027
+ /**
1028
+ * 原生 WebView 消息注入辅助函数
1029
+ * 在 WebView 的 injectedJavaScript 中使用,用于接收原生消息
1030
+ */
1031
+ export const createWebViewInjectedScript = () => {
1032
+ return `
1033
+ (function() {
1034
+ // 创建全局事件总线(如果不存在)
1035
+ if (typeof window.__WebViewBridgeEventBus === 'undefined') {
1036
+ window.__WebViewBridgeEventBus = {
1037
+ listeners: {},
1038
+ on: function(event, handler) {
1039
+ if (!this.listeners[event]) {
1040
+ this.listeners[event] = [];
1041
+ }
1042
+ this.listeners[event].push(handler);
1043
+ },
1044
+ off: function(event, handler) {
1045
+ if (this.listeners[event]) {
1046
+ this.listeners[event] = this.listeners[event].filter(h => h !== handler);
1047
+ }
1048
+ },
1049
+ emit: function(event, data) {
1050
+ if (this.listeners[event]) {
1051
+ this.listeners[event].forEach(handler => {
1052
+ try {
1053
+ handler(data);
1054
+ } catch (e) {
1055
+ console.error('WebViewBridge: 事件处理器错误', e);
1056
+ }
1057
+ });
1058
+ }
1059
+ }
1060
+ };
1061
+ }
1062
+
1063
+ // 监听 React Native WebView 的消息
1064
+ // Android: 使用 window.document.addEventListener("message")
1065
+ // iOS: 使用 window.addEventListener("message")
1066
+ // 为了兼容性,同时监听两个事件
1067
+
1068
+ // 判断是否运行在 iOS 下
1069
+ const isIOS = /iPad|iPhone|iPod/.test(navigator.platform) ||
1070
+ (navigator.userAgent.includes('Mac') && 'ontouchend' in document);
1071
+
1072
+ if (window.ReactNativeWebView) {
1073
+ if (isIOS) {
1074
+ // iOS: 使用 window.addEventListener("message")
1075
+ window.addEventListener('message', function(event) {
1076
+ if (window.__WebViewBridgeEventBus) {
1077
+ window.__WebViewBridgeEventBus.emit('message', event);
1078
+ }
1079
+ });
1080
+ } else {
1081
+ // Android: 使用 window.document.addEventListener("message")(tapas-sys 使用)
1082
+ if (window.document && typeof window.document.addEventListener === 'function') {
1083
+ window.document.addEventListener('message', function(event) {
1084
+ if (window.__WebViewBridgeEventBus) {
1085
+ window.__WebViewBridgeEventBus.emit('message', event);
1086
+ }
1087
+ });
1088
+ }
1089
+ // 同时监听 window.addEventListener("message") 作为备用
1090
+ window.addEventListener('message', function(event) {
1091
+ if (window.__WebViewBridgeEventBus) {
1092
+ window.__WebViewBridgeEventBus.emit('message', event);
1093
+ }
1094
+ });
1095
+ }
1096
+ } else {
1097
+ // 非 ReactNativeWebView 环境:监听 postMessage(备用方案)
1098
+ window.addEventListener('message', function(event) {
1099
+ if (window.__WebViewBridgeEventBus) {
1100
+ window.__WebViewBridgeEventBus.emit('message', event);
1101
+ }
1102
+ });
1103
+ }
1104
+ })();
1105
+ true; // 确保脚本返回 true
1106
+ `;
1107
+ };
1108
+
1109
+ /**
1110
+ * 处理原生 WebView 消息
1111
+ * 在 WebView 的 onMessage 回调中调用此函数
1112
+ */
1113
+ export const handleNativeWebViewMessage = (
1114
+ event: any,
1115
+ onMessage: (message: WebViewMessage) => void
1116
+ ) => {
1117
+ try {
1118
+ const data = event.nativeEvent?.data || event.data || event;
1119
+ const message: WebViewMessage = typeof data === 'string'
1120
+ ? JSON.parse(data)
1121
+ : data;
1122
+
1123
+ onMessage(message);
1124
+ } catch (e) {
1125
+ console.error('WebViewBridge: 解析原生消息失败', e);
1126
+ }
1127
+ };
1128
+
1129
+ const styles = StyleSheet.create({
1130
+ container: {
1131
+ width: 0,
1132
+ height: 0,
1133
+ position: 'absolute',
1134
+ opacity: 0,
1135
+ pointerEvents: 'none',
1136
+ },
1137
+ });
1138
+
1139
+ export default WebViewBridge;
1140
+