@inventreedb/ui 0.0.1 → 0.0.3

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 (597) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/LICENSE +21 -0
  3. package/README.md +18 -7
  4. package/dist/.vite/manifest.json +168 -0
  5. package/dist/_virtual/errors.js +5 -0
  6. package/dist/_virtual/errors.js.map +1 -0
  7. package/dist/_virtual/index.js +6 -0
  8. package/dist/_virtual/index.js.map +1 -0
  9. package/dist/_virtual/index2.js +5 -0
  10. package/dist/_virtual/index2.js.map +1 -0
  11. package/dist/_virtual/lexer.js +5 -0
  12. package/dist/_virtual/lexer.js.map +1 -0
  13. package/dist/_virtual/moo.js +5 -0
  14. package/dist/_virtual/moo.js.map +1 -0
  15. package/dist/_virtual/parser.js +6 -0
  16. package/dist/_virtual/parser.js.map +1 -0
  17. package/dist/_virtual/parser2.js +5 -0
  18. package/dist/_virtual/parser2.js.map +1 -0
  19. package/dist/enums/ApiEndpoints.d.ts +179 -0
  20. package/dist/enums/ApiEndpoints.js +184 -0
  21. package/dist/enums/ApiEndpoints.js.map +1 -0
  22. package/dist/enums/ModelInformation.d.ts +20 -0
  23. package/dist/enums/ModelInformation.js +590 -0
  24. package/dist/enums/ModelInformation.js.map +1 -0
  25. package/dist/enums/ModelType.d.ts +35 -0
  26. package/dist/enums/ModelType.js +40 -0
  27. package/dist/enums/ModelType.js.map +1 -0
  28. package/dist/enums/Roles.d.ts +18 -0
  29. package/dist/functions/Api.d.ts +11 -0
  30. package/dist/functions/Api.js +27 -0
  31. package/dist/functions/Api.js.map +1 -0
  32. package/dist/functions/Events.d.ts +1 -0
  33. package/dist/functions/Events.js +10 -0
  34. package/dist/functions/Events.js.map +1 -0
  35. package/dist/functions/Navigation.d.ts +8 -0
  36. package/dist/functions/Navigation.js +38 -0
  37. package/dist/functions/Navigation.js.map +1 -0
  38. package/dist/functions/Plugins.d.ts +2 -0
  39. package/dist/functions/Plugins.js +23 -0
  40. package/dist/functions/Plugins.js.map +1 -0
  41. package/dist/index.d.ts +7 -0
  42. package/dist/index.js +17 -0
  43. package/dist/index.js.map +1 -0
  44. package/dist/node_modules/@lingui/core/dist/index.js +405 -0
  45. package/dist/node_modules/@lingui/core/dist/index.js.map +1 -0
  46. package/dist/node_modules/@lingui/message-utils/dist/compileMessage.js +326 -0
  47. package/dist/node_modules/@lingui/message-utils/dist/compileMessage.js.map +1 -0
  48. package/dist/node_modules/@messageformat/parser/lib/lexer.js +74 -0
  49. package/dist/node_modules/@messageformat/parser/lib/lexer.js.map +1 -0
  50. package/dist/node_modules/@messageformat/parser/lib/parser.js +223 -0
  51. package/dist/node_modules/@messageformat/parser/lib/parser.js.map +1 -0
  52. package/dist/node_modules/moo/moo.js +539 -0
  53. package/dist/node_modules/moo/moo.js.map +1 -0
  54. package/dist/node_modules/unraw/dist/errors.js +39 -0
  55. package/dist/node_modules/unraw/dist/errors.js.map +1 -0
  56. package/dist/node_modules/unraw/dist/index.js +112 -0
  57. package/dist/node_modules/unraw/dist/index.js.map +1 -0
  58. package/dist/types/Auth.d.ts +51 -0
  59. package/dist/types/Core.d.ts +10 -0
  60. package/dist/types/Filters.d.ts +56 -0
  61. package/dist/types/Forms.d.ts +159 -0
  62. package/dist/types/Icons.d.ts +5 -0
  63. package/dist/types/Modals.d.ts +15 -0
  64. package/dist/types/Plugins.d.ts +58 -0
  65. package/dist/types/Plugins.js +5 -0
  66. package/dist/types/Plugins.js.map +1 -0
  67. package/dist/types/Server.d.ts +7 -0
  68. package/dist/types/Settings.d.ts +48 -0
  69. package/dist/types/Tables.d.ts +34 -0
  70. package/dist/types/User.d.ts +55 -0
  71. package/{src/components/render/ModelType.tsx → lib/enums/ModelInformation.tsx} +4 -18
  72. package/lib/functions/Navigation.tsx +58 -0
  73. package/lib/index.ts +6 -0
  74. package/lib/types/Icons.tsx +9 -0
  75. package/package.json +9 -1
  76. package/.babelrc +0 -8
  77. package/.linguirc +0 -55
  78. package/index.html +0 -15
  79. package/netlify.toml +0 -22
  80. package/playwright/global-setup.ts +0 -45
  81. package/playwright.config.ts +0 -99
  82. package/src/App.tsx +0 -35
  83. package/src/assets/inventree.svg +0 -1
  84. package/src/components/Boundary.tsx +0 -43
  85. package/src/components/SplashScreen.tsx +0 -35
  86. package/src/components/barcodes/BarcodeCameraInput.tsx +0 -207
  87. package/src/components/barcodes/BarcodeInput.tsx +0 -127
  88. package/src/components/barcodes/BarcodeKeyboardInput.tsx +0 -50
  89. package/src/components/barcodes/BarcodeScanDialog.tsx +0 -101
  90. package/src/components/barcodes/BarcodeScanItem.tsx +0 -23
  91. package/src/components/barcodes/QRCode.tsx +0 -211
  92. package/src/components/buttons/ActionButton.tsx +0 -61
  93. package/src/components/buttons/AddItemButton.tsx +0 -10
  94. package/src/components/buttons/AdminButton.tsx +0 -91
  95. package/src/components/buttons/ButtonMenu.tsx +0 -33
  96. package/src/components/buttons/CopyButton.tsx +0 -52
  97. package/src/components/buttons/PrimaryActionButton.tsx +0 -40
  98. package/src/components/buttons/PrintingActions.tsx +0 -191
  99. package/src/components/buttons/RemoveRowButton.tsx +0 -22
  100. package/src/components/buttons/SSOButton.tsx +0 -53
  101. package/src/components/buttons/ScanButton.tsx +0 -27
  102. package/src/components/buttons/SegmentedIconControl.tsx +0 -51
  103. package/src/components/buttons/SplitButton.css.ts +0 -19
  104. package/src/components/buttons/SplitButton.tsx +0 -111
  105. package/src/components/buttons/SpotlightButton.tsx +0 -22
  106. package/src/components/buttons/StarredToggleButton.tsx +0 -62
  107. package/src/components/buttons/YesNoButton.tsx +0 -42
  108. package/src/components/calendar/Calendar.tsx +0 -193
  109. package/src/components/calendar/OrderCalendar.tsx +0 -209
  110. package/src/components/charts/colors.tsx +0 -12
  111. package/src/components/charts/tooltipFormatter.tsx +0 -12
  112. package/src/components/dashboard/DashboardLayout.tsx +0 -327
  113. package/src/components/dashboard/DashboardMenu.tsx +0 -136
  114. package/src/components/dashboard/DashboardWidget.tsx +0 -82
  115. package/src/components/dashboard/DashboardWidgetDrawer.tsx +0 -130
  116. package/src/components/dashboard/DashboardWidgetLibrary.tsx +0 -189
  117. package/src/components/dashboard/widgets/ColorToggleWidget.tsx +0 -28
  118. package/src/components/dashboard/widgets/GetStartedWidget.tsx +0 -19
  119. package/src/components/dashboard/widgets/LanguageSelectWidget.tsx +0 -28
  120. package/src/components/dashboard/widgets/NewsWidget.tsx +0 -143
  121. package/src/components/dashboard/widgets/QueryCountDashboardWidget.tsx +0 -134
  122. package/src/components/details/Details.tsx +0 -514
  123. package/src/components/details/DetailsBadge.tsx +0 -20
  124. package/src/components/details/DetailsImage.tsx +0 -462
  125. package/src/components/details/ItemDetails.tsx +0 -17
  126. package/src/components/editors/NotesEditor.tsx +0 -232
  127. package/src/components/editors/TemplateEditor/CodeEditor/CodeEditor.tsx +0 -158
  128. package/src/components/editors/TemplateEditor/CodeEditor/index.tsx +0 -12
  129. package/src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx +0 -90
  130. package/src/components/editors/TemplateEditor/PdfPreview/index.tsx +0 -12
  131. package/src/components/editors/TemplateEditor/TemplateEditor.tsx +0 -425
  132. package/src/components/editors/TemplateEditor/index.tsx +0 -3
  133. package/src/components/errors/ClientError.tsx +0 -28
  134. package/src/components/errors/GenericErrorPage.tsx +0 -73
  135. package/src/components/errors/NotAuthenticated.tsx +0 -12
  136. package/src/components/errors/NotFound.tsx +0 -12
  137. package/src/components/errors/PermissionDenied.tsx +0 -12
  138. package/src/components/errors/ServerError.tsx +0 -13
  139. package/src/components/forms/ApiForm.tsx +0 -718
  140. package/src/components/forms/AuthFormOptions.tsx +0 -39
  141. package/src/components/forms/AuthenticationForm.tsx +0 -332
  142. package/src/components/forms/HostOptionsForm.tsx +0 -96
  143. package/src/components/forms/InstanceOptions.tsx +0 -178
  144. package/src/components/forms/StandaloneField.tsx +0 -55
  145. package/src/components/forms/fields/ApiFormField.tsx +0 -281
  146. package/src/components/forms/fields/ChoiceField.tsx +0 -86
  147. package/src/components/forms/fields/DateField.tsx +0 -79
  148. package/src/components/forms/fields/DependentField.tsx +0 -91
  149. package/src/components/forms/fields/IconField.tsx +0 -353
  150. package/src/components/forms/fields/NestedObjectField.tsx +0 -45
  151. package/src/components/forms/fields/RelatedModelField.tsx +0 -339
  152. package/src/components/forms/fields/TableField.tsx +0 -275
  153. package/src/components/forms/fields/TextField.tsx +0 -81
  154. package/src/components/images/ApiImage.tsx +0 -35
  155. package/src/components/images/Thumbnail.tsx +0 -52
  156. package/src/components/importer/ImportDataSelector.tsx +0 -433
  157. package/src/components/importer/ImporterColumnSelector.tsx +0 -244
  158. package/src/components/importer/ImporterDrawer.tsx +0 -173
  159. package/src/components/importer/ImporterImportProgress.tsx +0 -45
  160. package/src/components/items/ActionDropdown.tsx +0 -290
  161. package/src/components/items/ApiIcon.css.ts +0 -13
  162. package/src/components/items/ApiIcon.tsx +0 -32
  163. package/src/components/items/AttachmentLink.tsx +0 -79
  164. package/src/components/items/ColorToggle.tsx +0 -34
  165. package/src/components/items/DashboardItem.tsx +0 -33
  166. package/src/components/items/DocInfo.tsx +0 -20
  167. package/src/components/items/DocTooltip.tsx +0 -98
  168. package/src/components/items/ErrorItem.tsx +0 -17
  169. package/src/components/items/Expand.tsx +0 -14
  170. package/src/components/items/GettingStartedCarousel.css.ts +0 -30
  171. package/src/components/items/GettingStartedCarousel.tsx +0 -49
  172. package/src/components/items/InfoItem.tsx +0 -64
  173. package/src/components/items/InvenTreeLogo.tsx +0 -24
  174. package/src/components/items/LanguageSelect.tsx +0 -43
  175. package/src/components/items/LanguageToggle.tsx +0 -37
  176. package/src/components/items/MenuLinks.tsx +0 -113
  177. package/src/components/items/OnlyStaff.tsx +0 -10
  178. package/src/components/items/ProgressBar.tsx +0 -45
  179. package/src/components/items/StylishText.tsx +0 -59
  180. package/src/components/items/TitleWithDoc.tsx +0 -26
  181. package/src/components/items/UnavailableIndicator.tsx +0 -5
  182. package/src/components/items/inventree.svg +0 -1
  183. package/src/components/modals/AboutInvenTreeModal.tsx +0 -203
  184. package/src/components/modals/LicenseModal.tsx +0 -116
  185. package/src/components/modals/QrModal.tsx +0 -21
  186. package/src/components/modals/ServerInfoModal.tsx +0 -136
  187. package/src/components/nav/Alerts.tsx +0 -130
  188. package/src/components/nav/BreadcrumbList.tsx +0 -84
  189. package/src/components/nav/DetailDrawer.css.ts +0 -6
  190. package/src/components/nav/DetailDrawer.tsx +0 -105
  191. package/src/components/nav/Footer.tsx +0 -11
  192. package/src/components/nav/Header.tsx +0 -226
  193. package/src/components/nav/InstanceDetail.tsx +0 -46
  194. package/src/components/nav/Layout.tsx +0 -85
  195. package/src/components/nav/MainMenu.tsx +0 -101
  196. package/src/components/nav/NavHoverMenu.tsx +0 -15
  197. package/src/components/nav/NavigationDrawer.tsx +0 -230
  198. package/src/components/nav/NavigationTree.tsx +0 -210
  199. package/src/components/nav/NotificationDrawer.tsx +0 -231
  200. package/src/components/nav/PageDetail.tsx +0 -171
  201. package/src/components/nav/PageTitle.tsx +0 -53
  202. package/src/components/nav/SearchDrawer.tsx +0 -598
  203. package/src/components/nav/SettingsHeader.tsx +0 -50
  204. package/src/components/panels/AttachmentPanel.tsx +0 -27
  205. package/src/components/panels/NotesPanel.tsx +0 -36
  206. package/src/components/panels/Panel.tsx +0 -15
  207. package/src/components/panels/PanelGroup.css.ts +0 -10
  208. package/src/components/panels/PanelGroup.tsx +0 -292
  209. package/src/components/plugins/LocateItemButton.tsx +0 -94
  210. package/src/components/plugins/PluginContext.tsx +0 -67
  211. package/src/components/plugins/PluginDrawer.tsx +0 -156
  212. package/src/components/plugins/PluginInterface.tsx +0 -34
  213. package/src/components/plugins/PluginPanel.tsx +0 -37
  214. package/src/components/plugins/PluginSettingsPanel.tsx +0 -34
  215. package/src/components/plugins/PluginSource.tsx +0 -48
  216. package/src/components/plugins/PluginUIFeature.tsx +0 -174
  217. package/src/components/plugins/PluginUIFeatureTypes.ts +0 -78
  218. package/src/components/plugins/RemoteComponent.tsx +0 -137
  219. package/src/components/render/Build.tsx +0 -54
  220. package/src/components/render/Company.tsx +0 -114
  221. package/src/components/render/Generic.tsx +0 -49
  222. package/src/components/render/Instance.tsx +0 -240
  223. package/src/components/render/InstanceFromUrl.tsx +0 -33
  224. package/src/components/render/Order.tsx +0 -124
  225. package/src/components/render/Part.tsx +0 -109
  226. package/src/components/render/Plugin.tsx +0 -21
  227. package/src/components/render/Report.tsx +0 -29
  228. package/src/components/render/StatusRenderer.tsx +0 -178
  229. package/src/components/render/Stock.tsx +0 -84
  230. package/src/components/render/User.tsx +0 -42
  231. package/src/components/settings/FactCollection.tsx +0 -31
  232. package/src/components/settings/FactItem.tsx +0 -17
  233. package/src/components/settings/SettingItem.tsx +0 -176
  234. package/src/components/settings/SettingList.tsx +0 -217
  235. package/src/components/wizards/OrderPartsWizard.tsx +0 -473
  236. package/src/components/wizards/WizardDrawer.tsx +0 -188
  237. package/src/contexts/ApiContext.tsx +0 -31
  238. package/src/contexts/LanguageContext.tsx +0 -155
  239. package/src/contexts/ThemeContext.tsx +0 -58
  240. package/src/contexts/colorSchema.tsx +0 -67
  241. package/src/defaults/actions.tsx +0 -87
  242. package/src/defaults/backendMappings.tsx +0 -32
  243. package/src/defaults/defaultHostList.tsx +0 -4
  244. package/src/defaults/defaults.tsx +0 -38
  245. package/src/defaults/formatters.tsx +0 -176
  246. package/src/defaults/links.tsx +0 -193
  247. package/src/defaults/templates.tsx +0 -53
  248. package/src/forms/BomForms.tsx +0 -26
  249. package/src/forms/BuildForms.tsx +0 -615
  250. package/src/forms/CommonForms.tsx +0 -89
  251. package/src/forms/CompanyForms.tsx +0 -133
  252. package/src/forms/ImporterForms.tsx +0 -20
  253. package/src/forms/PartForms.tsx +0 -281
  254. package/src/forms/PurchaseOrderForms.tsx +0 -779
  255. package/src/forms/ReturnOrderForms.tsx +0 -263
  256. package/src/forms/SalesOrderForms.tsx +0 -408
  257. package/src/forms/StockForms.tsx +0 -1296
  258. package/src/forms/selectionListFields.tsx +0 -120
  259. package/src/functions/api.tsx +0 -61
  260. package/src/functions/auth.tsx +0 -574
  261. package/src/functions/conversion.tsx +0 -42
  262. package/src/functions/forms.tsx +0 -173
  263. package/src/functions/icons.tsx +0 -294
  264. package/src/functions/loading.tsx +0 -29
  265. package/src/functions/navigation.tsx +0 -20
  266. package/src/functions/notifications.tsx +0 -101
  267. package/src/functions/tables.tsx +0 -26
  268. package/src/functions/uid.tsx +0 -15
  269. package/src/functions/urls.tsx +0 -58
  270. package/src/hooks/UseCalendar.tsx +0 -178
  271. package/src/hooks/UseDashboardItems.tsx +0 -118
  272. package/src/hooks/UseDataExport.tsx +0 -125
  273. package/src/hooks/UseDataOutput.tsx +0 -109
  274. package/src/hooks/UseFilter.tsx +0 -67
  275. package/src/hooks/UseFilterSet.tsx +0 -24
  276. package/src/hooks/UseForm.tsx +0 -161
  277. package/src/hooks/UseGenerator.tsx +0 -92
  278. package/src/hooks/UseImportSession.tsx +0 -139
  279. package/src/hooks/UseInstance.tsx +0 -137
  280. package/src/hooks/UseInstanceName.tsx +0 -14
  281. package/src/hooks/UseModal.tsx +0 -38
  282. package/src/hooks/UsePlaceholder.tsx +0 -66
  283. package/src/hooks/UsePluginPanels.tsx +0 -123
  284. package/src/hooks/UsePluginUIFeature.tsx +0 -95
  285. package/src/hooks/UsePlugins.tsx +0 -45
  286. package/src/hooks/UseSelectedRows.tsx +0 -37
  287. package/src/hooks/UseStatusCodes.tsx +0 -50
  288. package/src/hooks/UseTable.tsx +0 -145
  289. package/src/hooks/UseWizard.tsx +0 -133
  290. package/src/locales/ar/messages.d.ts +0 -4
  291. package/src/locales/ar/messages.po +0 -10695
  292. package/src/locales/ar/messages.ts +0 -1
  293. package/src/locales/bg/messages.d.ts +0 -4
  294. package/src/locales/bg/messages.po +0 -10695
  295. package/src/locales/bg/messages.ts +0 -1
  296. package/src/locales/cs/messages.d.ts +0 -4
  297. package/src/locales/cs/messages.po +0 -10695
  298. package/src/locales/cs/messages.ts +0 -1
  299. package/src/locales/da/messages.d.ts +0 -4
  300. package/src/locales/da/messages.po +0 -10695
  301. package/src/locales/da/messages.ts +0 -1
  302. package/src/locales/de/messages.d.ts +0 -4
  303. package/src/locales/de/messages.po +0 -10695
  304. package/src/locales/de/messages.ts +0 -1
  305. package/src/locales/el/messages.d.ts +0 -4
  306. package/src/locales/el/messages.po +0 -10695
  307. package/src/locales/el/messages.ts +0 -1
  308. package/src/locales/en/messages.d.ts +0 -4
  309. package/src/locales/en/messages.po +0 -10689
  310. package/src/locales/en/messages.ts +0 -1
  311. package/src/locales/es/messages.d.ts +0 -4
  312. package/src/locales/es/messages.po +0 -10695
  313. package/src/locales/es/messages.ts +0 -1
  314. package/src/locales/es_MX/messages.d.ts +0 -4
  315. package/src/locales/es_MX/messages.po +0 -10695
  316. package/src/locales/es_MX/messages.ts +0 -1
  317. package/src/locales/et/messages.d.ts +0 -4
  318. package/src/locales/et/messages.po +0 -10695
  319. package/src/locales/et/messages.ts +0 -1
  320. package/src/locales/fa/messages.d.ts +0 -4
  321. package/src/locales/fa/messages.po +0 -10695
  322. package/src/locales/fa/messages.ts +0 -1
  323. package/src/locales/fi/messages.d.ts +0 -4
  324. package/src/locales/fi/messages.po +0 -10695
  325. package/src/locales/fi/messages.ts +0 -1
  326. package/src/locales/fr/messages.d.ts +0 -4
  327. package/src/locales/fr/messages.po +0 -10695
  328. package/src/locales/fr/messages.ts +0 -1
  329. package/src/locales/he/messages.d.ts +0 -4
  330. package/src/locales/he/messages.po +0 -10695
  331. package/src/locales/he/messages.ts +0 -1
  332. package/src/locales/hi/messages.d.ts +0 -4
  333. package/src/locales/hi/messages.po +0 -10695
  334. package/src/locales/hi/messages.ts +0 -1
  335. package/src/locales/hu/messages.d.ts +0 -4
  336. package/src/locales/hu/messages.po +0 -10695
  337. package/src/locales/hu/messages.ts +0 -1
  338. package/src/locales/id/messages.po +0 -10695
  339. package/src/locales/it/messages.d.ts +0 -4
  340. package/src/locales/it/messages.po +0 -10695
  341. package/src/locales/it/messages.ts +0 -1
  342. package/src/locales/ja/messages.d.ts +0 -4
  343. package/src/locales/ja/messages.po +0 -10695
  344. package/src/locales/ja/messages.ts +0 -1
  345. package/src/locales/ko/messages.d.ts +0 -4
  346. package/src/locales/ko/messages.po +0 -10695
  347. package/src/locales/ko/messages.ts +0 -1
  348. package/src/locales/lt/messages.d.ts +0 -4
  349. package/src/locales/lt/messages.po +0 -10695
  350. package/src/locales/lt/messages.ts +0 -1
  351. package/src/locales/lv/messages.d.ts +0 -4
  352. package/src/locales/lv/messages.po +0 -10695
  353. package/src/locales/lv/messages.ts +0 -1
  354. package/src/locales/nl/messages.d.ts +0 -4
  355. package/src/locales/nl/messages.po +0 -10695
  356. package/src/locales/nl/messages.ts +0 -1
  357. package/src/locales/no/messages.d.ts +0 -4
  358. package/src/locales/no/messages.po +0 -10695
  359. package/src/locales/no/messages.ts +0 -1
  360. package/src/locales/pl/messages.d.ts +0 -4
  361. package/src/locales/pl/messages.po +0 -10695
  362. package/src/locales/pl/messages.ts +0 -1
  363. package/src/locales/pseudo-LOCALE/messages.d.ts +0 -4
  364. package/src/locales/pseudo-LOCALE/messages.po +0 -8003
  365. package/src/locales/pseudo-LOCALE/messages.ts +0 -1
  366. package/src/locales/pt/messages.d.ts +0 -4
  367. package/src/locales/pt/messages.po +0 -10696
  368. package/src/locales/pt/messages.ts +0 -1
  369. package/src/locales/pt_BR/messages.d.ts +0 -4
  370. package/src/locales/pt_BR/messages.po +0 -10695
  371. package/src/locales/pt_BR/messages.ts +0 -1
  372. package/src/locales/ro/messages.po +0 -10695
  373. package/src/locales/ro/messages.ts +0 -1
  374. package/src/locales/ru/messages.d.ts +0 -4
  375. package/src/locales/ru/messages.po +0 -10695
  376. package/src/locales/ru/messages.ts +0 -1
  377. package/src/locales/sk/messages.d.ts +0 -4
  378. package/src/locales/sk/messages.po +0 -10695
  379. package/src/locales/sk/messages.ts +0 -1
  380. package/src/locales/sl/messages.d.ts +0 -4
  381. package/src/locales/sl/messages.po +0 -10695
  382. package/src/locales/sl/messages.ts +0 -1
  383. package/src/locales/sr/messages.d.ts +0 -4
  384. package/src/locales/sr/messages.po +0 -10695
  385. package/src/locales/sr/messages.ts +0 -1
  386. package/src/locales/sv/messages.d.ts +0 -4
  387. package/src/locales/sv/messages.po +0 -10695
  388. package/src/locales/sv/messages.ts +0 -1
  389. package/src/locales/th/messages.d.ts +0 -4
  390. package/src/locales/th/messages.po +0 -10695
  391. package/src/locales/th/messages.ts +0 -1
  392. package/src/locales/tr/messages.d.ts +0 -4
  393. package/src/locales/tr/messages.po +0 -10695
  394. package/src/locales/tr/messages.ts +0 -1
  395. package/src/locales/uk/messages.d.ts +0 -3
  396. package/src/locales/uk/messages.po +0 -10695
  397. package/src/locales/uk/messages.ts +0 -1
  398. package/src/locales/vi/messages.d.ts +0 -4
  399. package/src/locales/vi/messages.po +0 -10695
  400. package/src/locales/vi/messages.ts +0 -1
  401. package/src/locales/zh_Hans/messages.d.ts +0 -4
  402. package/src/locales/zh_Hans/messages.po +0 -10695
  403. package/src/locales/zh_Hans/messages.ts +0 -1
  404. package/src/locales/zh_Hant/messages.d.ts +0 -4
  405. package/src/locales/zh_Hant/messages.po +0 -10695
  406. package/src/locales/zh_Hant/messages.ts +0 -1
  407. package/src/main.css.ts +0 -148
  408. package/src/main.tsx +0 -123
  409. package/src/pages/Auth/ChangePassword.tsx +0 -84
  410. package/src/pages/Auth/Layout.tsx +0 -74
  411. package/src/pages/Auth/LoggedIn.tsx +0 -21
  412. package/src/pages/Auth/Login.tsx +0 -133
  413. package/src/pages/Auth/Logout.tsx +0 -16
  414. package/src/pages/Auth/MFA.tsx +0 -36
  415. package/src/pages/Auth/MFASetup.tsx +0 -38
  416. package/src/pages/Auth/Register.tsx +0 -28
  417. package/src/pages/Auth/Reset.tsx +0 -30
  418. package/src/pages/Auth/ResetPassword.tsx +0 -48
  419. package/src/pages/Auth/VerifyEmail.tsx +0 -34
  420. package/src/pages/ErrorPage.tsx +0 -26
  421. package/src/pages/Index/Home.tsx +0 -12
  422. package/src/pages/Index/Scan.tsx +0 -258
  423. package/src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx +0 -162
  424. package/src/pages/Index/Settings/AccountSettings/QrRegistrationForm.tsx +0 -38
  425. package/src/pages/Index/Settings/AccountSettings/SecurityContent.tsx +0 -713
  426. package/src/pages/Index/Settings/AccountSettings/UserPanel.tsx +0 -24
  427. package/src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx +0 -207
  428. package/src/pages/Index/Settings/AccountSettings/useConfirm.tsx +0 -117
  429. package/src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx +0 -111
  430. package/src/pages/Index/Settings/AdminCenter/Index.tsx +0 -251
  431. package/src/pages/Index/Settings/AdminCenter/LabelTemplatePanel.tsx +0 -23
  432. package/src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx +0 -110
  433. package/src/pages/Index/Settings/AdminCenter/PartParameterPanel.tsx +0 -29
  434. package/src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx +0 -84
  435. package/src/pages/Index/Settings/AdminCenter/ReportTemplatePanel.tsx +0 -38
  436. package/src/pages/Index/Settings/AdminCenter/StocktakePanel.tsx +0 -31
  437. package/src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx +0 -73
  438. package/src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx +0 -74
  439. package/src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx +0 -49
  440. package/src/pages/Index/Settings/SystemSettings.tsx +0 -339
  441. package/src/pages/Index/Settings/UserSettings.tsx +0 -143
  442. package/src/pages/Notifications.tsx +0 -134
  443. package/src/pages/build/BuildDetail.tsx +0 -579
  444. package/src/pages/build/BuildIndex.tsx +0 -100
  445. package/src/pages/company/CompanyDetail.tsx +0 -352
  446. package/src/pages/company/CustomerDetail.tsx +0 -13
  447. package/src/pages/company/ManufacturerDetail.tsx +0 -13
  448. package/src/pages/company/ManufacturerPartDetail.tsx +0 -307
  449. package/src/pages/company/SupplierDetail.tsx +0 -13
  450. package/src/pages/company/SupplierPartDetail.tsx +0 -433
  451. package/src/pages/core/CoreIndex.tsx +0 -50
  452. package/src/pages/core/GroupDetail.tsx +0 -97
  453. package/src/pages/core/UserDetail.tsx +0 -193
  454. package/src/pages/part/CategoryDetail.tsx +0 -369
  455. package/src/pages/part/PartAllocationPanel.tsx +0 -40
  456. package/src/pages/part/PartDetail.tsx +0 -1071
  457. package/src/pages/part/PartPricingPanel.tsx +0 -155
  458. package/src/pages/part/PartSchedulingDetail.tsx +0 -315
  459. package/src/pages/part/PartStocktakeDetail.tsx +0 -285
  460. package/src/pages/part/PartSupplierDetail.tsx +0 -31
  461. package/src/pages/part/pricing/BomPricingPanel.tsx +0 -269
  462. package/src/pages/part/pricing/PriceBreakPanel.tsx +0 -182
  463. package/src/pages/part/pricing/PricingOverviewPanel.tsx +0 -338
  464. package/src/pages/part/pricing/PricingPanel.tsx +0 -82
  465. package/src/pages/part/pricing/PurchaseHistoryPanel.tsx +0 -134
  466. package/src/pages/part/pricing/SaleHistoryPanel.tsx +0 -95
  467. package/src/pages/part/pricing/SupplierPricingPanel.tsx +0 -80
  468. package/src/pages/part/pricing/VariantPricingPanel.tsx +0 -112
  469. package/src/pages/purchasing/PurchaseOrderDetail.tsx +0 -547
  470. package/src/pages/purchasing/PurchasingIndex.tsx +0 -131
  471. package/src/pages/sales/ReturnOrderDetail.tsx +0 -529
  472. package/src/pages/sales/SalesIndex.tsx +0 -148
  473. package/src/pages/sales/SalesOrderDetail.tsx +0 -593
  474. package/src/pages/sales/SalesOrderShipmentDetail.tsx +0 -385
  475. package/src/pages/stock/LocationDetail.tsx +0 -413
  476. package/src/pages/stock/StockDetail.tsx +0 -951
  477. package/src/router.tsx +0 -213
  478. package/src/states/ApiState.tsx +0 -85
  479. package/src/states/IconState.tsx +0 -94
  480. package/src/states/LocalState.tsx +0 -181
  481. package/src/states/SettingsState.tsx +0 -206
  482. package/src/states/StatusState.tsx +0 -55
  483. package/src/states/UserState.tsx +0 -202
  484. package/src/states/states.tsx +0 -69
  485. package/src/tables/Column.tsx +0 -29
  486. package/src/tables/ColumnRenderers.tsx +0 -320
  487. package/src/tables/ColumnSelect.tsx +0 -39
  488. package/src/tables/Filter.tsx +0 -297
  489. package/src/tables/FilterSelectDrawer.tsx +0 -358
  490. package/src/tables/InvenTreeTable.tsx +0 -750
  491. package/src/tables/InvenTreeTableHeader.tsx +0 -257
  492. package/src/tables/RowActions.tsx +0 -176
  493. package/src/tables/RowExpansionIcon.tsx +0 -16
  494. package/src/tables/Search.tsx +0 -42
  495. package/src/tables/TableHoverCard.tsx +0 -91
  496. package/src/tables/bom/BomTable.tsx +0 -590
  497. package/src/tables/bom/UsedInTable.tsx +0 -114
  498. package/src/tables/build/BuildAllocatedStockTable.tsx +0 -233
  499. package/src/tables/build/BuildLineTable.tsx +0 -800
  500. package/src/tables/build/BuildOrderTable.tsx +0 -226
  501. package/src/tables/build/BuildOrderTestTable.tsx +0 -265
  502. package/src/tables/build/BuildOutputTable.tsx +0 -599
  503. package/src/tables/company/AddressTable.tsx +0 -211
  504. package/src/tables/company/CompanyTable.tsx +0 -176
  505. package/src/tables/company/ContactTable.tsx +0 -182
  506. package/src/tables/core/UserTable.tsx +0 -88
  507. package/src/tables/general/AttachmentTable.tsx +0 -404
  508. package/src/tables/general/BarcodeScanTable.tsx +0 -124
  509. package/src/tables/general/ExtraLineItemTable.tsx +0 -174
  510. package/src/tables/machine/MachineListTable.tsx +0 -634
  511. package/src/tables/machine/MachineTypeTable.tsx +0 -395
  512. package/src/tables/notifications/NotificationTable.tsx +0 -60
  513. package/src/tables/part/ParametricPartTable.tsx +0 -297
  514. package/src/tables/part/PartBuildAllocationsTable.tsx +0 -128
  515. package/src/tables/part/PartCategoryTable.tsx +0 -208
  516. package/src/tables/part/PartCategoryTemplateTable.tsx +0 -157
  517. package/src/tables/part/PartParameterTable.tsx +0 -226
  518. package/src/tables/part/PartParameterTemplateTable.tsx +0 -168
  519. package/src/tables/part/PartPurchaseOrdersTable.tsx +0 -163
  520. package/src/tables/part/PartSalesAllocationsTable.tsx +0 -130
  521. package/src/tables/part/PartTable.tsx +0 -423
  522. package/src/tables/part/PartTestTemplateTable.tsx +0 -290
  523. package/src/tables/part/PartThumbTable.tsx +0 -230
  524. package/src/tables/part/PartVariantTable.tsx +0 -52
  525. package/src/tables/part/RelatedPartTable.tsx +0 -182
  526. package/src/tables/part/SelectionListTable.tsx +0 -134
  527. package/src/tables/plugin/PluginErrorTable.tsx +0 -58
  528. package/src/tables/plugin/PluginListTable.tsx +0 -440
  529. package/src/tables/purchasing/ManufacturerPartParameterTable.tsx +0 -136
  530. package/src/tables/purchasing/ManufacturerPartTable.tsx +0 -158
  531. package/src/tables/purchasing/PurchaseOrderLineItemTable.tsx +0 -424
  532. package/src/tables/purchasing/PurchaseOrderTable.tsx +0 -193
  533. package/src/tables/purchasing/SupplierPartTable.tsx +0 -281
  534. package/src/tables/purchasing/SupplierPriceBreakTable.tsx +0 -222
  535. package/src/tables/sales/ReturnOrderLineItemTable.tsx +0 -271
  536. package/src/tables/sales/ReturnOrderTable.tsx +0 -201
  537. package/src/tables/sales/SalesOrderAllocationTable.tsx +0 -330
  538. package/src/tables/sales/SalesOrderLineItemTable.tsx +0 -508
  539. package/src/tables/sales/SalesOrderShipmentTable.tsx +0 -225
  540. package/src/tables/sales/SalesOrderTable.tsx +0 -212
  541. package/src/tables/settings/ApiTokenTable.tsx +0 -203
  542. package/src/tables/settings/BarcodeScanHistoryTable.tsx +0 -281
  543. package/src/tables/settings/CustomStateTable.tsx +0 -226
  544. package/src/tables/settings/CustomUnitsTable.tsx +0 -125
  545. package/src/tables/settings/ErrorTable.tsx +0 -170
  546. package/src/tables/settings/ExportSessionTable.tsx +0 -60
  547. package/src/tables/settings/FailedTasksTable.tsx +0 -103
  548. package/src/tables/settings/GroupTable.tsx +0 -240
  549. package/src/tables/settings/ImportSessionTable.tsx +0 -175
  550. package/src/tables/settings/PendingTasksTable.tsx +0 -63
  551. package/src/tables/settings/ProjectCodeTable.tsx +0 -115
  552. package/src/tables/settings/ScheduledTasksTable.tsx +0 -62
  553. package/src/tables/settings/StocktakeReportTable.tsx +0 -111
  554. package/src/tables/settings/TemplateTable.tsx +0 -404
  555. package/src/tables/settings/UserTable.tsx +0 -329
  556. package/src/tables/stock/InstalledItemsTable.tsx +0 -146
  557. package/src/tables/stock/LocationTypesTable.tsx +0 -132
  558. package/src/tables/stock/StockItemTable.tsx +0 -707
  559. package/src/tables/stock/StockItemTestResultTable.tsx +0 -487
  560. package/src/tables/stock/StockLocationTable.tsx +0 -208
  561. package/src/tables/stock/StockTrackingTable.tsx +0 -244
  562. package/src/theme.ts +0 -5
  563. package/src/views/DesktopAppView.tsx +0 -28
  564. package/src/views/MainView.tsx +0 -38
  565. package/src/views/MobileAppView.tsx +0 -43
  566. package/tests/baseFixtures.ts +0 -93
  567. package/tests/defaults.ts +0 -18
  568. package/tests/helpers.ts +0 -122
  569. package/tests/login.ts +0 -97
  570. package/tests/pages/pui_build.spec.ts +0 -373
  571. package/tests/pages/pui_company.spec.ts +0 -40
  572. package/tests/pages/pui_core.spec.ts +0 -26
  573. package/tests/pages/pui_dashboard.spec.ts +0 -64
  574. package/tests/pages/pui_part.spec.ts +0 -413
  575. package/tests/pages/pui_purchase_order.spec.ts +0 -388
  576. package/tests/pages/pui_sales_order.spec.ts +0 -224
  577. package/tests/pages/pui_scan.spec.ts +0 -114
  578. package/tests/pages/pui_stock.spec.ts +0 -259
  579. package/tests/pui_exporting.spec.ts +0 -124
  580. package/tests/pui_forms.spec.ts +0 -131
  581. package/tests/pui_general.spec.ts +0 -60
  582. package/tests/pui_login.spec.ts +0 -74
  583. package/tests/pui_modals.spec.ts +0 -144
  584. package/tests/pui_plugins.spec.ts +0 -216
  585. package/tests/pui_printing.spec.ts +0 -149
  586. package/tests/pui_settings.spec.ts +0 -285
  587. package/tests/pui_tables.spec.ts +0 -65
  588. package/tests/settings/selectionList.spec.ts +0 -103
  589. package/tests/settings.ts +0 -54
  590. package/tsconfig.json +0 -25
  591. package/tsconfig.lib.json +0 -13
  592. package/tsconfig.node.json +0 -11
  593. package/vite-env.d.ts +0 -11
  594. package/vite.config.ts +0 -98
  595. package/vite.lib.config.ts +0 -50
  596. /package/{public → dist}/inventree.svg +0 -0
  597. /package/{src/functions/events.tsx → lib/functions/Events.tsx} +0 -0
