@webority/ui-react 0.37.0 → 0.39.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (431) hide show
  1. package/dist/components/AppAccordion.js +1 -57
  2. package/dist/components/AppActionIcon.js +1 -53
  3. package/dist/components/AppAlert.js +1 -85
  4. package/dist/components/AppAsyncBlock.js +1 -48
  5. package/dist/components/AppAutocomplete.js +1 -93
  6. package/dist/components/AppAvatar.js +1 -143
  7. package/dist/components/AppAvatarGroup.js +1 -43
  8. package/dist/components/AppAvatarPicker.js +1 -247
  9. package/dist/components/AppBadge.js +1 -28
  10. package/dist/components/AppBanner.js +1 -49
  11. package/dist/components/AppBreadcrumbs.js +1 -24
  12. package/dist/components/AppButton.js +1 -85
  13. package/dist/components/AppCalendar.js +1 -72
  14. package/dist/components/AppCard.js +1 -110
  15. package/dist/components/AppChart.js +1 -153
  16. package/dist/components/AppChartCard.js +1 -125
  17. package/dist/components/AppCheckbox.js +1 -21
  18. package/dist/components/AppChip.js +1 -71
  19. package/dist/components/AppChoiceCard.js +1 -69
  20. package/dist/components/AppChoiceChip.js +1 -31
  21. package/dist/components/AppColorField.js +1 -63
  22. package/dist/components/AppColumnMenu.js +1 -27
  23. package/dist/components/AppCommandPalette.js +1 -164
  24. package/dist/components/AppCompareTable.js +1 -41
  25. package/dist/components/AppConfirmDialog.js +1 -93
  26. package/dist/components/AppConsentBanner.js +1 -37
  27. package/dist/components/AppContextMenu.js +1 -46
  28. package/dist/components/AppCopyButton.js +1 -41
  29. package/dist/components/AppCountrySelect.js +1 -75
  30. package/dist/components/AppDashboardCell.js +1 -19
  31. package/dist/components/AppDashboardGrid.js +1 -12
  32. package/dist/components/AppDataTable.js +1 -213
  33. package/dist/components/AppDatePicker.js +1 -59
  34. package/dist/components/AppDateRangePicker.js +1 -73
  35. package/dist/components/AppDescriptions.js +1 -40
  36. package/dist/components/AppDropZone.js +1 -106
  37. package/dist/components/AppDropdown.js +1 -90
  38. package/dist/components/AppEmptyState.js +1 -37
  39. package/dist/components/AppErrorSummary.js +1 -37
  40. package/dist/components/AppFileAttachment.js +1 -140
  41. package/dist/components/AppFilePicker.js +1 -220
  42. package/dist/components/AppFileViewer.js +1 -50
  43. package/dist/components/AppFilterBar.js +1 -129
  44. package/dist/components/AppFloatingDock.js +1 -47
  45. package/dist/components/AppFormActions.js +1 -23
  46. package/dist/components/AppFormRow.js +1 -24
  47. package/dist/components/AppFormSection.js +1 -32
  48. package/dist/components/AppIcon.js +1 -147
  49. package/dist/components/AppInfoList.js +1 -36
  50. package/dist/components/AppInfoTip.js +1 -41
  51. package/dist/components/AppInput.js +1 -269
  52. package/dist/components/AppKanban.js +1 -270
  53. package/dist/components/AppKpiTile.js +1 -91
  54. package/dist/components/AppLink.js +1 -74
  55. package/dist/components/AppLogoPicker.js +1 -264
  56. package/dist/components/AppMeter.js +1 -42
  57. package/dist/components/AppModal.js +1 -124
  58. package/dist/components/AppMultiSelect.js +1 -75
  59. package/dist/components/AppNumberInput.js +1 -139
  60. package/dist/components/AppOtpInput.js +1 -53
  61. package/dist/components/AppPageHeader.js +1 -82
  62. package/dist/components/AppPagination.js +1 -66
  63. package/dist/components/AppPhoneNumberInput.js +1 -53
  64. package/dist/components/AppPopover.js +1 -47
  65. package/dist/components/AppPricingCard.js +1 -58
  66. package/dist/components/AppProgress.js +1 -42
  67. package/dist/components/AppQrCode.js +1 -40
  68. package/dist/components/AppRadio.js +1 -21
  69. package/dist/components/AppRadioGroup.js +1 -79
  70. package/dist/components/AppRepeater.js +1 -57
  71. package/dist/components/AppRequiredMark.js +1 -11
  72. package/dist/components/AppResourceCard.js +1 -38
  73. package/dist/components/AppResult.js +1 -66
  74. package/dist/components/AppRichText.js +1 -72
  75. package/dist/components/AppRouteError.js +1 -0
  76. package/dist/components/AppScrollbar.js +1 -16
  77. package/dist/components/AppSearch.js +1 -52
  78. package/dist/components/AppSegmented.js +1 -87
  79. package/dist/components/AppSelect.js +1 -95
  80. package/dist/components/AppSelectMini.js +1 -45
  81. package/dist/components/AppShell.js +1 -712
  82. package/dist/components/AppSidebarMenu.js +1 -77
  83. package/dist/components/AppSkeleton.js +1 -24
  84. package/dist/components/AppSlider.js +1 -76
  85. package/dist/components/AppSortableList.js +1 -63
  86. package/dist/components/AppSparkline.js +1 -47
  87. package/dist/components/AppSpinner.js +1 -23
  88. package/dist/components/AppSplash.js +1 -62
  89. package/dist/components/AppStatusBadge.js +1 -22
  90. package/dist/components/AppStepper.js +1 -94
  91. package/dist/components/AppSwitch.js +1 -26
  92. package/dist/components/AppTableEmptyState.js +1 -30
  93. package/dist/components/AppTablePagination.js +1 -85
  94. package/dist/components/AppTableToolbar.js +1 -41
  95. package/dist/components/AppTabs.js +1 -195
  96. package/dist/components/AppTagInput.js +1 -63
  97. package/dist/components/AppTextarea.js +1 -81
  98. package/dist/components/AppThemeToggle.js +1 -102
  99. package/dist/components/AppTimePicker.js +1 -68
  100. package/dist/components/AppTimeline.js +1 -102
  101. package/dist/components/AppToast.js +1 -169
  102. package/dist/components/AppToolbar.js +1 -63
  103. package/dist/components/AppTooltip.js +1 -50
  104. package/dist/components/AppTour.js +1 -39
  105. package/dist/components/AppTreeView.js +1 -61
  106. package/dist/components/AppUpdateBar.js +1 -0
  107. package/dist/components/AppWizard.js +1 -82
  108. package/dist/components/AppWorkspaceSwitcher.js +1 -176
  109. package/dist/components/ModalIcons.js +1 -18
  110. package/dist/components/iconCatalogFull/bold/a.g.js +1 -69
  111. package/dist/components/iconCatalogFull/bold/b.g.js +1 -79
  112. package/dist/components/iconCatalogFull/bold/c.g.js +1 -98
  113. package/dist/components/iconCatalogFull/bold/d.g.js +1 -54
  114. package/dist/components/iconCatalogFull/bold/e.g.js +1 -34
  115. package/dist/components/iconCatalogFull/bold/f.g.js +1 -39
  116. package/dist/components/iconCatalogFull/bold/g.g.js +1 -43
  117. package/dist/components/iconCatalogFull/bold/h.g.js +1 -38
  118. package/dist/components/iconCatalogFull/bold/i.g.js +1 -20
  119. package/dist/components/iconCatalogFull/bold/j.g.js +1 -8
  120. package/dist/components/iconCatalogFull/bold/k.g.js +1 -9
  121. package/dist/components/iconCatalogFull/bold/l.g.js +1 -38
  122. package/dist/components/iconCatalogFull/bold/m.g.js +1 -91
  123. package/dist/components/iconCatalogFull/bold/n.g.js +1 -23
  124. package/dist/components/iconCatalogFull/bold/o.g.js +1 -11
  125. package/dist/components/iconCatalogFull/bold/p.g.js +1 -45
  126. package/dist/components/iconCatalogFull/bold/q.g.js +1 -12
  127. package/dist/components/iconCatalogFull/bold/r.g.js +1 -47
  128. package/dist/components/iconCatalogFull/bold/s.g.js +1 -99
  129. package/dist/components/iconCatalogFull/bold/t.g.js +1 -60
  130. package/dist/components/iconCatalogFull/bold/u.g.js +1 -17
  131. package/dist/components/iconCatalogFull/bold/v.g.js +1 -27
  132. package/dist/components/iconCatalogFull/bold/w.g.js +1 -30
  133. package/dist/components/iconCatalogFull/bold/x.g.js +1 -8
  134. package/dist/components/iconCatalogFull/bold/y.g.js +1 -0
  135. package/dist/components/iconCatalogFull/bold/z.g.js +1 -7
  136. package/dist/components/iconCatalogFull/broken/a.g.js +1 -69
  137. package/dist/components/iconCatalogFull/broken/b.g.js +1 -79
  138. package/dist/components/iconCatalogFull/broken/c.g.js +1 -98
  139. package/dist/components/iconCatalogFull/broken/d.g.js +1 -54
  140. package/dist/components/iconCatalogFull/broken/e.g.js +1 -34
  141. package/dist/components/iconCatalogFull/broken/f.g.js +1 -39
  142. package/dist/components/iconCatalogFull/broken/g.g.js +1 -43
  143. package/dist/components/iconCatalogFull/broken/h.g.js +1 -38
  144. package/dist/components/iconCatalogFull/broken/i.g.js +1 -20
  145. package/dist/components/iconCatalogFull/broken/j.g.js +1 -8
  146. package/dist/components/iconCatalogFull/broken/k.g.js +1 -9
  147. package/dist/components/iconCatalogFull/broken/l.g.js +1 -38
  148. package/dist/components/iconCatalogFull/broken/m.g.js +1 -91
  149. package/dist/components/iconCatalogFull/broken/n.g.js +1 -23
  150. package/dist/components/iconCatalogFull/broken/o.g.js +1 -11
  151. package/dist/components/iconCatalogFull/broken/p.g.js +1 -45
  152. package/dist/components/iconCatalogFull/broken/q.g.js +1 -12
  153. package/dist/components/iconCatalogFull/broken/r.g.js +1 -47
  154. package/dist/components/iconCatalogFull/broken/s.g.js +1 -99
  155. package/dist/components/iconCatalogFull/broken/t.g.js +1 -60
  156. package/dist/components/iconCatalogFull/broken/u.g.js +1 -17
  157. package/dist/components/iconCatalogFull/broken/v.g.js +1 -27
  158. package/dist/components/iconCatalogFull/broken/w.g.js +1 -30
  159. package/dist/components/iconCatalogFull/broken/x.g.js +1 -8
  160. package/dist/components/iconCatalogFull/broken/y.g.js +1 -0
  161. package/dist/components/iconCatalogFull/broken/z.g.js +1 -7
  162. package/dist/components/iconCatalogFull/bulk/a.g.js +1 -69
  163. package/dist/components/iconCatalogFull/bulk/b.g.js +1 -79
  164. package/dist/components/iconCatalogFull/bulk/c.g.js +1 -98
  165. package/dist/components/iconCatalogFull/bulk/d.g.js +1 -54
  166. package/dist/components/iconCatalogFull/bulk/e.g.js +1 -34
  167. package/dist/components/iconCatalogFull/bulk/f.g.js +1 -39
  168. package/dist/components/iconCatalogFull/bulk/g.g.js +1 -43
  169. package/dist/components/iconCatalogFull/bulk/h.g.js +1 -38
  170. package/dist/components/iconCatalogFull/bulk/i.g.js +1 -20
  171. package/dist/components/iconCatalogFull/bulk/j.g.js +1 -8
  172. package/dist/components/iconCatalogFull/bulk/k.g.js +1 -9
  173. package/dist/components/iconCatalogFull/bulk/l.g.js +1 -38
  174. package/dist/components/iconCatalogFull/bulk/m.g.js +1 -91
  175. package/dist/components/iconCatalogFull/bulk/n.g.js +1 -23
  176. package/dist/components/iconCatalogFull/bulk/o.g.js +1 -11
  177. package/dist/components/iconCatalogFull/bulk/p.g.js +1 -45
  178. package/dist/components/iconCatalogFull/bulk/q.g.js +1 -12
  179. package/dist/components/iconCatalogFull/bulk/r.g.js +1 -47
  180. package/dist/components/iconCatalogFull/bulk/s.g.js +1 -99
  181. package/dist/components/iconCatalogFull/bulk/t.g.js +1 -60
  182. package/dist/components/iconCatalogFull/bulk/u.g.js +1 -17
  183. package/dist/components/iconCatalogFull/bulk/v.g.js +1 -27
  184. package/dist/components/iconCatalogFull/bulk/w.g.js +1 -30
  185. package/dist/components/iconCatalogFull/bulk/x.g.js +1 -8
  186. package/dist/components/iconCatalogFull/bulk/y.g.js +1 -0
  187. package/dist/components/iconCatalogFull/bulk/z.g.js +1 -7
  188. package/dist/components/iconCatalogFull/linear/a.g.js +1 -69
  189. package/dist/components/iconCatalogFull/linear/b.g.js +1 -79
  190. package/dist/components/iconCatalogFull/linear/c.g.js +1 -98
  191. package/dist/components/iconCatalogFull/linear/d.g.js +1 -54
  192. package/dist/components/iconCatalogFull/linear/e.g.js +1 -34
  193. package/dist/components/iconCatalogFull/linear/f.g.js +1 -39
  194. package/dist/components/iconCatalogFull/linear/g.g.js +1 -43
  195. package/dist/components/iconCatalogFull/linear/h.g.js +1 -38
  196. package/dist/components/iconCatalogFull/linear/i.g.js +1 -20
  197. package/dist/components/iconCatalogFull/linear/j.g.js +1 -8
  198. package/dist/components/iconCatalogFull/linear/k.g.js +1 -9
  199. package/dist/components/iconCatalogFull/linear/l.g.js +1 -38
  200. package/dist/components/iconCatalogFull/linear/m.g.js +1 -91
  201. package/dist/components/iconCatalogFull/linear/n.g.js +1 -23
  202. package/dist/components/iconCatalogFull/linear/o.g.js +1 -11
  203. package/dist/components/iconCatalogFull/linear/p.g.js +1 -45
  204. package/dist/components/iconCatalogFull/linear/q.g.js +1 -12
  205. package/dist/components/iconCatalogFull/linear/r.g.js +1 -47
  206. package/dist/components/iconCatalogFull/linear/s.g.js +1 -99
  207. package/dist/components/iconCatalogFull/linear/t.g.js +1 -60
  208. package/dist/components/iconCatalogFull/linear/u.g.js +1 -17
  209. package/dist/components/iconCatalogFull/linear/v.g.js +1 -27
  210. package/dist/components/iconCatalogFull/linear/w.g.js +1 -30
  211. package/dist/components/iconCatalogFull/linear/x.g.js +1 -8
  212. package/dist/components/iconCatalogFull/linear/y.g.js +1 -0
  213. package/dist/components/iconCatalogFull/linear/z.g.js +1 -7
  214. package/dist/components/iconCatalogFull/outline/a.g.js +1 -69
  215. package/dist/components/iconCatalogFull/outline/b.g.js +1 -79
  216. package/dist/components/iconCatalogFull/outline/c.g.js +1 -98
  217. package/dist/components/iconCatalogFull/outline/d.g.js +1 -54
  218. package/dist/components/iconCatalogFull/outline/e.g.js +1 -34
  219. package/dist/components/iconCatalogFull/outline/f.g.js +1 -39
  220. package/dist/components/iconCatalogFull/outline/g.g.js +1 -43
  221. package/dist/components/iconCatalogFull/outline/h.g.js +1 -38
  222. package/dist/components/iconCatalogFull/outline/i.g.js +1 -20
  223. package/dist/components/iconCatalogFull/outline/j.g.js +1 -8
  224. package/dist/components/iconCatalogFull/outline/k.g.js +1 -9
  225. package/dist/components/iconCatalogFull/outline/l.g.js +1 -38
  226. package/dist/components/iconCatalogFull/outline/m.g.js +1 -91
  227. package/dist/components/iconCatalogFull/outline/n.g.js +1 -23
  228. package/dist/components/iconCatalogFull/outline/o.g.js +1 -11
  229. package/dist/components/iconCatalogFull/outline/p.g.js +1 -45
  230. package/dist/components/iconCatalogFull/outline/q.g.js +1 -12
  231. package/dist/components/iconCatalogFull/outline/r.g.js +1 -47
  232. package/dist/components/iconCatalogFull/outline/s.g.js +1 -99
  233. package/dist/components/iconCatalogFull/outline/t.g.js +1 -60
  234. package/dist/components/iconCatalogFull/outline/u.g.js +1 -17
  235. package/dist/components/iconCatalogFull/outline/v.g.js +1 -27
  236. package/dist/components/iconCatalogFull/outline/w.g.js +1 -30
  237. package/dist/components/iconCatalogFull/outline/x.g.js +1 -8
  238. package/dist/components/iconCatalogFull/outline/y.g.js +1 -0
  239. package/dist/components/iconCatalogFull/outline/z.g.js +1 -7
  240. package/dist/components/iconCatalogFull/twotone/a.g.js +1 -69
  241. package/dist/components/iconCatalogFull/twotone/b.g.js +1 -79
  242. package/dist/components/iconCatalogFull/twotone/c.g.js +1 -98
  243. package/dist/components/iconCatalogFull/twotone/d.g.js +1 -54
  244. package/dist/components/iconCatalogFull/twotone/e.g.js +1 -34
  245. package/dist/components/iconCatalogFull/twotone/f.g.js +1 -39
  246. package/dist/components/iconCatalogFull/twotone/g.g.js +1 -43
  247. package/dist/components/iconCatalogFull/twotone/h.g.js +1 -38
  248. package/dist/components/iconCatalogFull/twotone/i.g.js +1 -20
  249. package/dist/components/iconCatalogFull/twotone/j.g.js +1 -8
  250. package/dist/components/iconCatalogFull/twotone/k.g.js +1 -9
  251. package/dist/components/iconCatalogFull/twotone/l.g.js +1 -38
  252. package/dist/components/iconCatalogFull/twotone/m.g.js +1 -91
  253. package/dist/components/iconCatalogFull/twotone/n.g.js +1 -23
  254. package/dist/components/iconCatalogFull/twotone/o.g.js +1 -11
  255. package/dist/components/iconCatalogFull/twotone/p.g.js +1 -45
  256. package/dist/components/iconCatalogFull/twotone/q.g.js +1 -12
  257. package/dist/components/iconCatalogFull/twotone/r.g.js +1 -47
  258. package/dist/components/iconCatalogFull/twotone/s.g.js +1 -99
  259. package/dist/components/iconCatalogFull/twotone/t.g.js +1 -60
  260. package/dist/components/iconCatalogFull/twotone/u.g.js +1 -17
  261. package/dist/components/iconCatalogFull/twotone/v.g.js +1 -27
  262. package/dist/components/iconCatalogFull/twotone/w.g.js +1 -30
  263. package/dist/components/iconCatalogFull/twotone/x.g.js +1 -8
  264. package/dist/components/iconCatalogFull/twotone/y.g.js +1 -0
  265. package/dist/components/iconCatalogFull/twotone/z.g.js +1 -7
  266. package/dist/components/iconCatalogLoaders.g.js +1 -170
  267. package/dist/components/iconCatalogNames.g.js +1 -4
  268. package/dist/components/iconGlyphs.g.js +1 -211
  269. package/dist/components/iconVariants.g.js +1 -1040
  270. package/dist/components/renderIconProp.js +1 -13
  271. package/dist/components/toast.js +1 -41
  272. package/dist/components/toastStore.js +1 -78
  273. package/dist/components/useWuiControl.js +1 -106
  274. package/dist/components/warnInvalidValue.js +1 -17
  275. package/dist/components/warnUnknownProps.js +1 -17
  276. package/dist/components/withTooltip.js +1 -12
  277. package/dist/lib/CheckField.js +1 -37
  278. package/dist/lib/FileItemRow.js +1 -44
  279. package/dist/lib/emptyValue.js +1 -6
  280. package/dist/lib/fileItem.js +1 -27
  281. package/dist/lib/focusField.js +1 -14
  282. package/dist/lib/listQuery.js +1 -57
  283. package/dist/lib/navMatch.js +1 -29
  284. package/dist/lib/pageWindow.js +1 -14
  285. package/dist/lib/qrCode.js +1 -577
  286. package/dist/lib/shellCookie.js +1 -16
  287. package/dist/lib/useCommandPaletteShortcut.js +1 -15
  288. package/dist/lib/useFloatingStack.js +1 -25
  289. package/dist/lib/useListQuery.js +1 -120
  290. package/dist/lib/usePagination.js +1 -29
  291. package/dist/lib/useTableView.js +1 -42
  292. package/dist/types/components/AppAlert.d.ts +6 -1
  293. package/dist/types/components/AppCalendar.d.ts +8 -6
  294. package/dist/types/components/AppDatePicker.d.ts +4 -1
  295. package/dist/types/components/AppDateRangePicker.d.ts +2 -1
  296. package/dist/types/components/AppDropdown.d.ts +12 -1
  297. package/dist/types/components/AppRouteError.d.ts +32 -0
  298. package/dist/types/components/AppStepper.d.ts +8 -1
  299. package/dist/types/components/AppUpdateBar.d.ts +20 -0
  300. package/dist/types/components/AppWizard.d.ts +4 -0
  301. package/dist/types/components/iconCatalogFull/bold/a.g.d.ts +11 -0
  302. package/dist/types/components/iconCatalogFull/bold/b.g.d.ts +3 -0
  303. package/dist/types/components/iconCatalogFull/bold/c.g.d.ts +18 -0
  304. package/dist/types/components/iconCatalogFull/bold/d.g.d.ts +4 -0
  305. package/dist/types/components/iconCatalogFull/bold/e.g.d.ts +4 -0
  306. package/dist/types/components/iconCatalogFull/bold/f.g.d.ts +7 -0
  307. package/dist/types/components/iconCatalogFull/bold/g.g.d.ts +2 -0
  308. package/dist/types/components/iconCatalogFull/bold/h.g.d.ts +6 -0
  309. package/dist/types/components/iconCatalogFull/bold/i.g.d.ts +2 -0
  310. package/dist/types/components/iconCatalogFull/bold/k.g.d.ts +2 -0
  311. package/dist/types/components/iconCatalogFull/bold/l.g.d.ts +5 -0
  312. package/dist/types/components/iconCatalogFull/bold/m.g.d.ts +10 -0
  313. package/dist/types/components/iconCatalogFull/bold/n.g.d.ts +1 -0
  314. package/dist/types/components/iconCatalogFull/bold/p.g.d.ts +6 -0
  315. package/dist/types/components/iconCatalogFull/bold/r.g.d.ts +4 -0
  316. package/dist/types/components/iconCatalogFull/bold/s.g.d.ts +11 -0
  317. package/dist/types/components/iconCatalogFull/bold/t.g.d.ts +7 -0
  318. package/dist/types/components/iconCatalogFull/bold/u.g.d.ts +3 -0
  319. package/dist/types/components/iconCatalogFull/bold/v.g.d.ts +3 -0
  320. package/dist/types/components/iconCatalogFull/bold/w.g.d.ts +2 -0
  321. package/dist/types/components/iconCatalogFull/bold/y.g.d.ts +3 -0
  322. package/dist/types/components/iconCatalogFull/broken/a.g.d.ts +11 -0
  323. package/dist/types/components/iconCatalogFull/broken/b.g.d.ts +3 -0
  324. package/dist/types/components/iconCatalogFull/broken/c.g.d.ts +18 -0
  325. package/dist/types/components/iconCatalogFull/broken/d.g.d.ts +4 -0
  326. package/dist/types/components/iconCatalogFull/broken/e.g.d.ts +4 -0
  327. package/dist/types/components/iconCatalogFull/broken/f.g.d.ts +7 -0
  328. package/dist/types/components/iconCatalogFull/broken/g.g.d.ts +2 -0
  329. package/dist/types/components/iconCatalogFull/broken/h.g.d.ts +6 -0
  330. package/dist/types/components/iconCatalogFull/broken/i.g.d.ts +2 -0
  331. package/dist/types/components/iconCatalogFull/broken/k.g.d.ts +2 -0
  332. package/dist/types/components/iconCatalogFull/broken/l.g.d.ts +5 -0
  333. package/dist/types/components/iconCatalogFull/broken/m.g.d.ts +10 -0
  334. package/dist/types/components/iconCatalogFull/broken/n.g.d.ts +1 -0
  335. package/dist/types/components/iconCatalogFull/broken/p.g.d.ts +6 -0
  336. package/dist/types/components/iconCatalogFull/broken/r.g.d.ts +4 -0
  337. package/dist/types/components/iconCatalogFull/broken/s.g.d.ts +11 -0
  338. package/dist/types/components/iconCatalogFull/broken/t.g.d.ts +7 -0
  339. package/dist/types/components/iconCatalogFull/broken/u.g.d.ts +3 -0
  340. package/dist/types/components/iconCatalogFull/broken/v.g.d.ts +3 -0
  341. package/dist/types/components/iconCatalogFull/broken/w.g.d.ts +2 -0
  342. package/dist/types/components/iconCatalogFull/broken/y.g.d.ts +3 -0
  343. package/dist/types/components/iconCatalogFull/bulk/a.g.d.ts +11 -0
  344. package/dist/types/components/iconCatalogFull/bulk/b.g.d.ts +3 -0
  345. package/dist/types/components/iconCatalogFull/bulk/c.g.d.ts +18 -0
  346. package/dist/types/components/iconCatalogFull/bulk/d.g.d.ts +4 -0
  347. package/dist/types/components/iconCatalogFull/bulk/e.g.d.ts +4 -0
  348. package/dist/types/components/iconCatalogFull/bulk/f.g.d.ts +7 -0
  349. package/dist/types/components/iconCatalogFull/bulk/g.g.d.ts +2 -0
  350. package/dist/types/components/iconCatalogFull/bulk/h.g.d.ts +6 -0
  351. package/dist/types/components/iconCatalogFull/bulk/i.g.d.ts +2 -0
  352. package/dist/types/components/iconCatalogFull/bulk/k.g.d.ts +2 -0
  353. package/dist/types/components/iconCatalogFull/bulk/l.g.d.ts +5 -0
  354. package/dist/types/components/iconCatalogFull/bulk/m.g.d.ts +10 -0
  355. package/dist/types/components/iconCatalogFull/bulk/n.g.d.ts +1 -0
  356. package/dist/types/components/iconCatalogFull/bulk/p.g.d.ts +6 -0
  357. package/dist/types/components/iconCatalogFull/bulk/r.g.d.ts +4 -0
  358. package/dist/types/components/iconCatalogFull/bulk/s.g.d.ts +11 -0
  359. package/dist/types/components/iconCatalogFull/bulk/t.g.d.ts +7 -0
  360. package/dist/types/components/iconCatalogFull/bulk/u.g.d.ts +3 -0
  361. package/dist/types/components/iconCatalogFull/bulk/v.g.d.ts +3 -0
  362. package/dist/types/components/iconCatalogFull/bulk/w.g.d.ts +2 -0
  363. package/dist/types/components/iconCatalogFull/bulk/y.g.d.ts +3 -0
  364. package/dist/types/components/iconCatalogFull/linear/a.g.d.ts +11 -0
  365. package/dist/types/components/iconCatalogFull/linear/b.g.d.ts +3 -0
  366. package/dist/types/components/iconCatalogFull/linear/c.g.d.ts +18 -0
  367. package/dist/types/components/iconCatalogFull/linear/d.g.d.ts +4 -0
  368. package/dist/types/components/iconCatalogFull/linear/e.g.d.ts +4 -0
  369. package/dist/types/components/iconCatalogFull/linear/f.g.d.ts +7 -0
  370. package/dist/types/components/iconCatalogFull/linear/g.g.d.ts +2 -0
  371. package/dist/types/components/iconCatalogFull/linear/h.g.d.ts +6 -0
  372. package/dist/types/components/iconCatalogFull/linear/i.g.d.ts +2 -0
  373. package/dist/types/components/iconCatalogFull/linear/k.g.d.ts +2 -0
  374. package/dist/types/components/iconCatalogFull/linear/l.g.d.ts +5 -0
  375. package/dist/types/components/iconCatalogFull/linear/m.g.d.ts +10 -0
  376. package/dist/types/components/iconCatalogFull/linear/n.g.d.ts +1 -0
  377. package/dist/types/components/iconCatalogFull/linear/p.g.d.ts +6 -0
  378. package/dist/types/components/iconCatalogFull/linear/r.g.d.ts +4 -0
  379. package/dist/types/components/iconCatalogFull/linear/s.g.d.ts +11 -0
  380. package/dist/types/components/iconCatalogFull/linear/t.g.d.ts +7 -0
  381. package/dist/types/components/iconCatalogFull/linear/u.g.d.ts +3 -0
  382. package/dist/types/components/iconCatalogFull/linear/v.g.d.ts +3 -0
  383. package/dist/types/components/iconCatalogFull/linear/w.g.d.ts +2 -0
  384. package/dist/types/components/iconCatalogFull/linear/y.g.d.ts +3 -0
  385. package/dist/types/components/iconCatalogFull/outline/a.g.d.ts +11 -0
  386. package/dist/types/components/iconCatalogFull/outline/b.g.d.ts +3 -0
  387. package/dist/types/components/iconCatalogFull/outline/c.g.d.ts +18 -0
  388. package/dist/types/components/iconCatalogFull/outline/d.g.d.ts +4 -0
  389. package/dist/types/components/iconCatalogFull/outline/e.g.d.ts +4 -0
  390. package/dist/types/components/iconCatalogFull/outline/f.g.d.ts +7 -0
  391. package/dist/types/components/iconCatalogFull/outline/g.g.d.ts +2 -0
  392. package/dist/types/components/iconCatalogFull/outline/h.g.d.ts +6 -0
  393. package/dist/types/components/iconCatalogFull/outline/i.g.d.ts +2 -0
  394. package/dist/types/components/iconCatalogFull/outline/k.g.d.ts +2 -0
  395. package/dist/types/components/iconCatalogFull/outline/l.g.d.ts +5 -0
  396. package/dist/types/components/iconCatalogFull/outline/m.g.d.ts +10 -0
  397. package/dist/types/components/iconCatalogFull/outline/n.g.d.ts +1 -0
  398. package/dist/types/components/iconCatalogFull/outline/p.g.d.ts +6 -0
  399. package/dist/types/components/iconCatalogFull/outline/r.g.d.ts +4 -0
  400. package/dist/types/components/iconCatalogFull/outline/s.g.d.ts +11 -0
  401. package/dist/types/components/iconCatalogFull/outline/t.g.d.ts +7 -0
  402. package/dist/types/components/iconCatalogFull/outline/u.g.d.ts +3 -0
  403. package/dist/types/components/iconCatalogFull/outline/v.g.d.ts +3 -0
  404. package/dist/types/components/iconCatalogFull/outline/w.g.d.ts +2 -0
  405. package/dist/types/components/iconCatalogFull/outline/y.g.d.ts +3 -0
  406. package/dist/types/components/iconCatalogFull/twotone/a.g.d.ts +11 -0
  407. package/dist/types/components/iconCatalogFull/twotone/b.g.d.ts +3 -0
  408. package/dist/types/components/iconCatalogFull/twotone/c.g.d.ts +18 -0
  409. package/dist/types/components/iconCatalogFull/twotone/d.g.d.ts +4 -0
  410. package/dist/types/components/iconCatalogFull/twotone/e.g.d.ts +4 -0
  411. package/dist/types/components/iconCatalogFull/twotone/f.g.d.ts +7 -0
  412. package/dist/types/components/iconCatalogFull/twotone/g.g.d.ts +2 -0
  413. package/dist/types/components/iconCatalogFull/twotone/h.g.d.ts +6 -0
  414. package/dist/types/components/iconCatalogFull/twotone/i.g.d.ts +2 -0
  415. package/dist/types/components/iconCatalogFull/twotone/k.g.d.ts +2 -0
  416. package/dist/types/components/iconCatalogFull/twotone/l.g.d.ts +5 -0
  417. package/dist/types/components/iconCatalogFull/twotone/m.g.d.ts +10 -0
  418. package/dist/types/components/iconCatalogFull/twotone/n.g.d.ts +1 -0
  419. package/dist/types/components/iconCatalogFull/twotone/p.g.d.ts +6 -0
  420. package/dist/types/components/iconCatalogFull/twotone/r.g.d.ts +4 -0
  421. package/dist/types/components/iconCatalogFull/twotone/s.g.d.ts +11 -0
  422. package/dist/types/components/iconCatalogFull/twotone/t.g.d.ts +7 -0
  423. package/dist/types/components/iconCatalogFull/twotone/u.g.d.ts +3 -0
  424. package/dist/types/components/iconCatalogFull/twotone/v.g.d.ts +3 -0
  425. package/dist/types/components/iconCatalogFull/twotone/w.g.d.ts +2 -0
  426. package/dist/types/components/iconCatalogFull/twotone/y.g.d.ts +3 -0
  427. package/dist/types/components/iconCatalogLoaders.g.d.ts +6 -0
  428. package/dist/types/index.d.ts +2 -0
  429. package/dist/ui-react.js +1 -117
  430. package/package.json +7 -9
  431. package/dist/types/components/__tests__/restPassthrough.d.ts +0 -9