@@ -0,0 +1,112 @@
1
+ import { __exports as dist } from "../../../_virtual/index2.js";
2
+ import { __require as requireErrors } from "./errors.js";
3
+ var hasRequiredDist;
4
+ function requireDist() {
5
+ if (hasRequiredDist) return dist;
6
+ hasRequiredDist = 1;
7
+ (function(exports) {
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.unraw = exports.errorMessages = exports.ErrorType = void 0;
10
+ const errors_1 = requireErrors();
11
+ Object.defineProperty(exports, "ErrorType", { enumerable: true, get: function() {
12
+ return errors_1.ErrorType;
13
+ } });
14
+ Object.defineProperty(exports, "errorMessages", { enumerable: true, get: function() {
15
+ return errors_1.errorMessages;
16
+ } });
17
+ function parseHexToInt(hex) {
18
+ const isOnlyHexChars = !hex.match(/[^a-f0-9]/i);
19
+ return isOnlyHexChars ? parseInt(hex, 16) : NaN;
20
+ }
21
+ function validateAndParseHex(hex, errorName, enforcedLength) {
22
+ const parsedHex = parseHexToInt(hex);
23
+ if (Number.isNaN(parsedHex) || enforcedLength !== void 0 && enforcedLength !== hex.length) {
24
+ throw new SyntaxError(errors_1.errorMessages.get(errorName));
25
+ }
26
+ return parsedHex;
27
+ }
28
+ function parseHexadecimalCode(code) {
29
+ const parsedCode = validateAndParseHex(code, errors_1.ErrorType.MalformedHexadecimal, 2);
30
+ return String.fromCharCode(parsedCode);
31
+ }
32
+ function parseUnicodeCode(code, surrogateCode) {
33
+ const parsedCode = validateAndParseHex(code, errors_1.ErrorType.MalformedUnicode, 4);
34
+ if (surrogateCode !== void 0) {
35
+ const parsedSurrogateCode = validateAndParseHex(surrogateCode, errors_1.ErrorType.MalformedUnicode, 4);
36
+ return String.fromCharCode(parsedCode, parsedSurrogateCode);
37
+ }
38
+ return String.fromCharCode(parsedCode);
39
+ }
40
+ function isCurlyBraced(text) {
41
+ return text.charAt(0) === "{" && text.charAt(text.length - 1) === "}";
42
+ }
43
+ function parseUnicodeCodePointCode(codePoint) {
44
+ if (!isCurlyBraced(codePoint)) {
45
+ throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.MalformedUnicode));
46
+ }
47
+ const withoutBraces = codePoint.slice(1, -1);
48
+ const parsedCode = validateAndParseHex(withoutBraces, errors_1.ErrorType.MalformedUnicode);
49
+ try {
50
+ return String.fromCodePoint(parsedCode);
51
+ } catch (err) {
52
+ throw err instanceof RangeError ? new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.CodePointLimit)) : err;
53
+ }
54
+ }
55
+ function parseOctalCode(code, error = false) {
56
+ if (error) {
57
+ throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.OctalDeprecation));
58
+ }
59
+ const parsedCode = parseInt(code, 8);
60
+ return String.fromCharCode(parsedCode);
61
+ }
62
+ const singleCharacterEscapes = /* @__PURE__ */ new Map([
63
+ ["b", "\b"],
64
+ ["f", "\f"],
65
+ ["n", "\n"],
66
+ ["r", "\r"],
67
+ ["t", " "],
68
+ ["v", "\v"],
69
+ ["0", "\0"]
70
+ ]);
71
+ function parseSingleCharacterCode(code) {
72
+ return singleCharacterEscapes.get(code) || code;
73
+ }
74
+ const escapeMatch = /\\(?:(\\)|x([\s\S]{0,2})|u(\{[^}]*\}?)|u([\s\S]{4})\\u([^{][\s\S]{0,3})|u([\s\S]{0,4})|([0-3]?[0-7]{1,2})|([\s\S])|$)/g;
75
+ function unraw(raw, allowOctals = false) {
76
+ return raw.replace(escapeMatch, function(_, backslash, hex, codePoint, unicodeWithSurrogate, surrogate, unicode, octal, singleCharacter) {
77
+ if (backslash !== void 0) {
78
+ return "\\";
79
+ }
80
+ if (hex !== void 0) {
81
+ return parseHexadecimalCode(hex);
82
+ }
83
+ if (codePoint !== void 0) {
84
+ return parseUnicodeCodePointCode(codePoint);
85
+ }
86
+ if (unicodeWithSurrogate !== void 0) {
87
+ return parseUnicodeCode(unicodeWithSurrogate, surrogate);
88
+ }
89
+ if (unicode !== void 0) {
90
+ return parseUnicodeCode(unicode);
91
+ }
92
+ if (octal === "0") {
93
+ return "\0";
94
+ }
95
+ if (octal !== void 0) {
96
+ return parseOctalCode(octal, !allowOctals);
97
+ }
98
+ if (singleCharacter !== void 0) {
99
+ return parseSingleCharacterCode(singleCharacter);
100
+ }
101
+ throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.EndOfString));
102
+ });
103
+ }
104
+ exports.unraw = unraw;
105
+ exports.default = unraw;
106
+ })(dist);
107
+ return dist;
108
+ }
109
+ export {
110
+ requireDist as __require
111
+ };
112
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../node_modules/unraw/dist/index.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.unraw = exports.errorMessages = exports.ErrorType = void 0;\nconst errors_1 = require(\"./errors\");\nObject.defineProperty(exports, \"ErrorType\", { enumerable: true, get: function () { return errors_1.ErrorType; } });\nObject.defineProperty(exports, \"errorMessages\", { enumerable: true, get: function () { return errors_1.errorMessages; } });\n/**\n * Parse a string as a base-16 number. This is more strict than `parseInt` as it\n * will not allow any other characters, including (for example) \"+\", \"-\", and\n * \".\".\n * @param hex A string containing a hexadecimal number.\n * @returns The parsed integer, or `NaN` if the string is not a valid hex\n * number.\n */\nfunction parseHexToInt(hex) {\n const isOnlyHexChars = !hex.match(/[^a-f0-9]/i);\n return isOnlyHexChars ? parseInt(hex, 16) : NaN;\n}\n/**\n * Check the validity and length of a hexadecimal code and optionally enforces\n * a specific number of hex digits.\n * @param hex The string to validate and parse.\n * @param errorName The name of the error message to throw a `SyntaxError` with\n * if `hex` is invalid. This is used to index `errorMessages`.\n * @param enforcedLength If provided, will throw an error if `hex` is not\n * exactly this many characters.\n * @returns The parsed hex number as a normal number.\n * @throws {SyntaxError} If the code is not valid.\n */\nfunction validateAndParseHex(hex, errorName, enforcedLength) {\n const parsedHex = parseHexToInt(hex);\n if (Number.isNaN(parsedHex) ||\n (enforcedLength !== undefined && enforcedLength !== hex.length)) {\n throw new SyntaxError(errors_1.errorMessages.get(errorName));\n }\n return parsedHex;\n}\n/**\n * Parse a two-digit hexadecimal character escape code.\n * @param code The two-digit hexadecimal number that represents the character to\n * output.\n * @returns The single character represented by the code.\n * @throws {SyntaxError} If the code is not valid hex or is not the right\n * length.\n */\nfunction parseHexadecimalCode(code) {\n const parsedCode = validateAndParseHex(code, errors_1.ErrorType.MalformedHexadecimal, 2);\n return String.fromCharCode(parsedCode);\n}\n/**\n * Parse a four-digit Unicode character escape code.\n * @param code The four-digit unicode number that represents the character to\n * output.\n * @param surrogateCode Optional four-digit unicode surrogate that represents\n * the other half of the character to output.\n * @returns The single character represented by the code.\n * @throws {SyntaxError} If the codes are not valid hex or are not the right\n * length.\n */\nfunction parseUnicodeCode(code, surrogateCode) {\n const parsedCode = validateAndParseHex(code, errors_1.ErrorType.MalformedUnicode, 4);\n if (surrogateCode !== undefined) {\n const parsedSurrogateCode = validateAndParseHex(surrogateCode, errors_1.ErrorType.MalformedUnicode, 4);\n return String.fromCharCode(parsedCode, parsedSurrogateCode);\n }\n return String.fromCharCode(parsedCode);\n}\n/**\n * Test if the text is surrounded by curly braces (`{}`).\n * @param text Text to check.\n * @returns `true` if the text is in the form `{*}`.\n */\nfunction isCurlyBraced(text) {\n return text.charAt(0) === \"{\" && text.charAt(text.length - 1) === \"}\";\n}\n/**\n * Parse a Unicode code point character escape code.\n * @param codePoint A unicode escape code point, including the surrounding curly\n * braces.\n * @returns The single character represented by the code.\n * @throws {SyntaxError} If the code is not valid hex or does not have the\n * surrounding curly braces.\n */\nfunction parseUnicodeCodePointCode(codePoint) {\n if (!isCurlyBraced(codePoint)) {\n throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.MalformedUnicode));\n }\n const withoutBraces = codePoint.slice(1, -1);\n const parsedCode = validateAndParseHex(withoutBraces, errors_1.ErrorType.MalformedUnicode);\n try {\n return String.fromCodePoint(parsedCode);\n }\n catch (err) {\n throw err instanceof RangeError\n ? new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.CodePointLimit))\n : err;\n }\n}\n// Have to give overload that takes boolean for when compiler doesn't know if\n// true or false\nfunction parseOctalCode(code, error = false) {\n if (error) {\n throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.OctalDeprecation));\n }\n // The original regex only allows digits so we don't need to have a strict\n // octal parser like hexToInt. Length is not enforced for octals.\n const parsedCode = parseInt(code, 8);\n return String.fromCharCode(parsedCode);\n}\n/**\n * Map of unescaped letters to their corresponding special JS escape characters.\n * Intentionally does not include characters that map to themselves like \"\\'\".\n */\nconst singleCharacterEscapes = new Map([\n [\"b\", \"\\b\"],\n [\"f\", \"\\f\"],\n [\"n\", \"\\n\"],\n [\"r\", \"\\r\"],\n [\"t\", \"\\t\"],\n [\"v\", \"\\v\"],\n [\"0\", \"\\0\"]\n]);\n/**\n * Parse a single character escape sequence and return the matching character.\n * If none is matched, defaults to `code`.\n * @param code A single character code.\n */\nfunction parseSingleCharacterCode(code) {\n return singleCharacterEscapes.get(code) || code;\n}\n/**\n * Matches every escape sequence possible, including invalid ones.\n *\n * All capture groups (described below) are unique (only one will match), except\n * for 4, which can only potentially match if 3 does.\n *\n * **Capture Groups:**\n * 0. A single backslash\n * 1. Hexadecimal code\n * 2. Unicode code point code with surrounding curly braces\n * 3. Unicode escape code with surrogate\n * 4. Surrogate code\n * 5. Unicode escape code without surrogate\n * 6. Octal code _NOTE: includes \"0\"._\n * 7. A single character (will never be \\, x, u, or 0-3)\n */\nconst escapeMatch = /\\\\(?:(\\\\)|x([\\s\\S]{0,2})|u(\\{[^}]*\\}?)|u([\\s\\S]{4})\\\\u([^{][\\s\\S]{0,3})|u([\\s\\S]{0,4})|([0-3]?[0-7]{1,2})|([\\s\\S])|$)/g;\n/**\n * Replace raw escape character strings with their escape characters.\n * @param raw A string where escape characters are represented as raw string\n * values like `\\'` rather than `'`.\n * @param allowOctals If `true`, will process the now-deprecated octal escape\n * sequences (ie, `\\111`).\n * @returns The processed string, with escape characters replaced by their\n * respective actual Unicode characters.\n */\nfunction unraw(raw, allowOctals = false) {\n return raw.replace(escapeMatch, function (_, backslash, hex, codePoint, unicodeWithSurrogate, surrogate, unicode, octal, singleCharacter) {\n // Compare groups to undefined because empty strings mean different errors\n // Otherwise, `\\u` would fail the same as `\\` which is wrong.\n if (backslash !== undefined) {\n return \"\\\\\";\n }\n if (hex !== undefined) {\n return parseHexadecimalCode(hex);\n }\n if (codePoint !== undefined) {\n return parseUnicodeCodePointCode(codePoint);\n }\n if (unicodeWithSurrogate !== undefined) {\n return parseUnicodeCode(unicodeWithSurrogate, surrogate);\n }\n if (unicode !== undefined) {\n return parseUnicodeCode(unicode);\n }\n if (octal === \"0\") {\n return \"\\0\";\n }\n if (octal !== undefined) {\n return parseOctalCode(octal, !allowOctals);\n }\n if (singleCharacter !== undefined) {\n return parseSingleCharacterCode(singleCharacter);\n }\n throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.EndOfString));\n });\n}\nexports.unraw = unraw;\nexports.default = unraw;\n"],"names":["require$$0"],"mappings":";;;;;;;AACA,WAAO,eAAc,SAAU,cAAc,EAAE,OAAO,MAAM;AAC5D,YAAgB,QAAA,QAAA,gBAAwB,QAAoB,YAAA;AAC5D,UAAM,WAAWA,cAAmB;AACpC,WAAO,eAAe,SAAS,aAAa,EAAE,YAAY,MAAM,KAAK,WAAY;AAAE,aAAO,SAAS;AAAA,IAAY,EAAA,CAAE;AACjH,WAAO,eAAe,SAAS,iBAAiB,EAAE,YAAY,MAAM,KAAK,WAAY;AAAE,aAAO,SAAS;AAAA,IAAgB,EAAA,CAAE;AASzH,aAAS,cAAc,KAAK;AACxB,YAAM,iBAAiB,CAAC,IAAI,MAAM,YAAY;AAC9C,aAAO,iBAAiB,SAAS,KAAK,EAAE,IAAI;AAAA,IAChD;AAYA,aAAS,oBAAoB,KAAK,WAAW,gBAAgB;AACzD,YAAM,YAAY,cAAc,GAAG;AACnC,UAAI,OAAO,MAAM,SAAS,KACrB,mBAAmB,UAAa,mBAAmB,IAAI,QAAS;AACjE,cAAM,IAAI,YAAY,SAAS,cAAc,IAAI,SAAS,CAAC;AAAA,MACnE;AACI,aAAO;AAAA,IACX;AASA,aAAS,qBAAqB,MAAM;AAChC,YAAM,aAAa,oBAAoB,MAAM,SAAS,UAAU,sBAAsB,CAAC;AACvF,aAAO,OAAO,aAAa,UAAU;AAAA,IACzC;AAWA,aAAS,iBAAiB,MAAM,eAAe;AAC3C,YAAM,aAAa,oBAAoB,MAAM,SAAS,UAAU,kBAAkB,CAAC;AACnF,UAAI,kBAAkB,QAAW;AAC7B,cAAM,sBAAsB,oBAAoB,eAAe,SAAS,UAAU,kBAAkB,CAAC;AACrG,eAAO,OAAO,aAAa,YAAY,mBAAmB;AAAA,MAClE;AACI,aAAO,OAAO,aAAa,UAAU;AAAA,IACzC;AAMA,aAAS,cAAc,MAAM;AACzB,aAAO,KAAK,OAAO,CAAC,MAAM,OAAO,KAAK,OAAO,KAAK,SAAS,CAAC,MAAM;AAAA,IACtE;AASA,aAAS,0BAA0B,WAAW;AAC1C,UAAI,CAAC,cAAc,SAAS,GAAG;AAC3B,cAAM,IAAI,YAAY,SAAS,cAAc,IAAI,SAAS,UAAU,gBAAgB,CAAC;AAAA,MAC7F;AACI,YAAM,gBAAgB,UAAU,MAAM,GAAG,EAAE;AAC3C,YAAM,aAAa,oBAAoB,eAAe,SAAS,UAAU,gBAAgB;AACzF,UAAI;AACA,eAAO,OAAO,cAAc,UAAU;AAAA,MAC9C,SACW,KAAK;AACR,cAAM,eAAe,aACf,IAAI,YAAY,SAAS,cAAc,IAAI,SAAS,UAAU,cAAc,CAAC,IAC7E;AAAA,MACd;AAAA,IACA;AAGA,aAAS,eAAe,MAAM,QAAQ,OAAO;AACzC,UAAI,OAAO;AACP,cAAM,IAAI,YAAY,SAAS,cAAc,IAAI,SAAS,UAAU,gBAAgB,CAAC;AAAA,MAC7F;AAGI,YAAM,aAAa,SAAS,MAAM,CAAC;AACnC,aAAO,OAAO,aAAa,UAAU;AAAA,IACzC;AAKA,UAAM,yBAAyB,oBAAI,IAAI;AAAA,MACnC,CAAC,KAAK,IAAI;AAAA,MACV,CAAC,KAAK,IAAI;AAAA,MACV,CAAC,KAAK,IAAI;AAAA,MACV,CAAC,KAAK,IAAI;AAAA,MACV,CAAC,KAAK,GAAI;AAAA,MACV,CAAC,KAAK,IAAI;AAAA,MACV,CAAC,KAAK,IAAI;AAAA,IACd,CAAC;AAMD,aAAS,yBAAyB,MAAM;AACpC,aAAO,uBAAuB,IAAI,IAAI,KAAK;AAAA,IAC/C;AAiBA,UAAM,cAAc;AAUpB,aAAS,MAAM,KAAK,cAAc,OAAO;AACrC,aAAO,IAAI,QAAQ,aAAa,SAAU,GAAG,WAAW,KAAK,WAAW,sBAAsB,WAAW,SAAS,OAAO,iBAAiB;AAGtI,YAAI,cAAc,QAAW;AACzB,iBAAO;AAAA,QACnB;AACQ,YAAI,QAAQ,QAAW;AACnB,iBAAO,qBAAqB,GAAG;AAAA,QAC3C;AACQ,YAAI,cAAc,QAAW;AACzB,iBAAO,0BAA0B,SAAS;AAAA,QACtD;AACQ,YAAI,yBAAyB,QAAW;AACpC,iBAAO,iBAAiB,sBAAsB,SAAS;AAAA,QACnE;AACQ,YAAI,YAAY,QAAW;AACvB,iBAAO,iBAAiB,OAAO;AAAA,QAC3C;AACQ,YAAI,UAAU,KAAK;AACf,iBAAO;AAAA,QACnB;AACQ,YAAI,UAAU,QAAW;AACrB,iBAAO,eAAe,OAAO,CAAC,WAAW;AAAA,QACrD;AACQ,YAAI,oBAAoB,QAAW;AAC/B,iBAAO,yBAAyB,eAAe;AAAA,QAC3D;AACQ,cAAM,IAAI,YAAY,SAAS,cAAc,IAAI,SAAS,UAAU,WAAW,CAAC;AAAA,MACxF,CAAK;AAAA,IACL;AACA,YAAA,QAAgB;AAChB,YAAA,UAAkB;AAAA;;;","x_google_ignoreList":[0]}
@@ -0,0 +1,51 @@
1
+ export interface AuthContext {
2
+ status: number;
3
+ data: {
4
+ flows: Flow[];
5
+ };
6
+ meta: {
7
+ is_authenticated: boolean;
8
+ };
9
+ }
10
+ export declare enum FlowEnum {
11
+ VerifyEmail = "verify_email",
12
+ Login = "login",
13
+ Signup = "signup",
14
+ ProviderRedirect = "provider_redirect",
15
+ ProviderSignup = "provider_signup",
16
+ ProviderToken = "provider_token",
17
+ MfaAuthenticate = "mfa_authenticate",
18
+ Reauthenticate = "reauthenticate",
19
+ MfaReauthenticate = "mfa_reauthenticate"
20
+ }
21
+ export interface Flow {
22
+ id: FlowEnum;
23
+ providers?: string[];
24
+ is_pending?: boolean[];
25
+ }
26
+ export interface AuthProvider {
27
+ id: string;
28
+ name: string;
29
+ flows: string[];
30
+ client_id: string;
31
+ }
32
+ export interface AuthConfig {
33
+ account: {
34
+ authentication_method: string;
35
+ };
36
+ socialaccount: {
37
+ providers: AuthProvider[];
38
+ };
39
+ mfa: {
40
+ supported_types: string[];
41
+ };
42
+ usersessions: {
43
+ track_activity: boolean;
44
+ };
45
+ }
46
+ export type ErrorResponse = {
47
+ data: any;
48
+ status: number;
49
+ statusText: string;
50
+ message?: string;
51
+ };
@@ -0,0 +1,10 @@
1
+ import { MantineSize } from '@mantine/core';
2
+ export type UiSizeType = MantineSize | string | number;
3
+ export interface UserTheme {
4
+ primaryColor: string;
5
+ whiteColor: string;
6
+ blackColor: string;
7
+ radius: UiSizeType;
8
+ loader: string;
9
+ }
10
+ export type PathParams = Record<string, string | number>;
@@ -0,0 +1,56 @@
1
+ import { ModelType } from '../enums/ModelType';
2
+ /**
3
+ * Interface for the table filter choice
4
+ */
5
+ export type TableFilterChoice = {
6
+ value: string;
7
+ label: string;
8
+ };
9
+ /**
10
+ * Available filter types
11
+ *
12
+ * boolean: A simple true/false filter
13
+ * choice: A filter which allows selection from a list of (supplied)
14
+ * date: A filter which allows selection from a date input
15
+ * text: A filter which allows raw text input
16
+ * api: A filter which fetches its options from an API endpoint
17
+ */
18
+ export type TableFilterType = 'boolean' | 'choice' | 'date' | 'text' | 'api';
19
+ /**
20
+ * Interface for the table filter type. Provides a number of options for selecting filter value:
21
+ *
22
+ * name: The name of the filter (used for query string)
23
+ * label: The label to display in the UI (human readable)
24
+ * description: A description of the filter (human readable)
25
+ * type: The type of filter (see TableFilterType)
26
+ * choices: A list of TableFilterChoice objects
27
+ * choiceFunction: A function which returns a list of TableFilterChoice objects
28
+ * defaultValue: The default value for the filter
29
+ * value: The current value of the filter
30
+ * displayValue: The current display value of the filter
31
+ * active: Whether the filter is active (false = hidden, not used)
32
+ * apiUrl: The API URL to use for fetching dynamic filter options
33
+ * model: The model type to use for fetching dynamic filter options
34
+ * modelRenderer: A function to render a simple text version of the model type
35
+ */
36
+ export type TableFilter = {
37
+ name: string;
38
+ label: string;
39
+ description?: string;
40
+ type?: TableFilterType;
41
+ choices?: TableFilterChoice[];
42
+ choiceFunction?: () => TableFilterChoice[];
43
+ defaultValue?: any;
44
+ value?: any;
45
+ displayValue?: any;
46
+ active?: boolean;
47
+ apiUrl?: string;
48
+ model?: ModelType;
49
+ modelRenderer?: (instance: any) => string;
50
+ };
51
+ export type FilterSetState = {
52
+ filterKey: string;
53
+ activeFilters: TableFilter[];
54
+ setActiveFilters: (filters: TableFilter[]) => void;
55
+ clearActiveFilters: () => void;
56
+ };
@@ -0,0 +1,159 @@
1
+ import { DefaultMantineColor, MantineStyleProp } from '@mantine/core';
2
+ import { UseFormReturnType } from '@mantine/form';
3
+ import { ReactNode } from 'react';
4
+ import { FieldValues } from 'react-hook-form';
5
+ import { ApiEndpoints } from '../enums/ApiEndpoints';
6
+ import { ModelType } from '../enums/ModelType';
7
+ import { PathParams, UiSizeType } from './Core';
8
+ import { TableState } from './Tables';
9
+ export interface ApiFormAction {
10
+ text: string;
11
+ variant?: 'outline';
12
+ color?: DefaultMantineColor;
13
+ onClick: () => void;
14
+ }
15
+ export type ApiFormData = UseFormReturnType<Record<string, unknown>>;
16
+ export type ApiFormAdjustFilterType = {
17
+ filters: any;
18
+ data: FieldValues;
19
+ };
20
+ export type ApiFormFieldChoice = {
21
+ value: any;
22
+ display_name: string;
23
+ };
24
+ export type ApiFormFieldHeader = {
25
+ title: string;
26
+ style?: MantineStyleProp;
27
+ };
28
+ /** Definition of the ApiForm field component.
29
+ * - The 'name' attribute *must* be provided
30
+ * - All other attributes are optional, and may be provided by the API
31
+ * - However, they can be overridden by the user
32
+ *
33
+ * @param name : The name of the field
34
+ * @param label : The label to display for the field
35
+ * @param value : The value of the field
36
+ * @param default : The default value of the field
37
+ * @param icon : An icon to display next to the field
38
+ * @param field_type : The type of field to render
39
+ * @param api_url : The API endpoint to fetch data from (for related fields)
40
+ * @param pk_field : The primary key field for the related field (default = "pk")
41
+ * @param model : The model to use for related fields
42
+ * @param filters : Optional API filters to apply to related fields
43
+ * @param required : Whether the field is required
44
+ * @param hidden : Whether the field is hidden
45
+ * @param disabled : Whether the field is disabled
46
+ * @param error : Optional error message to display
47
+ * @param exclude : Whether to exclude the field from the submitted data
48
+ * @param placeholder : The placeholder text to display
49
+ * @param description : The description to display for the field
50
+ * @param preFieldContent : Content to render before the field
51
+ * @param postFieldContent : Content to render after the field
52
+ * @param onValueChange : Callback function to call when the field value changes
53
+ * @param adjustFilters : Callback function to adjust the filters for a related field before a query is made
54
+ * @param adjustValue : Callback function to adjust the value of the field before it is sent to the API
55
+ * @param addRow : Callback function to add a new row to a table field
56
+ * @param onKeyDown : Callback function to get which key was pressed in the form to handle submission on enter
57
+ */
58
+ export type ApiFormFieldType = {
59
+ label?: string;
60
+ value?: any;
61
+ default?: any;
62
+ icon?: ReactNode;
63
+ field_type?: 'related field' | 'email' | 'url' | 'string' | 'icon' | 'boolean' | 'date' | 'datetime' | 'integer' | 'decimal' | 'float' | 'number' | 'choice' | 'file upload' | 'nested object' | 'dependent field' | 'table';
64
+ api_url?: string;
65
+ pk_field?: string;
66
+ model?: ModelType;
67
+ modelRenderer?: (instance: any) => ReactNode;
68
+ filters?: any;
69
+ child?: ApiFormFieldType;
70
+ children?: {
71
+ [key: string]: ApiFormFieldType;
72
+ };
73
+ required?: boolean;
74
+ error?: string;
75
+ choices?: ApiFormFieldChoice[];
76
+ hidden?: boolean;
77
+ disabled?: boolean;
78
+ exclude?: boolean;
79
+ read_only?: boolean;
80
+ placeholder?: string;
81
+ description?: string;
82
+ preFieldContent?: JSX.Element;
83
+ postFieldContent?: JSX.Element;
84
+ adjustValue?: (value: any) => any;
85
+ onValueChange?: (value: any, record?: any) => void;
86
+ adjustFilters?: (value: ApiFormAdjustFilterType) => any;
87
+ addRow?: () => any;
88
+ headers?: ApiFormFieldHeader[];
89
+ depends_on?: string[];
90
+ };
91
+ export type ApiFormFieldSet = Record<string, ApiFormFieldType>;
92
+ /**
93
+ * Properties for the ApiForm component
94
+ * @param url : The API endpoint to fetch the form data from
95
+ * @param pk : Optional primary-key value when editing an existing object
96
+ * @param pk_field : Optional primary-key field name (default: pk)
97
+ * @param pathParams : Optional path params for the url
98
+ * @param method : Optional HTTP method to use when submitting the form (default: GET)
99
+ * @param fields : The fields to render in the form
100
+ * @param submitText : Optional custom text to display on the submit button (default: Submit)4
101
+ * @param submitColor : Optional custom color for the submit button (default: green)
102
+ * @param fetchInitialData : Optional flag to fetch initial data from the server (default: true)
103
+ * @param preFormContent : Optional content to render before the form fields
104
+ * @param postFormContent : Optional content to render after the form fields
105
+ * @param successMessage : Optional message to display on successful form submission
106
+ * @param onFormSuccess : A callback function to call when the form is submitted successfully.
107
+ * @param onFormError : A callback function to call when the form is submitted with errors.
108
+ * @param processFormData : A callback function to process the form data before submission
109
+ * @param modelType : Define a model type for this form
110
+ * @param follow : Boolean, follow the result of the form (if possible)
111
+ * @param table : Table to update on success (if provided)
112
+ */
113
+ export interface ApiFormProps {
114
+ url: ApiEndpoints | string;
115
+ pk?: number | string;
116
+ pk_field?: string;
117
+ pathParams?: PathParams;
118
+ queryParams?: URLSearchParams;
119
+ method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
120
+ fields?: ApiFormFieldSet;
121
+ focus?: string;
122
+ initialData?: FieldValues;
123
+ submitText?: string;
124
+ submitColor?: string;
125
+ fetchInitialData?: boolean;
126
+ ignorePermissionCheck?: boolean;
127
+ preFormContent?: JSX.Element;
128
+ preFormWarning?: string;
129
+ preFormSuccess?: string;
130
+ postFormContent?: JSX.Element;
131
+ successMessage?: string | null;
132
+ onFormSuccess?: (data: any) => void;
133
+ onFormError?: (response: any) => void;
134
+ processFormData?: (data: any) => any;
135
+ table?: TableState;
136
+ modelType?: ModelType;
137
+ follow?: boolean;
138
+ actions?: ApiFormAction[];
139
+ timeout?: number;
140
+ }
141
+ /**
142
+ * @param title : The title to display in the modal header
143
+ * @param cancelText : Optional custom text to display on the cancel button (default: Cancel)
144
+ * @param cancelColor : Optional custom color for the cancel button (default: blue)
145
+ * @param onClose : A callback function to call when the modal is closed.
146
+ * @param onOpen : A callback function to call when the modal is opened.
147
+ */
148
+ export interface ApiFormModalProps extends ApiFormProps {
149
+ title: string;
150
+ cancelText?: string;
151
+ cancelColor?: string;
152
+ onClose?: () => void;
153
+ onOpen?: () => void;
154
+ closeOnClickOutside?: boolean;
155
+ size?: UiSizeType;
156
+ }
157
+ export interface BulkEditApiFormModalProps extends ApiFormModalProps {
158
+ items: number[];
159
+ }
@@ -0,0 +1,5 @@
1
+ import { Icon, IconProps } from '@tabler/icons-react';
2
+ export type TablerIconType = React.ForwardRefExoticComponent<Omit<IconProps, 'ref'> & React.RefAttributes<Icon>>;
3
+ export type InvenTreeIconType = {
4
+ [key: string]: TablerIconType;
5
+ };
@@ -0,0 +1,15 @@
1
+ import { UiSizeType } from './Core';
2
+ export interface UseModalProps {
3
+ title: string;
4
+ children: React.ReactElement;
5
+ size?: UiSizeType;
6
+ onOpen?: () => void;
7
+ onClose?: () => void;
8
+ closeOnClickOutside?: boolean;
9
+ }
10
+ export interface UseModalReturn {
11
+ open: () => void;
12
+ close: () => void;
13
+ toggle: () => void;
14
+ modal: React.ReactElement;
15
+ }
@@ -0,0 +1,58 @@
1
+ import { MantineColorScheme, MantineTheme } from '@mantine/core';
2
+ import { QueryClient } from '@tanstack/react-query';
3
+ import { AxiosInstance } from 'axios';
4
+ import { NavigateFunction } from 'react-router-dom';
5
+ import { ModelType } from '../enums/ModelType';
6
+ import { ApiFormModalProps, BulkEditApiFormModalProps } from './Forms';
7
+ import { UseModalReturn } from './Modals';
8
+ import { SettingsStateProps } from './Settings';
9
+ import { UserStateProps } from './User';
10
+ export interface PluginProps {
11
+ name: string;
12
+ slug: string;
13
+ version: null | string;
14
+ }
15
+ export type InvenTreeFormsContext = {
16
+ bulkEdit: (props: BulkEditApiFormModalProps) => UseModalReturn;
17
+ create: (props: ApiFormModalProps) => UseModalReturn;
18
+ delete: (props: ApiFormModalProps) => UseModalReturn;
19
+ edit: (props: ApiFormModalProps) => UseModalReturn;
20
+ };
21
+ /**
22
+ * A set of properties which are passed to a plugin,
23
+ * for rendering an element in the user interface.
24
+ *
25
+ * @param version - The version of the running InvenTree software stack
26
+ * @param api - The Axios API instance (see ../states/ApiState.tsx)
27
+ * @param user - The current user instance (see ../states/UserState.tsx)
28
+ * @param userSettings - The current user settings (see ../states/SettingsState.tsx)
29
+ * @param globalSettings - The global settings (see ../states/SettingsState.tsx)
30
+ * @param navigate - The navigation function (see react-router-dom)
31
+ * @param theme - The current Mantine theme
32
+ * @param colorScheme - The current Mantine color scheme (e.g. 'light' / 'dark')
33
+ * @param host - The current host URL
34
+ * @param locale - The current locale string (e.g. 'en' / 'de')
35
+ * @param model - The model type associated with the rendered component (if applicable)
36
+ * @param id - The ID (primary key) of the model instance for the plugin (if applicable)
37
+ * @param instance - The model instance data (if available)
38
+ * @param context - Any additional context data which may be passed to the plugin
39
+ */
40
+ export type InvenTreePluginContext = {
41
+ version: string;
42
+ api: AxiosInstance;
43
+ queryClient: QueryClient;
44
+ user: UserStateProps;
45
+ userSettings: SettingsStateProps;
46
+ globalSettings: SettingsStateProps;
47
+ host: string;
48
+ locale: string;
49
+ navigate: NavigateFunction;
50
+ theme: MantineTheme;
51
+ forms: InvenTreeFormsContext;
52
+ colorScheme: MantineColorScheme;
53
+ model?: ModelType | string;
54
+ id?: string | number | null;
55
+ instance?: any;
56
+ context?: any;
57
+ };
58
+ export declare const INVENTREE_PLUGIN_VERSION: string;
@@ -0,0 +1,5 @@
1
+ const INVENTREE_PLUGIN_VERSION = "0.0.3";
2
+ export {
3
+ INVENTREE_PLUGIN_VERSION
4
+ };
5
+ //# sourceMappingURL=Plugins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Plugins.js","sources":["../../lib/types/Plugins.tsx"],"sourcesContent":["import type { MantineColorScheme, MantineTheme } from '@mantine/core';\nimport type { QueryClient } from '@tanstack/react-query';\nimport type { AxiosInstance } from 'axios';\nimport type { NavigateFunction } from 'react-router-dom';\nimport type { ModelType } from '../enums/ModelType';\nimport type { ApiFormModalProps, BulkEditApiFormModalProps } from './Forms';\nimport type { UseModalReturn } from './Modals';\nimport type { SettingsStateProps } from './Settings';\nimport type { UserStateProps } from './User';\n\nexport interface PluginProps {\n name: string;\n slug: string;\n version: null | string;\n}\n\nexport type InvenTreeFormsContext = {\n bulkEdit: (props: BulkEditApiFormModalProps) => UseModalReturn;\n create: (props: ApiFormModalProps) => UseModalReturn;\n delete: (props: ApiFormModalProps) => UseModalReturn;\n edit: (props: ApiFormModalProps) => UseModalReturn;\n};\n\n/**\n * A set of properties which are passed to a plugin,\n * for rendering an element in the user interface.\n *\n * @param version - The version of the running InvenTree software stack\n * @param api - The Axios API instance (see ../states/ApiState.tsx)\n * @param user - The current user instance (see ../states/UserState.tsx)\n * @param userSettings - The current user settings (see ../states/SettingsState.tsx)\n * @param globalSettings - The global settings (see ../states/SettingsState.tsx)\n * @param navigate - The navigation function (see react-router-dom)\n * @param theme - The current Mantine theme\n * @param colorScheme - The current Mantine color scheme (e.g. 'light' / 'dark')\n * @param host - The current host URL\n * @param locale - The current locale string (e.g. 'en' / 'de')\n * @param model - The model type associated with the rendered component (if applicable)\n * @param id - The ID (primary key) of the model instance for the plugin (if applicable)\n * @param instance - The model instance data (if available)\n * @param context - Any additional context data which may be passed to the plugin\n */\nexport type InvenTreePluginContext = {\n version: string;\n api: AxiosInstance;\n queryClient: QueryClient;\n user: UserStateProps;\n userSettings: SettingsStateProps;\n globalSettings: SettingsStateProps;\n host: string;\n locale: string;\n navigate: NavigateFunction;\n theme: MantineTheme;\n forms: InvenTreeFormsContext;\n colorScheme: MantineColorScheme;\n model?: ModelType | string;\n id?: string | number | null;\n instance?: any;\n context?: any;\n};\n\n/*\n * The version of the InvenTree plugin context interface.\n * This number should be incremented if the interface changes.\n */\n\n// @ts-ignore\nexport const INVENTREE_PLUGIN_VERSION: string = __INVENTREE_LIB_VERSION__;\n"],"names":["INVENTREE_PLUGIN_VERSION","__INVENTREE_LIB_VERSION__"],"mappings":"AAmEO,MAAMA,2BAAmCC;"}
@@ -0,0 +1,7 @@
1
+ export interface Host {
2
+ host: string;
3
+ name: string;
4
+ }
5
+ export interface HostList {
6
+ [key: string]: Host;
7
+ }
@@ -0,0 +1,48 @@
1
+ import { ApiEndpoints } from '../enums/ApiEndpoints';
2
+ import { PathParams } from './Core';
3
+ export declare enum SettingTyp {
4
+ InvenTree = "inventree",
5
+ Plugin = "plugin",
6
+ User = "user",
7
+ Notification = "notification"
8
+ }
9
+ export declare enum SettingType {
10
+ Boolean = "boolean",
11
+ Integer = "integer",
12
+ String = "string",
13
+ Choice = "choice",
14
+ Model = "related field"
15
+ }
16
+ export interface Setting {
17
+ pk: number;
18
+ key: string;
19
+ value: string;
20
+ name: string;
21
+ description: string;
22
+ type: SettingType;
23
+ units: string;
24
+ choices: SettingChoice[];
25
+ model_name: string | null;
26
+ model_filters: Record<string, any> | null;
27
+ api_url: string | null;
28
+ typ: SettingTyp;
29
+ plugin?: string;
30
+ method?: string;
31
+ required?: boolean;
32
+ }
33
+ export interface SettingChoice {
34
+ value: string;
35
+ display_name: string;
36
+ }
37
+ export type SettingsLookup = {
38
+ [key: string]: string;
39
+ };
40
+ export interface SettingsStateProps {
41
+ settings: Setting[];
42
+ lookup: SettingsLookup;
43
+ fetchSettings: () => Promise<boolean>;
44
+ endpoint: ApiEndpoints;
45
+ pathParams?: PathParams;
46
+ getSetting: (key: string, default_value?: string) => string;
47
+ isSet: (key: string, default_value?: boolean) => boolean;
48
+ }
@@ -0,0 +1,34 @@
1
+ import { SetURLSearchParams } from 'react-router-dom';
2
+ import { FilterSetState } from './Filters';
3
+ export type TableState = {
4
+ tableKey: string;
5
+ refreshTable: () => void;
6
+ isLoading: boolean;
7
+ setIsLoading: (value: boolean) => void;
8
+ filterSet: FilterSetState;
9
+ queryFilters: URLSearchParams;
10
+ setQueryFilters: SetURLSearchParams;
11
+ clearQueryFilters: () => void;
12
+ expandedRecords: any[];
13
+ setExpandedRecords: (records: any[]) => void;
14
+ isRowExpanded: (pk: number) => boolean;
15
+ selectedRecords: any[];
16
+ selectedIds: any[];
17
+ hasSelectedRecords: boolean;
18
+ setSelectedRecords: (records: any[]) => void;
19
+ clearSelectedRecords: () => void;
20
+ hiddenColumns: string[];
21
+ setHiddenColumns: (columns: string[]) => void;
22
+ searchTerm: string;
23
+ setSearchTerm: (term: string) => void;
24
+ recordCount: number;
25
+ setRecordCount: (count: number) => void;
26
+ page: number;
27
+ setPage: (page: number) => void;
28
+ pageSize: number;
29
+ setPageSize: (pageSize: number) => void;
30
+ records: any[];
31
+ setRecords: (records: any[]) => void;
32
+ updateRecord: (record: any) => void;
33
+ idAccessor?: string;
34
+ };
@@ -0,0 +1,55 @@
1
+ import { ModelType } from '../enums/ModelType';
2
+ import { UserPermissions, UserRoles } from '../enums/Roles';
3
+ export interface UserProfile {
4
+ language: string;
5
+ theme: any;
6
+ widgets: any;
7
+ displayname: string | null;
8
+ position: string | null;
9
+ status: string | null;
10
+ location: string | null;
11
+ active: boolean;
12
+ contact: string | null;
13
+ type: string;
14
+ organisation: string | null;
15
+ primary_group: number | null;
16
+ }
17
+ export interface UserProps {
18
+ pk: number;
19
+ username: string;
20
+ first_name: string;
21
+ last_name: string;
22
+ email: string;
23
+ is_staff?: boolean;
24
+ is_superuser?: boolean;
25
+ roles?: Record<string, string[]>;
26
+ permissions?: Record<string, string[]>;
27
+ groups: any[] | null;
28
+ profile: UserProfile;
29
+ }
30
+ export interface UserStateProps {
31
+ user: UserProps | undefined;
32
+ is_authed: boolean;
33
+ userId: () => number | undefined;
34
+ username: () => string;
35
+ setAuthenticated: (authed?: boolean) => void;
36
+ fetchUserToken: () => Promise<void>;
37
+ setUser: (newUser: UserProps | undefined) => void;
38
+ getUser: () => UserProps | undefined;
39
+ fetchUserState: () => Promise<void>;
40
+ clearUserState: () => void;
41
+ checkUserRole: (role: UserRoles, permission: UserPermissions) => boolean;
42
+ hasDeleteRole: (role: UserRoles) => boolean;
43
+ hasChangeRole: (role: UserRoles) => boolean;
44
+ hasAddRole: (role: UserRoles) => boolean;
45
+ hasViewRole: (role: UserRoles) => boolean;
46
+ checkUserPermission: (model: ModelType, permission: UserPermissions) => boolean;
47
+ hasDeletePermission: (model: ModelType) => boolean;
48
+ hasChangePermission: (model: ModelType) => boolean;
49
+ hasAddPermission: (model: ModelType) => boolean;
50
+ hasViewPermission: (model: ModelType) => boolean;
51
+ isAuthed: () => boolean;
52
+ isLoggedIn: () => boolean;
53
+ isStaff: () => boolean;
54
+ isSuperuser: () => boolean;
55
+ }