@@ -1,264 +1 @@
1
- import e from "./warnInvalidValue.js";
2
- import t from "./warnUnknownProps.js";
3
- import n from "./withTooltip.js";
4
- import r from "./AppIcon.js";
5
- import i from "./AppAlert.js";
6
- import ee from "./AppButton.js";
7
- import te from "./AppRequiredMark.js";
8
- import ne from "./AppModal.js";
9
- import { DEFAULT_MAX_SIZE_MB as re, validateFile as a } from "@webority/ui-elements/helpers";
10
- import { useCallback as ie, useEffect as o, useId as ae, useRef as s, useState as c } from "react";
11
- import { Fragment as oe, jsx as l, jsxs as u } from "react/jsx-runtime";
12
- import "@webority/ui-elements/elements/image-crop";
13
- //#region src/components/AppLogoPicker.jsx
14
- var se = [
15
- "stacked",
16
- "inline",
17
- "profile"
18
- ], ce = ["initials", "avatar"], le = [
19
- "circle",
20
- "rounded",
21
- "square"
22
- ], d = {
23
- sm: 72,
24
- md: 120,
25
- lg: 160
26
- }, ue = "That image could not be cropped. Choose another one.", de = "That image could not be opened. Choose another one.";
27
- function f({ value: f, fallback: fe, name: pe, onPick: me, onRemove: p, loading: m = !1, disabled: h = !1, accept: g = "image/png,image/jpeg,image/webp", maxSizeMb: _ = re, crop: v, overlayIcon: he = "image", overlayLabel: y = "Update photo", ariaLabel: ge = "Upload photo", label: b, hint: x, error: _e, layout: S = "stacked", title: ve, subtitle: ye, required: be = !1, variant: C = "initials", size: w = "md", shape: T = "circle", className: E = "", ...D }) {
28
- t("AppLogoPicker", D), e("AppLogoPicker", "layout", S, se), e("AppLogoPicker", "variant", C, ce), e("AppLogoPicker", "shape", T, le), e("AppLogoPicker", "size", typeof w == "string" ? w : null, Object.keys(d));
29
- let O = v === "free" ? null : typeof v == "number" && Number.isFinite(v) && v > 0 ? v : void 0;
30
- v != null && O === void 0 && e("AppLogoPicker", "crop", String(v), ["free", "a positive number"]);
31
- let k = s(null), A = s(null), j = ae(), [M, N] = c(null), [xe, P] = c(""), [Se, F] = c(!1), [I, L] = c(!1), [R, z] = c(null), [B, V] = c(!1), [H, U] = c("loading"), [W, G] = c(""), Ce = ie((e) => {
32
- if (A.current = e, !e) return;
33
- let t = () => U("ready"), n = () => U("error");
34
- return e.addEventListener("load", t), e.addEventListener("error", n), () => {
35
- e.removeEventListener("load", t), e.removeEventListener("error", n), A.current = null;
36
- };
37
- }, []);
38
- o(() => () => R && URL.revokeObjectURL(R.url), [R]), o(() => () => M && URL.revokeObjectURL(M), [M]), o(() => {
39
- N(null), F(!1);
40
- }, [f]);
41
- let K = m || h, q = M || (f && !Se ? f : null), J = _e || xe, we = x && !J ? `${j}-hint` : void 0, Te = J ? `${j}-error` : void 0, Ee = !K && (!!M || !!q && !!p), De = () => {
42
- K || k.current?.click();
43
- }, Y = (e) => {
44
- P(""), F(!1), N(URL.createObjectURL(e)), me(e);
45
- }, Oe = (e) => {
46
- let t = O !== void 0 && e.type !== "image/svg+xml", n = a(e, {
47
- accept: g,
48
- maxSizeMb: t ? 0 : _
49
- });
50
- if (n) {
51
- P(n);
52
- return;
53
- }
54
- if (t) {
55
- P(""), U("loading"), G(""), z({
56
- file: e,
57
- url: URL.createObjectURL(e)
58
- });
59
- return;
60
- }
61
- Y(e);
62
- }, ke = async () => {
63
- let { file: e } = R;
64
- V(!0), G("");
65
- let t = null;
66
- try {
67
- t = await A.current?.toFile({
68
- name: e.name,
69
- type: e.type,
70
- maxBytes: _ > 0 ? _ * 1024 * 1024 : 0
71
- });
72
- } catch {
73
- t = null;
74
- }
75
- if (V(!1), !t) {
76
- G(ue);
77
- return;
78
- }
79
- z(null);
80
- let n = a(t, {
81
- accept: g,
82
- maxSizeMb: _
83
- });
84
- n ? P(n) : Y(t);
85
- }, Ae = () => {
86
- B || z(null);
87
- }, je = (e) => {
88
- let t = e.target.files?.[0];
89
- e.target.value = "", t && Oe(t);
90
- }, Me = (e) => {
91
- if (e.preventDefault(), L(!1), K) return;
92
- let t = e.dataTransfer.files?.[0];
93
- t && Oe(t);
94
- }, Ne = () => {
95
- N(null), P(""), F(!1), k.current && (k.current.value = ""), p?.();
96
- }, X = typeof w == "number" ? w : d[w] ?? d.md, Pe = Math.max(14, Math.round(X * .18)), Fe = Math.round(X * .5), Ie = [
97
- "set-uploader",
98
- C === "avatar" ? "set-uploader--avatar" : "",
99
- T === "rounded" ? "set-uploader--rounded" : T === "square" ? "set-uploader--square" : "",
100
- I && "is-dragging"
101
- ].filter(Boolean).join(" "), Le = S === "inline", Re = S === "profile", Z = /* @__PURE__ */ u("div", {
102
- className: "set-uploader-shell",
103
- style: { "--wui-logo-size": `${X}px` },
104
- children: [
105
- /* @__PURE__ */ l("button", {
106
- type: "button",
107
- className: Ie,
108
- onClick: De,
109
- disabled: K,
110
- "aria-busy": m || void 0,
111
- "aria-label": ge,
112
- "aria-describedby": Te || we,
113
- onDragOver: (e) => {
114
- e.preventDefault(), !K && !I && L(!0);
115
- },
116
- onDragLeave: (e) => {
117
- e.preventDefault(), L(!1);
118
- },
119
- onDrop: Me,
120
- ...D,
121
- children: /* @__PURE__ */ u("span", {
122
- className: "set-uploader-ring",
123
- "data-overlay-label": y,
124
- children: [q ? /* @__PURE__ */ l("img", {
125
- className: "set-uploader-img",
126
- src: q,
127
- alt: "",
128
- onError: () => F(!0)
129
- }) : /* @__PURE__ */ l("span", {
130
- className: "set-uploader-logo",
131
- children: fe || C === "avatar" && /* @__PURE__ */ l(r, {
132
- name: "user",
133
- size: Fe
134
- })
135
- }), m ? /* @__PURE__ */ l("span", {
136
- className: "set-uploader-overlay is-loading",
137
- "aria-hidden": "true",
138
- children: /* @__PURE__ */ l(r, {
139
- name: "refresh-cw",
140
- size: Pe,
141
- className: "wui-spin"
142
- })
143
- }) : !h && /* @__PURE__ */ u("span", {
144
- className: "set-uploader-overlay",
145
- children: [/* @__PURE__ */ l(r, {
146
- name: he,
147
- size: Pe
148
- }), /* @__PURE__ */ l("span", { children: y })]
149
- })]
150
- })
151
- }),
152
- n(/* @__PURE__ */ l("button", {
153
- type: "button",
154
- className: "set-uploader-remove",
155
- hidden: !Ee,
156
- "aria-label": "Remove photo",
157
- onClick: Ne,
158
- children: /* @__PURE__ */ l(r, {
159
- name: "x",
160
- size: 14
161
- })
162
- }), Ee ? "Remove photo" : null),
163
- /* @__PURE__ */ l("input", {
164
- id: j,
165
- ref: k,
166
- type: "file",
167
- name: pe,
168
- hidden: !0,
169
- accept: g,
170
- onChange: je,
171
- disabled: K
172
- }),
173
- O !== void 0 && /* @__PURE__ */ u(ne, {
174
- open: !!R,
175
- title: "Crop photo",
176
- subtitle: "Drag the frame and zoom to choose what to keep.",
177
- size: "lg",
178
- staticBackdrop: !0,
179
- dismissible: !B,
180
- onClose: Ae,
181
- footer: /* @__PURE__ */ u(oe, { children: [/* @__PURE__ */ l(ee, {
182
- type: "button",
183
- variant: "secondary",
184
- disabled: B,
185
- onClick: Ae,
186
- children: "Cancel"
187
- }), /* @__PURE__ */ l(ee, {
188
- type: "button",
189
- variant: "primary",
190
- loading: B,
191
- disabled: H !== "ready",
192
- onClick: ke,
193
- children: "Apply"
194
- })] }),
195
- children: [
196
- H === "error" && /* @__PURE__ */ l(i, {
197
- variant: "danger",
198
- children: de
199
- }),
200
- W && /* @__PURE__ */ l(i, {
201
- variant: "danger",
202
- children: W
203
- }),
204
- R && H !== "error" && /* @__PURE__ */ l("wui-image-crop", {
205
- ref: Ce,
206
- src: R.url,
207
- aspect: O ?? "free",
208
- round: O === 1 && T === "circle"
209
- })
210
- ]
211
- })
212
- ]
213
- }), ze = x && !J ? /* @__PURE__ */ l("div", {
214
- className: "set-uploader-hint",
215
- id: we,
216
- children: x
217
- }) : null, Be = J ? /* @__PURE__ */ l("div", {
218
- className: "field-error",
219
- id: Te,
220
- children: J
221
- }) : null, Q = b && /* @__PURE__ */ u("label", {
222
- className: "label",
223
- htmlFor: j,
224
- children: [b, be && /* @__PURE__ */ l(te, {})]
225
- }), $ = /* @__PURE__ */ u("div", {
226
- className: "set-uploader-meta",
227
- children: [
228
- ve && /* @__PURE__ */ l("div", {
229
- className: "set-uploader-title",
230
- children: ve
231
- }),
232
- ye && /* @__PURE__ */ l("div", {
233
- className: "set-uploader-subtitle",
234
- children: ye
235
- }),
236
- ze,
237
- Be
238
- ]
239
- });
240
- return Le ? /* @__PURE__ */ u("div", {
241
- className: `field set-uploader-field set-uploader-field--inline${E ? ` ${E}` : ""}`,
242
- children: [Q, /* @__PURE__ */ u("div", {
243
- className: "set-uploader-row",
244
- children: [Z, $]
245
- })]
246
- }) : Re ? /* @__PURE__ */ u("div", {
247
- className: `field set-uploader-field set-uploader-field--profile${E ? ` ${E}` : ""}`,
248
- children: [
249
- Q,
250
- Z,
251
- $
252
- ]
253
- }) : /* @__PURE__ */ u("div", {
254
- className: `field set-uploader-field${E ? ` ${E}` : ""}`,
255
- children: [
256
- Q,
257
- Z,
258
- ze,
259
- Be
260
- ]
261
- });
262
- }
263
- //#endregion
264
- export { f as default };
1
+ import e from"./warnInvalidValue.js";import t from"./warnUnknownProps.js";import n from"./withTooltip.js";import r from"./AppIcon.js";import i from"./AppAlert.js";import ee from"./AppButton.js";import te from"./AppRequiredMark.js";import ne from"./AppModal.js";import{DEFAULT_MAX_SIZE_MB as re,validateFile as a}from"@webority/ui-elements/helpers";import{useCallback as ie,useEffect as o,useId as ae,useRef as s,useState as c}from"react";import{Fragment as oe,jsx as l,jsxs as u}from"react/jsx-runtime";import"@webority/ui-elements/elements/image-crop";var se=[`stacked`,`inline`,`profile`],ce=[`initials`,`avatar`],le=[`circle`,`rounded`,`square`],d={sm:72,md:120,lg:160},ue=`That image could not be cropped. Choose another one.`,de=`That image could not be opened. Choose another one.`;function f({value:f,fallback:fe,name:pe,onPick:me,onRemove:p,loading:m=!1,disabled:h=!1,accept:g=`image/png,image/jpeg,image/webp`,maxSizeMb:_=re,crop:v,overlayIcon:he=`image`,overlayLabel:y=`Update photo`,ariaLabel:ge=`Upload photo`,label:b,hint:x,error:_e,layout:S=`stacked`,title:ve,subtitle:ye,required:be=!1,variant:C=`initials`,size:w=`md`,shape:T=`circle`,className:E=``,...D}){t(`AppLogoPicker`,D),e(`AppLogoPicker`,`layout`,S,se),e(`AppLogoPicker`,`variant`,C,ce),e(`AppLogoPicker`,`shape`,T,le),e(`AppLogoPicker`,`size`,typeof w==`string`?w:null,Object.keys(d));let O=v===`free`?null:typeof v==`number`&&Number.isFinite(v)&&v>0?v:void 0;v!=null&&O===void 0&&e(`AppLogoPicker`,`crop`,String(v),[`free`,`a positive number`]);let k=s(null),A=s(null),j=ae(),[M,N]=c(null),[xe,P]=c(``),[Se,F]=c(!1),[I,L]=c(!1),[R,z]=c(null),[B,V]=c(!1),[H,U]=c(`loading`),[W,G]=c(``),Ce=ie(e=>{if(A.current=e,!e)return;let t=()=>U(`ready`),n=()=>U(`error`);return e.addEventListener(`load`,t),e.addEventListener(`error`,n),()=>{e.removeEventListener(`load`,t),e.removeEventListener(`error`,n),A.current=null}},[]);o(()=>()=>R&&URL.revokeObjectURL(R.url),[R]),o(()=>()=>M&&URL.revokeObjectURL(M),[M]),o(()=>{N(null),F(!1)},[f]);let K=m||h,q=M||(f&&!Se?f:null),J=_e||xe,we=x&&!J?`${j}-hint`:void 0,Te=J?`${j}-error`:void 0,Ee=!K&&(!!M||!!q&&!!p),De=()=>{K||k.current?.click()},Y=e=>{P(``),F(!1),N(URL.createObjectURL(e)),me(e)},Oe=e=>{let t=O!==void 0&&e.type!==`image/svg+xml`,n=a(e,{accept:g,maxSizeMb:t?0:_});if(n){P(n);return}if(t){P(``),U(`loading`),G(``),z({file:e,url:URL.createObjectURL(e)});return}Y(e)},ke=async()=>{let{file:e}=R;V(!0),G(``);let t=null;try{t=await A.current?.toFile({name:e.name,type:e.type,maxBytes:_>0?_*1024*1024:0})}catch{t=null}if(V(!1),!t){G(ue);return}z(null);let n=a(t,{accept:g,maxSizeMb:_});n?P(n):Y(t)},Ae=()=>{B||z(null)},je=e=>{let t=e.target.files?.[0];e.target.value=``,t&&Oe(t)},Me=e=>{if(e.preventDefault(),L(!1),K)return;let t=e.dataTransfer.files?.[0];t&&Oe(t)},Ne=()=>{N(null),P(``),F(!1),k.current&&(k.current.value=``),p?.()},X=typeof w==`number`?w:d[w]??d.md,Pe=Math.max(14,Math.round(X*.18)),Fe=Math.round(X*.5),Ie=[`set-uploader`,C===`avatar`?`set-uploader--avatar`:``,T===`rounded`?`set-uploader--rounded`:T===`square`?`set-uploader--square`:``,I&&`is-dragging`].filter(Boolean).join(` `),Le=S===`inline`,Re=S===`profile`,Z=u(`div`,{className:`set-uploader-shell`,style:{"--wui-logo-size":`${X}px`},children:[l(`button`,{type:`button`,className:Ie,onClick:De,disabled:K,"aria-busy":m||void 0,"aria-label":ge,"aria-describedby":Te||we,onDragOver:e=>{e.preventDefault(),!K&&!I&&L(!0)},onDragLeave:e=>{e.preventDefault(),L(!1)},onDrop:Me,...D,children:u(`span`,{className:`set-uploader-ring`,"data-overlay-label":y,children:[q?l(`img`,{className:`set-uploader-img`,src:q,alt:``,onError:()=>F(!0)}):l(`span`,{className:`set-uploader-logo`,children:fe||C===`avatar`&&l(r,{name:`user`,size:Fe})}),m?l(`span`,{className:`set-uploader-overlay is-loading`,"aria-hidden":`true`,children:l(r,{name:`refresh-cw`,size:Pe,className:`wui-spin`})}):!h&&u(`span`,{className:`set-uploader-overlay`,children:[l(r,{name:he,size:Pe}),l(`span`,{children:y})]})]})}),n(l(`button`,{type:`button`,className:`set-uploader-remove`,hidden:!Ee,"aria-label":`Remove photo`,onClick:Ne,children:l(r,{name:`x`,size:14})}),Ee?`Remove photo`:null),l(`input`,{id:j,ref:k,type:`file`,name:pe,hidden:!0,accept:g,onChange:je,disabled:K}),O!==void 0&&u(ne,{open:!!R,title:`Crop photo`,subtitle:`Drag the frame and zoom to choose what to keep.`,size:`lg`,staticBackdrop:!0,dismissible:!B,onClose:Ae,footer:u(oe,{children:[l(ee,{type:`button`,variant:`secondary`,disabled:B,onClick:Ae,children:`Cancel`}),l(ee,{type:`button`,variant:`primary`,loading:B,disabled:H!==`ready`,onClick:ke,children:`Apply`})]}),children:[H===`error`&&l(i,{variant:`danger`,children:de}),W&&l(i,{variant:`danger`,children:W}),R&&H!==`error`&&l(`wui-image-crop`,{ref:Ce,src:R.url,aspect:O??`free`,round:O===1&&T===`circle`})]})]}),ze=x&&!J?l(`div`,{className:`set-uploader-hint`,id:we,children:x}):null,Be=J?l(`div`,{className:`field-error`,id:Te,children:J}):null,Q=b&&u(`label`,{className:`label`,htmlFor:j,children:[b,be&&l(te,{})]}),$=u(`div`,{className:`set-uploader-meta`,children:[ve&&l(`div`,{className:`set-uploader-title`,children:ve}),ye&&l(`div`,{className:`set-uploader-subtitle`,children:ye}),ze,Be]});return Le?u(`div`,{className:`field set-uploader-field set-uploader-field--inline${E?` ${E}`:``}`,children:[Q,u(`div`,{className:`set-uploader-row`,children:[Z,$]})]}):Re?u(`div`,{className:`field set-uploader-field set-uploader-field--profile${E?` ${E}`:``}`,children:[Q,Z,$]}):u(`div`,{className:`field set-uploader-field${E?` ${E}`:``}`,children:[Q,Z,ze,Be]})}export{f as default};
@@ -1,42 +1 @@
1
- import e from "./warnInvalidValue.js";
2
- import t from "./warnUnknownProps.js";
3
- import { jsx as n } from "react/jsx-runtime";
4
- //#region src/components/AppMeter.jsx
5
- var r = ["high", "low"], i = ["sm", "md"], a = [
6
- "info",
7
- "success",
8
- "warning",
9
- "danger",
10
- "neutral"
11
- ];
12
- function o(e, t, n) {
13
- let r = n - t;
14
- if (!(r > 0)) return 0;
15
- let i = Math.min(100, Math.max(0, (e - t) / r * 100));
16
- return Number(i.toFixed(2));
17
- }
18
- function s(e, t, n, r, i) {
19
- if (t == null && n == null) return i;
20
- let a = "mid";
21
- return t != null && e <= t ? a = "low" : n != null && e >= n && (a = "high"), r === "low" ? a === "low" ? "success" : a === "high" ? "danger" : "warning" : a === "high" ? "success" : a === "low" ? "danger" : "warning";
22
- }
23
- function c({ value: c = 0, min: l = 0, max: u = 100, tone: d = "info", optimum: f = "high", low: p, high: m, size: h = "md", label: g, showLabel: _ = !1, className: v = "", ...y }) {
24
- t("AppMeter", y), e("AppMeter", "tone", d, a), e("AppMeter", "optimum", f, r), e("AppMeter", "size", h, i);
25
- let b = s(c, p, m, f, a.includes(d) ? d : "info"), x = o(c, l, u);
26
- return /* @__PURE__ */ n("div", {
27
- className: `progress${h === "sm" ? " progress-sm" : ""}${v ? ` ${v}` : ""}`,
28
- role: "meter",
29
- "aria-valuenow": c,
30
- "aria-valuemin": l,
31
- "aria-valuemax": u,
32
- "aria-label": g || void 0,
33
- ...y,
34
- children: /* @__PURE__ */ n("div", {
35
- className: `progress-bar wui-progress-${b}`,
36
- style: { width: `${x}%` },
37
- children: _ && g
38
- })
39
- });
40
- }
41
- //#endregion
42
- export { c as default };
1
+ import e from"./warnInvalidValue.js";import t from"./warnUnknownProps.js";import{jsx as n}from"react/jsx-runtime";var r=[`high`,`low`],i=[`sm`,`md`],a=[`info`,`success`,`warning`,`danger`,`neutral`];function o(e,t,n){let r=n-t;if(!(r>0))return 0;let i=Math.min(100,Math.max(0,(e-t)/r*100));return Number(i.toFixed(2))}function s(e,t,n,r,i){if(t==null&&n==null)return i;let a=`mid`;return t!=null&&e<=t?a=`low`:n!=null&&e>=n&&(a=`high`),r===`low`?a===`low`?`success`:a===`high`?`danger`:`warning`:a===`high`?`success`:a===`low`?`danger`:`warning`}function c({value:c=0,min:l=0,max:u=100,tone:d=`info`,optimum:f=`high`,low:p,high:m,size:h=`md`,label:g,showLabel:_=!1,className:v=``,...y}){t(`AppMeter`,y),e(`AppMeter`,`tone`,d,a),e(`AppMeter`,`optimum`,f,r),e(`AppMeter`,`size`,h,i);let b=s(c,p,m,f,a.includes(d)?d:`info`),x=o(c,l,u);return n(`div`,{className:`progress${h===`sm`?` progress-sm`:``}${v?` ${v}`:``}`,role:`meter`,"aria-valuenow":c,"aria-valuemin":l,"aria-valuemax":u,"aria-label":g||void 0,...y,children:n(`div`,{className:`progress-bar wui-progress-${b}`,style:{width:`${x}%`},children:_&&g})})}export{c as default};
@@ -1,124 +1 @@
1
- import e from "./warnInvalidValue.js";
2
- import t from "./warnUnknownProps.js";
3
- import n from "./AppIcon.js";
4
- import { useEffect as r, useRef as i } from "react";
5
- import { Modal as a } from "react-bootstrap";
6
- import { jsx as o, jsxs as s } from "react/jsx-runtime";
7
- //#region src/components/AppModal.jsx
8
- var c = [
9
- "default",
10
- "danger",
11
- "success",
12
- "warning"
13
- ], l = ["center", "top"], u = "a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex=\"-1\"])", d = {
14
- sm: 380,
15
- md: 440,
16
- lg: 640,
17
- xl: 880
18
- }, f = "wui-modal-fullscreen", p = !1;
19
- function m() {
20
- let e = !0;
21
- try {
22
- e = process.env.NODE_ENV !== "production";
23
- } catch {
24
- e = !0;
25
- }
26
- !e || p || (p = !0, console.warn("[@webority/ui-react] <AppModal hideHeader> has no accessible name — pass `ariaLabel` (or a string `title`)."));
27
- }
28
- function h({ open: p, eyebrow: h, title: g, subtitle: _, headerIcon: v, tone: y = "default", dismissible: b = !0, onClose: x, footer: S, size: C = "md", placement: w = "center", hideHeader: T = !1, staticBackdrop: E = !1, ariaLabel: D, className: O = "", children: k, ...A }) {
29
- t("AppModal", A), e("AppModal", "tone", y, c), e("AppModal", "placement", w, l), e("AppModal", "size", typeof C == "string" ? C : null, [...Object.keys(d), "fullscreen"]);
30
- let { style: j, ...M } = A;
31
- T && !D && typeof g != "string" && m();
32
- let N = i(null);
33
- r(() => {
34
- if (!p) return;
35
- let e = N.current?.closest(".modal-content");
36
- if (!e) return;
37
- let t = () => Array.from(e.querySelectorAll(u));
38
- (e.querySelector("[data-autofocus]") || t().find((e) => !e.classList.contains("wui-modal-close")) || t()[0] || e).focus?.();
39
- }, [p]);
40
- let P = C === "fullscreen", F = typeof C == "number" ? C : d[C] ?? d.md, I = [
41
- "wui-modal",
42
- y === "default" ? "" : `tone-${y}`,
43
- O
44
- ].filter(Boolean).join(" ");
45
- return /* @__PURE__ */ s(a, {
46
- ...M,
47
- show: p,
48
- onHide: x,
49
- backdrop: !E || "static",
50
- keyboard: !E,
51
- autoFocus: !1,
52
- enforceFocus: !0,
53
- restoreFocus: !0,
54
- centered: w !== "top",
55
- className: P ? `wui-modal-shell ${f}` : "wui-modal-shell",
56
- style: P ? j : {
57
- "--wui-modal-max-width": `${F}px`,
58
- ...j
59
- },
60
- dialogClassName: "wui-rb-dialog",
61
- contentClassName: I,
62
- backdropClassName: "wui-modal-dim",
63
- "aria-label": D || (typeof g == "string" ? g : void 0),
64
- children: [
65
- !T && /* @__PURE__ */ s("div", {
66
- className: "wui-modal-header",
67
- children: [/* @__PURE__ */ s("div", {
68
- className: "wui-modal-heading",
69
- children: [v && /* @__PURE__ */ o("span", {
70
- className: "wui-modal-headicon",
71
- children: /* @__PURE__ */ o(n, {
72
- name: v,
73
- size: 18
74
- })
75
- }), /* @__PURE__ */ s("div", {
76
- className: "wui-modal-headtext",
77
- children: [
78
- h && /* @__PURE__ */ o("div", {
79
- className: "wui-modal-eyebrow",
80
- children: h
81
- }),
82
- /* @__PURE__ */ o("div", {
83
- className: "wui-modal-title",
84
- children: g
85
- }),
86
- _ && /* @__PURE__ */ o("div", {
87
- className: "wui-modal-subtitle",
88
- children: _
89
- })
90
- ]
91
- })]
92
- }), b && /* @__PURE__ */ o("button", {
93
- type: "button",
94
- className: "wui-modal-close",
95
- onClick: x,
96
- "aria-label": "Close",
97
- children: /* @__PURE__ */ o("svg", {
98
- width: "18",
99
- height: "18",
100
- viewBox: "0 0 24 24",
101
- fill: "none",
102
- stroke: "currentColor",
103
- strokeWidth: "2",
104
- strokeLinecap: "round",
105
- strokeLinejoin: "round",
106
- "aria-hidden": "true",
107
- children: /* @__PURE__ */ o("path", { d: "M18 6 6 18M6 6l12 12" })
108
- })
109
- })]
110
- }),
111
- /* @__PURE__ */ o("div", {
112
- className: "wui-modal-body",
113
- ref: N,
114
- children: k
115
- }),
116
- S && /* @__PURE__ */ o("div", {
117
- className: "wui-modal-footer",
118
- children: S
119
- })
120
- ]
121
- });
122
- }
123
- //#endregion
124
- export { h as default };
1
+ import e from"./warnInvalidValue.js";import t from"./warnUnknownProps.js";import n from"./AppIcon.js";import{useEffect as r,useRef as i}from"react";import{Modal as a}from"react-bootstrap";import{jsx as o,jsxs as s}from"react/jsx-runtime";var c=[`default`,`danger`,`success`,`warning`],l=[`center`,`top`],u=`a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])`,d={sm:380,md:440,lg:640,xl:880},f=`wui-modal-fullscreen`,p=!1;function m(){let e=!0;try{e=process.env.NODE_ENV!==`production`}catch{e=!0}!e||p||(p=!0,console.warn("[@webority/ui-react] <AppModal hideHeader> has no accessible name — pass `ariaLabel` (or a string `title`)."))}function h({open:p,eyebrow:h,title:g,subtitle:_,headerIcon:v,tone:y=`default`,dismissible:b=!0,onClose:x,footer:S,size:C=`md`,placement:w=`center`,hideHeader:T=!1,staticBackdrop:E=!1,ariaLabel:D,className:O=``,children:k,...A}){t(`AppModal`,A),e(`AppModal`,`tone`,y,c),e(`AppModal`,`placement`,w,l),e(`AppModal`,`size`,typeof C==`string`?C:null,[...Object.keys(d),`fullscreen`]);let{style:j,...M}=A;T&&!D&&typeof g!=`string`&&m();let N=i(null);r(()=>{if(!p)return;let e=N.current?.closest(`.modal-content`);if(!e)return;let t=()=>Array.from(e.querySelectorAll(u));(e.querySelector(`[data-autofocus]`)||t().find(e=>!e.classList.contains(`wui-modal-close`))||t()[0]||e).focus?.()},[p]);let P=C===`fullscreen`,F=typeof C==`number`?C:d[C]??d.md,I=[`wui-modal`,y==="default"?``:`tone-${y}`,O].filter(Boolean).join(` `);return s(a,{...M,show:p,onHide:x,backdrop:!E||`static`,keyboard:!E,autoFocus:!1,enforceFocus:!0,restoreFocus:!0,centered:w!==`top`,className:P?`wui-modal-shell ${f}`:`wui-modal-shell`,style:P?j:{"--wui-modal-max-width":`${F}px`,...j},dialogClassName:`wui-rb-dialog`,contentClassName:I,backdropClassName:`wui-modal-dim`,"aria-label":D||(typeof g==`string`?g:void 0),children:[!T&&s(`div`,{className:`wui-modal-header`,children:[s(`div`,{className:`wui-modal-heading`,children:[v&&o(`span`,{className:`wui-modal-headicon`,children:o(n,{name:v,size:18})}),s(`div`,{className:`wui-modal-headtext`,children:[h&&o(`div`,{className:`wui-modal-eyebrow`,children:h}),o(`div`,{className:`wui-modal-title`,children:g}),_&&o(`div`,{className:`wui-modal-subtitle`,children:_})]})]}),b&&o(`button`,{type:`button`,className:`wui-modal-close`,onClick:x,"aria-label":`Close`,children:o(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:o(`path`,{d:`M18 6 6 18M6 6l12 12`})})})]}),o(`div`,{className:`wui-modal-body`,ref:N,children:k}),S&&o(`div`,{className:`wui-modal-footer`,children:S})]})}export{h as default};
@@ -1,75 +1 @@
1
- import e from "./warnInvalidValue.js";
2
- import t from "./warnUnknownProps.js";
3
- import n from "./AppInfoTip.js";
4
- import r from "./AppRequiredMark.js";
5
- import i, { optionsEqual as a, readValues as o, writeValues as s } from "./useWuiControl.js";
6
- import { forwardRef as c, useEffect as l, useId as u } from "react";
7
- import { jsx as d, jsxs as f } from "react/jsx-runtime";
8
- import "@webority/ui-elements/elements/multiselect";
9
- //#region src/components/AppMultiSelect.jsx
10
- var p = ["sm", "lg"], m = c(function({ values: c, onChange: m, options: h, placeholder: g = "Select…", searchPlaceholder: _ = "Search…", searchable: v = !0, disabled: y = !1, icon: b, size: x, collapseChips: S = !1, allowCustom: C = !1, validateCustom: w, customPattern: T, customInvalidMessage: E, name: D, id: O, label: k, error: A, hint: j, required: M = !1, help: N, helpLabel: P = "More information", fieldClassName: F = "", ...I }, L) {
11
- t("AppMultiSelect", I), e("AppMultiSelect", "size", x, p);
12
- let R = u(), z = O || R, { setRef: B, innerRef: V } = i({
13
- ref: L,
14
- value: c,
15
- onChange: m,
16
- readValue: o,
17
- writeValue: s
18
- });
19
- return l(() => {
20
- let e = V.current;
21
- if (!e) return;
22
- let t = h || [];
23
- a(t, e.options) || (e.options = t);
24
- }, [h, V]), l(() => {
25
- let e = V.current;
26
- e && (e.validateCustom = w ?? null);
27
- }, [w, V]), /* @__PURE__ */ f("div", {
28
- className: `field${F ? ` ${F}` : ""}`,
29
- children: [
30
- k && /* @__PURE__ */ f("label", {
31
- className: "label",
32
- htmlFor: z,
33
- children: [
34
- k,
35
- M && /* @__PURE__ */ d(r, {}),
36
- N && /* @__PURE__ */ d(n, {
37
- label: P,
38
- children: N
39
- })
40
- ]
41
- }),
42
- /* @__PURE__ */ d("wui-multiselect", {
43
- "aria-label": typeof k == "string" ? k : void 0,
44
- "aria-describedby": A ? `${z}-error` : j ? `${z}-hint` : void 0,
45
- "aria-invalid": A ? "true" : void 0,
46
- id: z,
47
- ref: B,
48
- name: D,
49
- placeholder: g,
50
- "search-placeholder": _,
51
- icon: b || void 0,
52
- size: x || void 0,
53
- "collapse-chips": S ? "" : void 0,
54
- "allow-custom": C ? "" : void 0,
55
- "custom-pattern": T || void 0,
56
- "custom-invalid-message": E || void 0,
57
- searchable: v ? "" : void 0,
58
- disabled: y ? "" : void 0,
59
- required: M ? "" : void 0,
60
- ...I
61
- }),
62
- A ? /* @__PURE__ */ d("div", {
63
- className: "field-error",
64
- id: `${z}-error`,
65
- children: A
66
- }) : j ? /* @__PURE__ */ d("div", {
67
- className: "field-hint",
68
- id: `${z}-hint`,
69
- children: j
70
- }) : null
71
- ]
72
- });
73
- });
74
- //#endregion
75
- export { m as default };
1
+ import e from"./warnInvalidValue.js";import t from"./warnUnknownProps.js";import n from"./AppInfoTip.js";import r from"./AppRequiredMark.js";import i,{optionsEqual as a,readValues as o,writeValues as s}from"./useWuiControl.js";import{forwardRef as c,useEffect as l,useId as u}from"react";import{jsx as d,jsxs as f}from"react/jsx-runtime";import"@webority/ui-elements/elements/multiselect";var p=[`sm`,`lg`],m=c(function({values:c,onChange:m,options:h,placeholder:g=`Select…`,searchPlaceholder:_=`Search…`,searchable:v=!0,disabled:y=!1,icon:b,size:x,collapseChips:S=!1,allowCustom:C=!1,validateCustom:w,customPattern:T,customInvalidMessage:E,name:D,id:O,label:k,error:A,hint:j,required:M=!1,help:N,helpLabel:P=`More information`,fieldClassName:F=``,...I},L){t(`AppMultiSelect`,I),e(`AppMultiSelect`,`size`,x,p);let R=u(),z=O||R,{setRef:B,innerRef:V}=i({ref:L,value:c,onChange:m,readValue:o,writeValue:s});return l(()=>{let e=V.current;if(!e)return;let t=h||[];a(t,e.options)||(e.options=t)},[h,V]),l(()=>{let e=V.current;e&&(e.validateCustom=w??null)},[w,V]),f(`div`,{className:`field${F?` ${F}`:``}`,children:[k&&f(`label`,{className:`label`,htmlFor:z,children:[k,M&&d(r,{}),N&&d(n,{label:P,children:N})]}),d(`wui-multiselect`,{"aria-label":typeof k==`string`?k:void 0,"aria-describedby":A?`${z}-error`:j?`${z}-hint`:void 0,"aria-invalid":A?`true`:void 0,id:z,ref:B,name:D,placeholder:g,"search-placeholder":_,icon:b||void 0,size:x||void 0,"collapse-chips":S?``:void 0,"allow-custom":C?``:void 0,"custom-pattern":T||void 0,"custom-invalid-message":E||void 0,searchable:v?``:void 0,disabled:y?``:void 0,required:M?``:void 0,...I}),A?d(`div`,{className:`field-error`,id:`${z}-error`,children:A}):j?d(`div`,{className:`field-hint`,id:`${z}-hint`,children:j}):null]})});export{m as default};
@@ -1,139 +1 @@
1
- import e from "./warnInvalidValue.js";
2
- import t from "./warnUnknownProps.js";
3
- import n from "./AppIcon.js";
4
- import r from "./AppInfoTip.js";
5
- import i from "./AppRequiredMark.js";
6
- import { forwardRef as a, useEffect as o, useId as s, useState as c } from "react";
7
- import { Form as l } from "react-bootstrap";
8
- import { jsx as u, jsxs as d } from "react/jsx-runtime";
9
- //#region src/components/AppNumberInput.jsx
10
- var f = [
11
- "sm",
12
- "md",
13
- "lg"
14
- ], p = a(function({ label: a, required: p = !1, error: m, hint: h, help: g, helpLabel: _ = "More information", value: v, onChange: y, min: b, max: x, step: S = 1, precision: C = 0, unit: w, size: T = "md", id: E, name: D, className: O = "", fieldClassName: k = "", disabled: A = !1, ...j }, M) {
15
- t("AppNumberInput", j), e("AppNumberInput", "size", T, f);
16
- let N = s(), P = E || N, F = (e) => {
17
- if (C === 0) return Math.round(e);
18
- let t = 10 ** C;
19
- return Math.round(e * t) / t;
20
- }, I = (e) => {
21
- let t = e;
22
- return typeof b == "number" && (t = Math.max(t, b)), typeof x == "number" && (t = Math.min(t, x)), t;
23
- }, L = (e) => {
24
- if (e === "" || e === null) return null;
25
- let t = parseFloat(e);
26
- return Number.isNaN(t) ? null : t;
27
- }, [R, z] = c(v ?? "");
28
- o(() => {
29
- z(v ?? "");
30
- }, [v]);
31
- let B = (e) => {
32
- let t = (L(R) ?? I(0)) + e * S, n = I(F(t));
33
- z(String(n)), y?.(n);
34
- }, V = L(R), H = A || V !== null && typeof b == "number" && V <= b, U = A || V !== null && typeof x == "number" && V >= x, W = m && P ? `${P}-error` : void 0, G = h && P ? `${P}-hint` : void 0, K = W || G, q = [
35
- "input",
36
- T === "sm" ? "input-sm" : "",
37
- T === "lg" ? "input-lg" : "",
38
- m ? "error" : "",
39
- "num-input",
40
- O
41
- ].filter(Boolean).join(" "), J = (e) => {
42
- let t = e.target.value;
43
- z(t);
44
- let n = L(t);
45
- n !== null && y?.(n);
46
- }, Y = (e) => {
47
- let t = L(e.target.value);
48
- if (t === null) z(""), y?.("");
49
- else {
50
- let e = I(F(t));
51
- z(String(e)), y?.(e);
52
- }
53
- j.onBlur?.(e);
54
- }, X = (e) => {
55
- e.key === "ArrowUp" ? (e.preventDefault(), B(1)) : e.key === "ArrowDown" && (e.preventDefault(), B(-1)), j.onKeyDown?.(e);
56
- }, Z = /* @__PURE__ */ u(l.Control, {
57
- ...j,
58
- id: P,
59
- name: D,
60
- type: "text",
61
- inputMode: C > 0 ? "decimal" : "numeric",
62
- className: q,
63
- disabled: A,
64
- required: p,
65
- "aria-invalid": m ? "true" : "false",
66
- "aria-describedby": K,
67
- value: R,
68
- ref: M,
69
- onChange: J,
70
- onBlur: Y,
71
- onKeyDown: X
72
- }), Q = /* @__PURE__ */ d("div", {
73
- className: [
74
- "num-wrap",
75
- T === "sm" ? "num-wrap-sm" : "",
76
- T === "lg" ? "num-wrap-lg" : ""
77
- ].filter(Boolean).join(" "),
78
- children: [
79
- /* @__PURE__ */ u("button", {
80
- type: "button",
81
- className: "num-btn",
82
- "aria-label": "Decrease",
83
- tabIndex: -1,
84
- disabled: H,
85
- onClick: () => B(-1),
86
- children: /* @__PURE__ */ u(n, {
87
- name: "minus",
88
- size: 16
89
- })
90
- }),
91
- Z,
92
- w && /* @__PURE__ */ u("span", {
93
- className: "affix",
94
- children: w
95
- }),
96
- /* @__PURE__ */ u("button", {
97
- type: "button",
98
- className: "num-btn",
99
- "aria-label": "Increase",
100
- tabIndex: -1,
101
- disabled: U,
102
- onClick: () => B(1),
103
- children: /* @__PURE__ */ u(n, {
104
- name: "plus",
105
- size: 16
106
- })
107
- })
108
- ]
109
- });
110
- return /* @__PURE__ */ d(l.Group, {
111
- className: `field${k ? ` ${k}` : ""}`,
112
- children: [
113
- a && /* @__PURE__ */ d(l.Label, {
114
- className: "label",
115
- htmlFor: P,
116
- children: [
117
- a,
118
- p && /* @__PURE__ */ u(i, {}),
119
- g && /* @__PURE__ */ u(r, {
120
- label: _,
121
- children: g
122
- })
123
- ]
124
- }),
125
- Q,
126
- m ? /* @__PURE__ */ u("div", {
127
- className: "field-error",
128
- id: W,
129
- children: m
130
- }) : h ? /* @__PURE__ */ u("div", {
131
- className: "field-hint",
132
- id: G,
133
- children: h
134
- }) : null
135
- ]
136
- });
137
- });
138
- //#endregion
139
- export { p as default };
1
+ import e from"./warnInvalidValue.js";import t from"./warnUnknownProps.js";import n from"./AppIcon.js";import r from"./AppInfoTip.js";import i from"./AppRequiredMark.js";import{forwardRef as a,useEffect as o,useId as s,useState as c}from"react";import{Form as l}from"react-bootstrap";import{jsx as u,jsxs as d}from"react/jsx-runtime";var f=[`sm`,`md`,`lg`],p=a(function({label:a,required:p=!1,error:m,hint:h,help:g,helpLabel:_=`More information`,value:v,onChange:y,min:b,max:x,step:S=1,precision:C=0,unit:w,size:T=`md`,id:E,name:D,className:O=``,fieldClassName:k=``,disabled:A=!1,...j},M){t(`AppNumberInput`,j),e(`AppNumberInput`,`size`,T,f);let N=s(),P=E||N,F=e=>{if(C===0)return Math.round(e);let t=10**C;return Math.round(e*t)/t},I=e=>{let t=e;return typeof b==`number`&&(t=Math.max(t,b)),typeof x==`number`&&(t=Math.min(t,x)),t},L=e=>{if(e===``||e===null)return null;let t=parseFloat(e);return Number.isNaN(t)?null:t},[R,z]=c(v??``);o(()=>{z(v??``)},[v]);let B=e=>{let t=(L(R)??I(0))+e*S,n=I(F(t));z(String(n)),y?.(n)},V=L(R),H=A||V!==null&&typeof b==`number`&&V<=b,U=A||V!==null&&typeof x==`number`&&V>=x,W=m&&P?`${P}-error`:void 0,G=h&&P?`${P}-hint`:void 0,K=W||G,q=[`input`,T===`sm`?`input-sm`:``,T===`lg`?`input-lg`:``,m?`error`:``,`num-input`,O].filter(Boolean).join(` `),J=e=>{let t=e.target.value;z(t);let n=L(t);n!==null&&y?.(n)},Y=e=>{let t=L(e.target.value);if(t===null)z(``),y?.(``);else{let e=I(F(t));z(String(e)),y?.(e)}j.onBlur?.(e)},X=e=>{e.key===`ArrowUp`?(e.preventDefault(),B(1)):e.key===`ArrowDown`&&(e.preventDefault(),B(-1)),j.onKeyDown?.(e)},Z=u(l.Control,{...j,id:P,name:D,type:`text`,inputMode:C>0?`decimal`:`numeric`,className:q,disabled:A,required:p,"aria-invalid":m?`true`:`false`,"aria-describedby":K,value:R,ref:M,onChange:J,onBlur:Y,onKeyDown:X}),Q=d(`div`,{className:[`num-wrap`,T===`sm`?`num-wrap-sm`:``,T===`lg`?`num-wrap-lg`:``].filter(Boolean).join(` `),children:[u(`button`,{type:`button`,className:`num-btn`,"aria-label":`Decrease`,tabIndex:-1,disabled:H,onClick:()=>B(-1),children:u(n,{name:`minus`,size:16})}),Z,w&&u(`span`,{className:`affix`,children:w}),u(`button`,{type:`button`,className:`num-btn`,"aria-label":`Increase`,tabIndex:-1,disabled:U,onClick:()=>B(1),children:u(n,{name:`plus`,size:16})})]});return d(l.Group,{className:`field${k?` ${k}`:``}`,children:[a&&d(l.Label,{className:`label`,htmlFor:P,children:[a,p&&u(i,{}),g&&u(r,{label:_,children:g})]}),Q,m?u(`div`,{className:`field-error`,id:W,children:m}):h?u(`div`,{className:`field-hint`,id:G,children:h}):null]})});export{p as default};