urfu-ui-kit-react 2.1.3 → 2.1.5

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 (412) hide show
  1. package/README.md +4 -25
  2. package/dist/components/Accordion/Accordion.js +18 -0
  3. package/dist/components/BreadCrumbs/BreadCrumbs.d.ts +1 -1
  4. package/dist/components/BreadCrumbs/BreadCrumbs.d.ts.map +1 -1
  5. package/dist/components/BreadCrumbs/BreadCrumbs.js +32 -0
  6. package/dist/components/Button/Button.d.ts +1 -0
  7. package/dist/components/Button/Button.d.ts.map +1 -1
  8. package/dist/components/Button/Button.js +88 -0
  9. package/dist/components/Button/Button.types.d.ts +9 -3
  10. package/dist/components/Button/Button.types.d.ts.map +1 -1
  11. package/dist/components/Button/ButtonRefreshIcon.js +35 -0
  12. package/dist/components/Calendar/Calendar.d.ts +1 -5
  13. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  14. package/dist/components/Calendar/Calendar.js +355 -0
  15. package/dist/components/Calendar/CalendarSelect.js +149 -0
  16. package/dist/components/Calendar/MaskedDateInput.d.ts.map +1 -1
  17. package/dist/components/Calendar/MaskedDateInput.js +191 -0
  18. package/dist/components/Calendar/dateMask.d.ts +0 -1
  19. package/dist/components/Calendar/dateMask.d.ts.map +1 -1
  20. package/dist/components/Card/Card.d.ts +1 -1
  21. package/dist/components/Card/Card.d.ts.map +1 -1
  22. package/dist/components/Card/Card.js +75 -0
  23. package/dist/components/Checkbox/Checkbox.js +30 -0
  24. package/dist/components/ColumnSettings/ColumnSettings.js +216 -0
  25. package/dist/components/ConfirmModal/ConfirmModal.d.ts +1 -0
  26. package/dist/components/ConfirmModal/ConfirmModal.d.ts.map +1 -1
  27. package/dist/components/ConfirmModal/ConfirmModal.js +40 -0
  28. package/dist/components/ErrorScreen/ErrorScreen.d.ts +1 -1
  29. package/dist/components/ErrorScreen/ErrorScreen.d.ts.map +1 -1
  30. package/dist/components/ErrorScreen/ErrorScreen.js +221 -0
  31. package/dist/components/ErrorScreen/ErrorScreenIllustration.js +57 -0
  32. package/dist/components/FormField/FormField.d.ts +1 -1
  33. package/dist/components/FormField/FormField.d.ts.map +1 -1
  34. package/dist/components/FormField/FormField.js +40 -0
  35. package/dist/components/Icon/Icon.d.ts +1 -1
  36. package/dist/components/Icon/Icon.d.ts.map +1 -1
  37. package/dist/components/Icon/Icon.js +32 -0
  38. package/dist/components/Icon/Icon.types.d.ts +3 -1
  39. package/dist/components/Icon/Icon.types.d.ts.map +1 -1
  40. package/dist/components/InputExpandTextarea/InputExpandTextarea.d.ts +1 -1
  41. package/dist/components/InputExpandTextarea/InputExpandTextarea.d.ts.map +1 -1
  42. package/dist/components/InputExpandTextarea/InputExpandTextarea.js +144 -0
  43. package/dist/components/InputFile/InputFile.d.ts +1 -1
  44. package/dist/components/InputFile/InputFile.d.ts.map +1 -1
  45. package/dist/components/InputFile/InputFile.js +203 -0
  46. package/dist/components/InputFile/InputFile.types.d.ts +0 -6
  47. package/dist/components/InputFile/InputFile.types.d.ts.map +1 -1
  48. package/dist/components/InputNumber/InputNumber.d.ts +1 -1
  49. package/dist/components/InputNumber/InputNumber.d.ts.map +1 -1
  50. package/dist/components/InputNumber/InputNumber.js +220 -0
  51. package/dist/components/InputText/InputAffix.d.ts +1 -1
  52. package/dist/components/InputText/InputAffix.js +109 -0
  53. package/dist/components/InputText/InputText.d.ts +2 -1
  54. package/dist/components/InputText/InputText.d.ts.map +1 -1
  55. package/dist/components/InputText/InputText.js +137 -0
  56. package/dist/components/InputTime/InputTime.d.ts +1 -1
  57. package/dist/components/InputTime/InputTime.d.ts.map +1 -1
  58. package/dist/components/InputTime/InputTime.js +335 -0
  59. package/dist/components/InputTime/InputTimeDropdown.js +31 -0
  60. package/dist/components/InputTime/inputTimeKeyDown.js +63 -0
  61. package/dist/components/InputTime/useInputTimeWheel.js +45 -0
  62. package/dist/components/Menu/Menu.d.ts +1 -1
  63. package/dist/components/Menu/Menu.d.ts.map +1 -1
  64. package/dist/components/Menu/Menu.js +113 -0
  65. package/dist/components/Message/Message.js +29 -0
  66. package/dist/components/Modal/Modal.d.ts +1 -0
  67. package/dist/components/Modal/Modal.d.ts.map +1 -1
  68. package/dist/components/Modal/Modal.js +102 -0
  69. package/dist/components/Modal/editorFocus.js +15 -0
  70. package/dist/components/Modal/useModalFocus.js +112 -0
  71. package/dist/components/Modal/useModalTitleClearance.js +48 -0
  72. package/dist/components/Multiselect/Multiselect.d.ts +1 -0
  73. package/dist/components/Multiselect/Multiselect.d.ts.map +1 -1
  74. package/dist/components/Multiselect/Multiselect.js +408 -0
  75. package/dist/components/Notification/Notification.d.ts +1 -1
  76. package/dist/components/Notification/Notification.d.ts.map +1 -1
  77. package/dist/components/Notification/Notification.js +156 -0
  78. package/dist/components/OfflineBanner/OfflineBanner.d.ts +1 -1
  79. package/dist/components/OfflineBanner/OfflineBanner.d.ts.map +1 -1
  80. package/dist/components/OfflineBanner/OfflineBanner.js +40 -0
  81. package/dist/components/Pagination/Pagination.d.ts +1 -1
  82. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  83. package/dist/components/Pagination/Pagination.js +126 -0
  84. package/dist/components/Preloader/Preloader.d.ts.map +1 -1
  85. package/dist/components/Preloader/Preloader.js +60 -0
  86. package/dist/components/Radio/Radio.js +34 -0
  87. package/dist/components/Search/Search.d.ts +1 -1
  88. package/dist/components/Search/Search.d.ts.map +1 -1
  89. package/dist/components/Search/Search.js +47 -0
  90. package/dist/components/SearchSelect/SearchSelect.js +295 -0
  91. package/dist/components/SearchSelect/SearchSelectOption.js +41 -0
  92. package/dist/components/SearchSelect/useFlippedPlacement.js +25 -0
  93. package/dist/components/Select/MobileOptionSheet.d.ts +1 -1
  94. package/dist/components/Select/MobileOptionSheet.d.ts.map +1 -1
  95. package/dist/components/Select/MobileOptionSheet.js +116 -0
  96. package/dist/components/Select/Select.js +319 -0
  97. package/dist/components/Skeleton/Skeleton.js +38 -0
  98. package/dist/components/Skeleton/Skeleton.types.d.ts +4 -2
  99. package/dist/components/Skeleton/Skeleton.types.d.ts.map +1 -1
  100. package/dist/components/Status/Status.js +43 -0
  101. package/dist/components/StickyActionBar/StickyActionBar.d.ts +1 -1
  102. package/dist/components/StickyActionBar/StickyActionBar.d.ts.map +1 -1
  103. package/dist/components/StickyActionBar/StickyActionBar.js +73 -0
  104. package/dist/components/Switch/Switch.d.ts +1 -1
  105. package/dist/components/Switch/Switch.d.ts.map +1 -1
  106. package/dist/components/Switch/Switch.js +29 -0
  107. package/dist/components/Table/Filter/DefaultInput.d.ts.map +1 -1
  108. package/dist/components/Table/Filter/DefaultInput.js +22 -0
  109. package/dist/components/Table/Filter/Filter.js +233 -0
  110. package/dist/components/Table/Filter/Filter.types.d.ts +17 -13
  111. package/dist/components/Table/Filter/Filter.types.d.ts.map +1 -1
  112. package/dist/components/Table/Filter/FilterBooleanBox.d.ts +1 -0
  113. package/dist/components/Table/Filter/FilterBooleanBox.d.ts.map +1 -1
  114. package/dist/components/Table/Filter/FilterBooleanBox.js +40 -0
  115. package/dist/components/Table/Filter/FilterBoxShell.js +89 -0
  116. package/dist/components/Table/Filter/FilterConditionSelect.js +14 -0
  117. package/dist/components/Table/Filter/FilterDateBox.d.ts +1 -0
  118. package/dist/components/Table/Filter/FilterDateBox.d.ts.map +1 -1
  119. package/dist/components/Table/Filter/FilterDateBox.js +173 -0
  120. package/dist/components/Table/Filter/FilterPanel.js +25 -0
  121. package/dist/components/Table/Filter/FilterSortIndicator.js +24 -0
  122. package/dist/components/Table/Filter/FilterStringBox.js +115 -0
  123. package/dist/components/Table/Filter/Functions.d.ts +0 -6
  124. package/dist/components/Table/Filter/Functions.d.ts.map +1 -1
  125. package/dist/components/Table/Filter/Functions.js +76 -0
  126. package/dist/components/Table/Filter/SelectFilter.js +114 -0
  127. package/dist/components/Table/Filter/SelectOptions.js +21 -0
  128. package/dist/components/Table/Filter/TableFilterOptions.d.ts +1 -0
  129. package/dist/components/Table/Filter/TableFilterOptions.d.ts.map +1 -1
  130. package/dist/components/Table/Filter/TableFilterOptions.js +268 -0
  131. package/dist/components/Table/Filter/TableFilterSortButton.js +17 -0
  132. package/dist/components/Table/Filter/filterBoxHelpers.js +2 -0
  133. package/dist/components/Table/Filter/filterExpression.js +48 -0
  134. package/dist/components/Table/Filter/filterLoading.js +2 -0
  135. package/dist/components/Table/Filter/useFilterDates.js +33 -0
  136. package/dist/components/Table/Filter/useFilterOptionsPreload.js +22 -0
  137. package/dist/components/Table/Filter/useLocalFilterSearch.js +32 -0
  138. package/dist/components/Table/Filter/usePagedFilterOptions.js +71 -0
  139. package/dist/components/Table/Filter/useServerFilterOptions.js +35 -0
  140. package/dist/components/Table/Filter/useVirtualOptionWindow.js +80 -0
  141. package/dist/components/Table/Functions.js +54 -0
  142. package/dist/components/Table/Skeleton/TableSkeleton.js +28 -0
  143. package/dist/components/Table/Skeleton/createSkeletonColumns.js +9 -0
  144. package/dist/components/Table/Table.d.ts +1 -0
  145. package/dist/components/Table/Table.d.ts.map +1 -1
  146. package/dist/components/Table/Table.dataPipeline.d.ts.map +1 -1
  147. package/dist/components/Table/Table.dataPipeline.js +75 -0
  148. package/dist/components/Table/Table.helpers.d.ts +2 -2
  149. package/dist/components/Table/Table.helpers.d.ts.map +1 -1
  150. package/dist/components/Table/Table.helpers.js +72 -0
  151. package/dist/components/Table/Table.js +419 -0
  152. package/dist/components/Table/Table.types.d.ts +6 -2
  153. package/dist/components/Table/Table.types.d.ts.map +1 -1
  154. package/dist/components/Table/TableHead.d.ts.map +1 -1
  155. package/dist/components/Table/TableHead.js +189 -0
  156. package/dist/components/Table/TableMobileCard.js +215 -0
  157. package/dist/components/Table/TableMobileFilters.js +56 -0
  158. package/dist/components/Table/TableMobileView.js +316 -0
  159. package/dist/components/Table/TableRow.js +136 -0
  160. package/dist/components/Table/useColumnResize.d.ts +3 -2
  161. package/dist/components/Table/useColumnResize.d.ts.map +1 -1
  162. package/dist/components/Table/useColumnResize.js +44 -0
  163. package/dist/components/Table/useDelayedSkeleton.d.ts +0 -2
  164. package/dist/components/Table/useDelayedSkeleton.d.ts.map +1 -1
  165. package/dist/components/Table/useDelayedSkeleton.js +32 -0
  166. package/dist/components/Table/useMobileFilterColumns.d.ts +1 -1
  167. package/dist/components/Table/useMobileFilterColumns.d.ts.map +1 -1
  168. package/dist/components/Table/useMobileFilterColumns.js +52 -0
  169. package/dist/components/Table/useStableColumnWidths.js +22 -0
  170. package/dist/components/Table/useTableColumnPinning.d.ts +2 -57
  171. package/dist/components/Table/useTableColumnPinning.d.ts.map +1 -1
  172. package/dist/components/Table/useTableColumnPinning.js +52 -0
  173. package/dist/components/Table/useTableFilters.js +39 -0
  174. package/dist/components/Table/useTableSortState.js +38 -0
  175. package/dist/components/Table/useTableVirtualization.js +145 -0
  176. package/dist/components/Tabs/Tabs.d.ts +1 -0
  177. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  178. package/dist/components/Tabs/Tabs.js +141 -0
  179. package/dist/components/Tabs/tabsIndicator.d.ts +14 -0
  180. package/dist/components/Tabs/tabsIndicator.d.ts.map +1 -0
  181. package/dist/components/Tabs/useTabsIndicator.d.ts +6 -0
  182. package/dist/components/Tabs/useTabsIndicator.d.ts.map +1 -0
  183. package/dist/components/Tabs/useTabsIndicator.js +14 -0
  184. package/dist/components/Tabs/useTabsOverflow.js +49 -0
  185. package/dist/components/Textarea/Textarea.js +102 -0
  186. package/dist/components/Tooltip/Tooltip.d.ts +1 -0
  187. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  188. package/dist/components/Tooltip/Tooltip.js +218 -0
  189. package/dist/components/TreeView/TreeView.d.ts +1 -0
  190. package/dist/components/TreeView/TreeView.d.ts.map +1 -1
  191. package/dist/components/TreeView/TreeView.js +323 -0
  192. package/dist/components/TreeView/TreeView.types.d.ts +0 -4
  193. package/dist/components/TreeView/TreeView.types.d.ts.map +1 -1
  194. package/dist/dev/index.js +2 -2
  195. package/dist/dev/types/vanilla/src/dev/shown.d.ts +0 -2
  196. package/dist/dev/types/vanilla/src/dev/store.d.ts +0 -4
  197. package/dist/fonts/icons/urfu-ui-icon-font.eot +0 -0
  198. package/dist/fonts/icons/urfu-ui-icon-font.svg +4 -1
  199. package/dist/fonts/icons/urfu-ui-icon-font.ttf +0 -0
  200. package/dist/fonts/icons/urfu-ui-icon-font.woff +0 -0
  201. package/dist/fonts/icons/urfu-ui-icon-font.woff2 +0 -0
  202. package/dist/hooks/useActiveOptionScroll.js +20 -0
  203. package/dist/hooks/useAnchoredPosition.js +37 -0
  204. package/dist/hooks/useAutoId.d.ts +0 -1
  205. package/dist/hooks/useAutoId.d.ts.map +1 -1
  206. package/dist/hooks/useAutoId.js +7 -0
  207. package/dist/hooks/useAutoPortal.js +11 -0
  208. package/dist/hooks/useDebounce.js +11 -0
  209. package/dist/hooks/useDismiss.d.ts +1 -1
  210. package/dist/hooks/useDismiss.d.ts.map +1 -1
  211. package/dist/hooks/useDismiss.js +20 -0
  212. package/dist/hooks/useInputOverflow.d.ts +9 -0
  213. package/dist/hooks/useInputOverflow.d.ts.map +1 -0
  214. package/dist/hooks/useInputOverflow.js +16 -0
  215. package/dist/hooks/useMediaQuery.js +21 -0
  216. package/dist/hooks/useMobilePicker.js +7 -0
  217. package/dist/hooks/useMountTransition.d.ts +1 -1
  218. package/dist/hooks/useMountTransition.d.ts.map +1 -1
  219. package/dist/hooks/useMountTransition.js +21 -0
  220. package/dist/hooks/useOnlineStatus.js +11 -0
  221. package/dist/hooks/useOptionKeyboardNavigation.js +63 -0
  222. package/dist/hooks/usePagination.js +31 -0
  223. package/dist/hooks/useSelectEngine.d.ts +3 -3
  224. package/dist/hooks/useSelectEngine.d.ts.map +1 -1
  225. package/dist/hooks/useSelectEngine.js +96 -0
  226. package/dist/hooks/useTableSort.js +13 -0
  227. package/dist/index.d.ts +16 -0
  228. package/dist/index.d.ts.map +1 -1
  229. package/dist/responsive/uiKitResponsive.js +44 -0
  230. package/dist/shared/fieldAccessibility.js +8 -0
  231. package/dist/shared/iconNames.d.ts +5 -0
  232. package/dist/shared/iconNames.d.ts.map +1 -0
  233. package/dist/shared/inputOverflow.d.ts +10 -0
  234. package/dist/shared/inputOverflow.d.ts.map +1 -0
  235. package/dist/shared/kitCopy.js +9 -0
  236. package/dist/shared/optionStateColors.js +5 -0
  237. package/dist/shared/optionValue.d.ts +1 -1
  238. package/dist/shared/optionValue.d.ts.map +1 -1
  239. package/dist/shared/optionValue.js +11 -0
  240. package/dist/shared/popupTransition.js +11 -0
  241. package/dist/shared/size.d.ts +0 -1
  242. package/dist/shared/size.d.ts.map +1 -1
  243. package/dist/shared/size.js +4 -0
  244. package/dist/shared/sortRows.js +24 -0
  245. package/dist/shared/uiKitDefaults.js +25 -0
  246. package/dist/style-no-fonts.css +1 -1
  247. package/dist/style.css +1 -1
  248. package/dist/style.layer.css +8 -8
  249. package/dist/style.shell.css +15 -11
  250. package/dist/urfu-ui-kit-react.js +57 -17543
  251. package/dist/vanilla/core/BoundedOptionPageCache.js +41 -0
  252. package/dist/vanilla/core/dateMask.js +28 -0
  253. package/dist/vanilla/core/describeError.js +243 -0
  254. package/dist/vanilla/core/devLauncherOffset.js +20 -0
  255. package/dist/vanilla/core/distributeTabs.js +25 -0
  256. package/dist/vanilla/core/hasPreviousPage.js +6 -0
  257. package/dist/vanilla/core/inputMode.js +17 -0
  258. package/dist/vanilla/core/inputOverflow.js +34 -0
  259. package/dist/vanilla/core/kitRegistry.js +160 -0
  260. package/dist/vanilla/core/reconcileColumnOrder.js +5 -0
  261. package/dist/vanilla/core/sheetTitle.js +11 -0
  262. package/dist/vanilla/core/tabsIndicator.js +38 -0
  263. package/dist/vanilla/core/validation.js +21 -0
  264. package/dist/vendor/@floating-ui/core/dist/floating-ui.core.js +323 -0
  265. package/dist/vendor/@floating-ui/dom/dist/floating-ui.dom.js +383 -0
  266. package/dist/vendor/@floating-ui/react/dist/floating-ui.react.js +255 -0
  267. package/dist/vendor/@floating-ui/react-dom/dist/floating-ui.react-dom.js +183 -0
  268. package/dist/vendor/@floating-ui/utils/dist/floating-ui.utils.dom.js +110 -0
  269. package/dist/vendor/@floating-ui/utils/dist/floating-ui.utils.js +106 -0
  270. package/dist/vendor/clsx/dist/clsx.js +14 -0
  271. package/dist/vendor/date-fns/_lib/addLeadingZeros.js +5 -0
  272. package/dist/vendor/date-fns/_lib/defaultOptions.js +5 -0
  273. package/dist/vendor/date-fns/_lib/format/formatters.js +547 -0
  274. package/dist/vendor/date-fns/_lib/format/lightFormatters.js +56 -0
  275. package/dist/vendor/date-fns/_lib/format/longFormatters.js +47 -0
  276. package/dist/vendor/date-fns/_lib/getTimezoneOffsetInMilliseconds.js +16 -0
  277. package/dist/vendor/date-fns/_lib/protectedTokens.js +16 -0
  278. package/dist/vendor/date-fns/addDays.js +7 -0
  279. package/dist/vendor/date-fns/addHours.js +6 -0
  280. package/dist/vendor/date-fns/addMilliseconds.js +7 -0
  281. package/dist/vendor/date-fns/addMinutes.js +6 -0
  282. package/dist/vendor/date-fns/addMonths.js +17 -0
  283. package/dist/vendor/date-fns/addQuarters.js +6 -0
  284. package/dist/vendor/date-fns/addSeconds.js +5 -0
  285. package/dist/vendor/date-fns/addWeeks.js +6 -0
  286. package/dist/vendor/date-fns/addYears.js +5 -0
  287. package/dist/vendor/date-fns/constants.js +2 -0
  288. package/dist/vendor/date-fns/constructFrom.js +4 -0
  289. package/dist/vendor/date-fns/differenceInCalendarDays.js +8 -0
  290. package/dist/vendor/date-fns/differenceInCalendarMonths.js +6 -0
  291. package/dist/vendor/date-fns/differenceInCalendarQuarters.js +7 -0
  292. package/dist/vendor/date-fns/differenceInCalendarYears.js +6 -0
  293. package/dist/vendor/date-fns/differenceInDays.js +13 -0
  294. package/dist/vendor/date-fns/endOfDay.js +6 -0
  295. package/dist/vendor/date-fns/endOfMonth.js +6 -0
  296. package/dist/vendor/date-fns/endOfWeek.js +8 -0
  297. package/dist/vendor/date-fns/endOfYear.js +6 -0
  298. package/dist/vendor/date-fns/format.js +53 -0
  299. package/dist/vendor/date-fns/getDate.js +5 -0
  300. package/dist/vendor/date-fns/getDay.js +5 -0
  301. package/dist/vendor/date-fns/getDayOfYear.js +8 -0
  302. package/dist/vendor/date-fns/getDaysInMonth.js +7 -0
  303. package/dist/vendor/date-fns/getDefaultOptions.js +5 -0
  304. package/dist/vendor/date-fns/getHours.js +5 -0
  305. package/dist/vendor/date-fns/getISODay.js +6 -0
  306. package/dist/vendor/date-fns/getISOWeek.js +9 -0
  307. package/dist/vendor/date-fns/getISOWeekYear.js +12 -0
  308. package/dist/vendor/date-fns/getMinutes.js +5 -0
  309. package/dist/vendor/date-fns/getMonth.js +5 -0
  310. package/dist/vendor/date-fns/getQuarter.js +6 -0
  311. package/dist/vendor/date-fns/getSeconds.js +5 -0
  312. package/dist/vendor/date-fns/getTime.js +5 -0
  313. package/dist/vendor/date-fns/getWeek.js +9 -0
  314. package/dist/vendor/date-fns/getWeekYear.js +14 -0
  315. package/dist/vendor/date-fns/getYear.js +5 -0
  316. package/dist/vendor/date-fns/isAfter.js +6 -0
  317. package/dist/vendor/date-fns/isBefore.js +6 -0
  318. package/dist/vendor/date-fns/isDate.js +4 -0
  319. package/dist/vendor/date-fns/isEqual.js +6 -0
  320. package/dist/vendor/date-fns/isSameDay.js +6 -0
  321. package/dist/vendor/date-fns/isSameMonth.js +6 -0
  322. package/dist/vendor/date-fns/isSameQuarter.js +6 -0
  323. package/dist/vendor/date-fns/isSameWeek.js +6 -0
  324. package/dist/vendor/date-fns/isSameYear.js +6 -0
  325. package/dist/vendor/date-fns/isValid.js +9 -0
  326. package/dist/vendor/date-fns/isWithinInterval.js +9 -0
  327. package/dist/vendor/date-fns/locale/_lib/buildFormatLongFn.js +7 -0
  328. package/dist/vendor/date-fns/locale/_lib/buildLocalizeFn.js +16 -0
  329. package/dist/vendor/date-fns/locale/_lib/buildMatchFn.js +29 -0
  330. package/dist/vendor/date-fns/locale/_lib/buildMatchPatternFn.js +13 -0
  331. package/dist/vendor/date-fns/locale/en-US/_lib/formatDistance.js +68 -0
  332. package/dist/vendor/date-fns/locale/en-US/_lib/formatLong.js +31 -0
  333. package/dist/vendor/date-fns/locale/en-US/_lib/formatRelative.js +9 -0
  334. package/dist/vendor/date-fns/locale/en-US/_lib/localize.js +153 -0
  335. package/dist/vendor/date-fns/locale/en-US/_lib/match.js +108 -0
  336. package/dist/vendor/date-fns/locale/en-US.js +18 -0
  337. package/dist/vendor/date-fns/locale/ru/_lib/formatDistance.js +182 -0
  338. package/dist/vendor/date-fns/locale/ru/_lib/formatLong.js +28 -0
  339. package/dist/vendor/date-fns/locale/ru/_lib/formatRelative.js +62 -0
  340. package/dist/vendor/date-fns/locale/ru/_lib/localize.js +177 -0
  341. package/dist/vendor/date-fns/locale/ru/_lib/match.js +109 -0
  342. package/dist/vendor/date-fns/locale/ru.js +18 -0
  343. package/dist/vendor/date-fns/max.js +9 -0
  344. package/dist/vendor/date-fns/min.js +9 -0
  345. package/dist/vendor/date-fns/parse/_lib/Parser.js +20 -0
  346. package/dist/vendor/date-fns/parse/_lib/Setter.js +36 -0
  347. package/dist/vendor/date-fns/parse/_lib/constants.js +46 -0
  348. package/dist/vendor/date-fns/parse/_lib/parsers/AMPMMidnightParser.js +46 -0
  349. package/dist/vendor/date-fns/parse/_lib/parsers/AMPMParser.js +46 -0
  350. package/dist/vendor/date-fns/parse/_lib/parsers/DateParser.js +59 -0
  351. package/dist/vendor/date-fns/parse/_lib/parsers/DayOfYearParser.js +49 -0
  352. package/dist/vendor/date-fns/parse/_lib/parsers/DayParser.js +45 -0
  353. package/dist/vendor/date-fns/parse/_lib/parsers/DayPeriodParser.js +46 -0
  354. package/dist/vendor/date-fns/parse/_lib/parsers/EraParser.js +29 -0
  355. package/dist/vendor/date-fns/parse/_lib/parsers/ExtendedYearParser.js +19 -0
  356. package/dist/vendor/date-fns/parse/_lib/parsers/FractionOfSecondParser.js +20 -0
  357. package/dist/vendor/date-fns/parse/_lib/parsers/Hour0To11Parser.js +30 -0
  358. package/dist/vendor/date-fns/parse/_lib/parsers/Hour0to23Parser.js +30 -0
  359. package/dist/vendor/date-fns/parse/_lib/parsers/Hour1To24Parser.js +31 -0
  360. package/dist/vendor/date-fns/parse/_lib/parsers/Hour1to12Parser.js +31 -0
  361. package/dist/vendor/date-fns/parse/_lib/parsers/ISODayParser.js +101 -0
  362. package/dist/vendor/date-fns/parse/_lib/parsers/ISOTimezoneParser.js +45 -0
  363. package/dist/vendor/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js +45 -0
  364. package/dist/vendor/date-fns/parse/_lib/parsers/ISOWeekParser.js +47 -0
  365. package/dist/vendor/date-fns/parse/_lib/parsers/ISOWeekYearParser.js +38 -0
  366. package/dist/vendor/date-fns/parse/_lib/parsers/LocalDayParser.js +76 -0
  367. package/dist/vendor/date-fns/parse/_lib/parsers/LocalWeekParser.js +46 -0
  368. package/dist/vendor/date-fns/parse/_lib/parsers/LocalWeekYearParser.js +67 -0
  369. package/dist/vendor/date-fns/parse/_lib/parsers/MinuteParser.js +30 -0
  370. package/dist/vendor/date-fns/parse/_lib/parsers/MonthParser.js +73 -0
  371. package/dist/vendor/date-fns/parse/_lib/parsers/QuarterParser.js +71 -0
  372. package/dist/vendor/date-fns/parse/_lib/parsers/SecondParser.js +30 -0
  373. package/dist/vendor/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js +76 -0
  374. package/dist/vendor/date-fns/parse/_lib/parsers/StandAloneMonthParser.js +73 -0
  375. package/dist/vendor/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js +71 -0
  376. package/dist/vendor/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js +20 -0
  377. package/dist/vendor/date-fns/parse/_lib/parsers/TimestampSecondsParser.js +20 -0
  378. package/dist/vendor/date-fns/parse/_lib/parsers/YearParser.js +47 -0
  379. package/dist/vendor/date-fns/parse/_lib/parsers.js +65 -0
  380. package/dist/vendor/date-fns/parse/_lib/utils.js +90 -0
  381. package/dist/vendor/date-fns/parse.js +85 -0
  382. package/dist/vendor/date-fns/parseISO.js +119 -0
  383. package/dist/vendor/date-fns/set.js +8 -0
  384. package/dist/vendor/date-fns/setDay.js +9 -0
  385. package/dist/vendor/date-fns/setHours.js +6 -0
  386. package/dist/vendor/date-fns/setISODay.js +8 -0
  387. package/dist/vendor/date-fns/setISOWeek.js +7 -0
  388. package/dist/vendor/date-fns/setMinutes.js +6 -0
  389. package/dist/vendor/date-fns/setMonth.js +10 -0
  390. package/dist/vendor/date-fns/setQuarter.js +7 -0
  391. package/dist/vendor/date-fns/setSeconds.js +6 -0
  392. package/dist/vendor/date-fns/setWeek.js +7 -0
  393. package/dist/vendor/date-fns/setYear.js +7 -0
  394. package/dist/vendor/date-fns/startOfDay.js +6 -0
  395. package/dist/vendor/date-fns/startOfISOWeek.js +5 -0
  396. package/dist/vendor/date-fns/startOfISOWeekYear.js +8 -0
  397. package/dist/vendor/date-fns/startOfMonth.js +6 -0
  398. package/dist/vendor/date-fns/startOfQuarter.js +6 -0
  399. package/dist/vendor/date-fns/startOfWeek.js +8 -0
  400. package/dist/vendor/date-fns/startOfWeekYear.js +10 -0
  401. package/dist/vendor/date-fns/startOfYear.js +7 -0
  402. package/dist/vendor/date-fns/subDays.js +5 -0
  403. package/dist/vendor/date-fns/subMonths.js +5 -0
  404. package/dist/vendor/date-fns/subQuarters.js +5 -0
  405. package/dist/vendor/date-fns/subWeeks.js +5 -0
  406. package/dist/vendor/date-fns/subYears.js +5 -0
  407. package/dist/vendor/date-fns/toDate.js +5 -0
  408. package/dist/vendor/date-fns/transpose.js +15 -0
  409. package/dist/vendor/react-datepicker/dist/es/index.js +2696 -0
  410. package/package.json +37 -35
  411. package/dist/hooks/useOutsideAlerter.d.ts +0 -3
  412. package/dist/hooks/useOutsideAlerter.d.ts.map +0 -1
@@ -0,0 +1,41 @@
1
+ var r = Object.defineProperty;
2
+ var h = (t, e, s) => e in t ? r(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s;
3
+ var a = (t, e, s) => h(t, typeof e != "symbol" ? e + "" : e, s);
4
+ class n {
5
+ constructor(e) {
6
+ a(this, "capacity");
7
+ a(this, "pages", /* @__PURE__ */ new Map());
8
+ if (this.capacity = e, !Number.isInteger(e) || e < 1) throw new RangeError("Page cache capacity must be a positive integer");
9
+ }
10
+ get size() {
11
+ return this.pages.size;
12
+ }
13
+ get(e) {
14
+ const s = this.pages.get(e);
15
+ return s !== void 0 && (this.pages.delete(e), this.pages.set(e, s)), s;
16
+ }
17
+ set(e, s) {
18
+ for (this.pages.delete(e), this.pages.set(e, s); this.pages.size > this.capacity; ) {
19
+ const i = this.pages.keys().next().value;
20
+ i !== void 0 && this.pages.delete(i);
21
+ }
22
+ }
23
+ /** Возврат по previousCursor добавляет порцию слева и вытесняет правый край. */
24
+ setFirst(e, s) {
25
+ this.pages.delete(e);
26
+ const i = [...this.pages.entries()].slice(0, this.capacity - 1);
27
+ this.pages.clear(), this.pages.set(e, s), i.forEach(([g, p]) => this.pages.set(g, p));
28
+ }
29
+ /** Чтение без изменения порядка вытеснения: для расчёта в рендере. */
30
+ peek(e) {
31
+ return this.pages.get(e);
32
+ }
33
+ clear() {
34
+ this.pages.clear();
35
+ }
36
+ /** Для диагностики возвращаются только ссылки на ограниченное окно страниц. */
37
+ entries() {
38
+ return [...this.pages.entries()];
39
+ }
40
+ }
41
+ export { n as BoundedOptionPageCache$u };
@@ -0,0 +1,28 @@
1
+ const h = (t) => {
2
+ const n = /^(\d{2})\.(\d{2})\.(\d{4})$/.exec(t);
3
+ if (!n) return null;
4
+ const [, r, e, c] = n.map(Number);
5
+ return e < 1 || e > 12 || r < 1 || r > 31 ? null : new Date(c, e - 1, r, 12, 0, 0, 0);
6
+ }, p = (t) => t === "day" ? [0, 2] : t === "month" ? [3, 5] : [6, 10], f = (t) => t <= 2 ? "day" : t <= 5 ? "month" : "year", S = () => {
7
+ const t = /* @__PURE__ */ new Date(), n = String(t.getDate()).padStart(2, "0"), r = String(t.getMonth() + 1).padStart(2, "0"), e = String(t.getFullYear());
8
+ return `${n}.${r}.${e}`;
9
+ }, l = (t, n) => new Date(t, n, 0).getDate(), u = (t, n, r) => {
10
+ const e = r - n + 1;
11
+ return ((t - n) % e + e) % e + n;
12
+ }, y = (t, n, r) => {
13
+ const e = /^\d{2}\.\d{2}\.\d{4}$/.test(t) ? t : S(), [c, o, g] = e.split(".");
14
+ let a = parseInt(c, 10), s = parseInt(o, 10), i = parseInt(g, 10);
15
+ return n === "day" ? a = u(a + r, 1, l(i, s)) : n === "month" ? (s = u(s + r, 1, 12), a = Math.min(l(i, s), a)) : (i = Math.max(1, i + r), a = Math.min(l(i, s), a)), `${String(a).padStart(2, "0")}.${String(s).padStart(2, "0")}.${String(i).padStart(4, "0")}`;
16
+ }, d = (t, n) => {
17
+ if (t.length === 0) return "";
18
+ if (t.length === 1) {
19
+ const e = Math.floor(n / 10);
20
+ return Number(t) > e ? `0${t}` : t;
21
+ }
22
+ let r = Number(t);
23
+ return r < 1 && (r = 1), r > n && (r = n), String(r).padStart(2, "0");
24
+ }, m = (t) => {
25
+ const n = t.replace(/\D/g, "").slice(0, 8), r = d(n.slice(0, 2), 31), e = d(n.slice(2, 4), 12), c = n.slice(4, 8), o = [];
26
+ return n.length >= 1 && o.push(r), n.length > 2 && o.push(e), n.length > 4 && o.push(c), o.filter(Boolean).join(".");
27
+ };
28
+ export { f as getSegmentAtCaret$u, p as getSegmentRange$u, y as incrementDateSegment$u, m as maskDateValue$u, h as parseDateString$u };
@@ -0,0 +1,243 @@
1
+ const A = {
2
+ auth: { title: "Требуется вход", text: "Сессия закончилась. Войдите снова — данные на странице сохранятся.", action: "login", actionLabel: "Войти снова" },
3
+ forbidden: { title: "Нет доступа", text: "У вашей роли нет прав на это действие или раздел. Если доступ нужен для работы, обратитесь к руководителю подразделения.", action: "home", actionLabel: "На главную" },
4
+ notFound: { title: "Страница не найдена", text: "Возможно, её удалили или в адресе ошибка.", action: "home", actionLabel: "На главную" },
5
+ invalid: { title: "Запрос не принят", text: "Проверьте введённые данные или условия и попробуйте снова.", action: "fix", actionLabel: "Повторить" },
6
+ conflict: { title: "Данные уже изменились", text: "Кто-то изменил эти данные, пока вы работали. Обновите страницу и проверьте изменения.", action: "reload", actionLabel: "Обновить страницу" },
7
+ tooLarge: { title: "Слишком большой объём", text: "Уменьшите файл или выборку и попробуйте снова.", action: "fix", actionLabel: "Повторить" },
8
+ rateLimit: { title: "Слишком много запросов", text: "Подождите минуту и попробуйте снова.", action: "wait", actionLabel: "Повторить" },
9
+ timeout: { title: "Сервер не ответил вовремя", text: "Попробуйте ещё раз. Если ошибка повторится, обратитесь в техническую поддержку.", action: "retry", actionLabel: "Повторить" },
10
+ server: { title: "Сервис временно недоступен", text: "Попробуйте ещё раз через несколько минут. Если ошибка повторится, обратитесь в техническую поддержку.", action: "retry", actionLabel: "Повторить" },
11
+ network: { title: "Нет связи с сервером", text: "Проверьте подключение к интернету и попробуйте ещё раз.", action: "retry", actionLabel: "Повторить" },
12
+ parsing: { title: "Сервер вернул неожиданный ответ", text: "Попробуйте ещё раз. Если ошибка повторится, обратитесь в техническую поддержку.", action: "retry", actionLabel: "Повторить" },
13
+ render: { title: "Что-то пошло не так", text: "Не удалось показать страницу. Обновите её — если ошибка повторится, обратитесь в техническую поддержку.", action: "reload", actionLabel: "Обновить страницу" }
14
+ };
15
+ let m = { ...A };
16
+ function K(t) {
17
+ const n = m;
18
+ m = { ...m };
19
+ for (const [e, o] of Object.entries(t))
20
+ m[e] = { ...m[e], ...o };
21
+ return () => {
22
+ m = n;
23
+ };
24
+ }
25
+ const S = /failed to fetch|network\s?error|network request failed|load failed|connection appears to be offline/i;
26
+ function b(t) {
27
+ return t === 401 ? "auth" : t === 403 ? "forbidden" : t === 404 || t === 410 ? "notFound" : t === 400 || t === 422 ? "invalid" : t === 409 || t === 412 ? "conflict" : t === 413 ? "tooLarge" : t === 429 ? "rateLimit" : t === 408 || t === 504 ? "timeout" : "server";
28
+ }
29
+ const f = (t) => typeof t == "object" && t !== null;
30
+ function R(t) {
31
+ const n = t, e = f(n.response) ? n.response : void 0;
32
+ return [n.status, n.statusCode, e == null ? void 0 : e.status].find((i) => typeof i == "number");
33
+ }
34
+ const h = (t) => [t.message, t.error].find((n) => typeof n == "string");
35
+ function F(t) {
36
+ const n = typeof t.name == "string" ? t.name : "", e = typeof t.code == "string" ? t.code : "", o = h(t) ?? "";
37
+ if (n === "AbortError" || n === "CanceledError" || e === "ERR_CANCELED" || /^AbortError\b/.test(o)) return "aborted";
38
+ if (n === "TimeoutError" || e === "ECONNABORTED" || e === "ETIMEDOUT" || /timeout of \d+ms exceeded/i.test(o)) return "timeout";
39
+ if (e === "ERR_NETWORK" || t.status === "FETCH_ERROR" || S.test(o)) return "network";
40
+ }
41
+ function I(t) {
42
+ if (typeof t == "string") return t.trim() || void 0;
43
+ if (f(t))
44
+ for (const n of ["message", "detail", "title", "error_description", "error"]) {
45
+ const e = t[n];
46
+ if (typeof e == "string" && e.trim()) return e.trim();
47
+ if (Array.isArray(e) && e.every((o) => typeof o == "string") && e.length) return e.join("; ");
48
+ }
49
+ }
50
+ function j(t) {
51
+ if (f(t))
52
+ for (const n of ["requestId", "request_id", "traceId", "trace_id", "correlationId"]) {
53
+ const e = t[n];
54
+ if (typeof e == "string" && e) return e;
55
+ }
56
+ }
57
+ function T(t) {
58
+ return !t || t.length > 300 || /\n\s+at |<\/?[a-z][\s\S]*>|Exception|Error:|ОШИБКА:|SQLSTATE|^[A-Z_]+$/.test(t) ? !1 : /[А-Яа-яЁё]/.test(t);
59
+ }
60
+ function w(t) {
61
+ if (typeof t == "number") return { group: b(t), code: t };
62
+ if (typeof Response < "u" && t instanceof Response) return { group: b(t.status), code: t.status };
63
+ if (!f(t)) return { group: "server", code: null };
64
+ if (R(t) === void 0) {
65
+ const i = typeof t.status == "string" ? t.status : void 0;
66
+ if (i === "TIMEOUT_ERROR") return { group: "timeout", code: null, status: i, message: h(t) };
67
+ const r = F(t);
68
+ if (r) return { group: r, code: null, status: i, message: h(t) };
69
+ if (t instanceof Error && i === void 0) return { group: "render", code: null, message: t.message };
70
+ }
71
+ const n = f(t.response) ? t.response : void 0, e = R(t) ?? t.status, o = "data" in t ? t.data : n == null ? void 0 : n.data;
72
+ if (typeof e == "number") return { group: b(e), code: e, body: o, message: I(o) };
73
+ if (e === "PARSING_ERROR") {
74
+ const i = typeof t.originalStatus == "number" ? t.originalStatus : null, r = i !== null && i >= 400 ? i : null;
75
+ return { group: r ? b(r) : "parsing", code: r, status: e, body: o, message: typeof t.error == "string" ? t.error : void 0 };
76
+ }
77
+ return { group: "server", code: null, status: typeof e == "string" ? e : void 0, message: h(t) };
78
+ }
79
+ function N(t) {
80
+ return t === "forbidden" || t === "auth" ? "forbidden" : t === "notFound" ? "notFound" : "serverError";
81
+ }
82
+ function $(t, n = {}) {
83
+ const e = w(t);
84
+ let o = e.group;
85
+ o === "notFound" && n.notFoundIsPage === !1 && (o = "server");
86
+ const i = {
87
+ code: e.code,
88
+ status: e.status,
89
+ method: n.method,
90
+ url: n.url,
91
+ serverMessage: e.message,
92
+ requestId: j(e.body),
93
+ time: (/* @__PURE__ */ new Date()).toISOString()
94
+ };
95
+ if (o === "aborted")
96
+ return { group: o, code: null, variant: "serverError", title: "", text: "", action: "none", actionLabel: "", message: "", details: i };
97
+ const r = m[o], a = n.operation ? `Не удалось ${n.operation}` : n.subject ? `Не удалось загрузить ${n.subject}` : void 0, l = (a && (o === "server" || o === "parsing") ? a : void 0) ?? r.title, g = T(e.message) ? e.message : void 0, v = a && (o === "network" || o === "timeout") ? `${a}. ${r.text}` : void 0, y = g ?? v ?? r.text, E = g ? `${l}. ${g}` : l;
98
+ return { group: o, code: e.code, variant: N(o), title: l, text: y, action: r.action, actionLabel: r.actionLabel, message: E, details: i };
99
+ }
100
+ const k = ["field", "property", "path", "name", "key"], P = ["message", "msg", "detail", "error"];
101
+ function _(t) {
102
+ if (typeof t == "string") return t.trim() || void 0;
103
+ if (Array.isArray(t)) {
104
+ const n = t.filter((e) => typeof e == "string" && !!e.trim());
105
+ return n.length ? n.join("; ") : void 0;
106
+ }
107
+ }
108
+ function C(t) {
109
+ for (const n of k) {
110
+ const e = t[n];
111
+ if (typeof e == "string" && e) return e;
112
+ if (Array.isArray(e) && e.length && e.every((o) => typeof o == "string" || typeof o == "number")) return e.join(".");
113
+ }
114
+ }
115
+ function B(t) {
116
+ for (const n of P) {
117
+ const e = _(t[n]);
118
+ if (e) return e;
119
+ }
120
+ return f(t.constraints) ? _(Object.values(t.constraints)) : void 0;
121
+ }
122
+ function X(t, n = {}) {
123
+ const { requiredText: e = "Заполните обязательное поле", ...o } = n, i = w(t), r = i.group === "invalid" && f(i.body) ? i.body : void 0, a = /* @__PURE__ */ new Map(), p = [], l = (s, d) => {
124
+ const u = a.get(s);
125
+ a.set(s, u && u !== d ? `${u}; ${d}` : d);
126
+ };
127
+ let g = !1;
128
+ if (r && Array.isArray(r.errors)) {
129
+ g = !0;
130
+ for (const s of r.errors) {
131
+ if (typeof s == "string") {
132
+ s.trim() && p.push(s.trim());
133
+ continue;
134
+ }
135
+ if (!f(s)) continue;
136
+ const d = C(s), u = B(s);
137
+ d ? l(d, u ?? e) : u && p.push(u);
138
+ }
139
+ } else if (r && f(r.errors)) {
140
+ g = !0;
141
+ for (const [s, d] of Object.entries(r.errors)) {
142
+ const u = _(d);
143
+ u && l(s, u);
144
+ }
145
+ }
146
+ if (r && Array.isArray(r.missingFields))
147
+ for (const s of r.missingFields)
148
+ typeof s == "string" && s && !a.has(s) && l(s, e);
149
+ const v = Object.fromEntries(a), y = [...a.keys()];
150
+ if (!y.length) return { fields: v, message: $(t, o).message };
151
+ if (!g)
152
+ return { fields: v, firstField: y[0], message: $(t, o).message };
153
+ const E = p.filter(T), O = E.length ? E.join("; ") : p.length ? $(t, o).title : "";
154
+ return { fields: v, firstField: y[0], message: O };
155
+ }
156
+ const D = "support@urfu.ru", Y = "Написать в техподдержку";
157
+ let c = {};
158
+ function H(t) {
159
+ const n = c;
160
+ return c = { ...c, ...t }, () => {
161
+ c = n;
162
+ };
163
+ }
164
+ function Q() {
165
+ return c;
166
+ }
167
+ const x = "__qiankun_microapp_wrapper_for_";
168
+ function L() {
169
+ if (c.service) return c.service;
170
+ if (typeof document > "u") return;
171
+ const t = document.querySelector(`[id^="${x}"]`);
172
+ return t ? t.id.slice(x.length).replace(/_+$/, "").replace(/_/g, "-") : typeof location > "u" ? void 0 : location.host;
173
+ }
174
+ function M(t) {
175
+ const n = [
176
+ [/YaBrowser\/(\d+)/, "Яндекс Браузер"],
177
+ [/Edg\/(\d+)/, "Edge"],
178
+ [/OPR\/(\d+)/, "Opera"],
179
+ [/Firefox\/(\d+)/, "Firefox"],
180
+ [/Chrome\/(\d+)/, "Chrome"],
181
+ [/Version\/(\d+)[\d.]* .*Safari/, "Safari"]
182
+ ];
183
+ for (const [e, o] of n) {
184
+ const i = t.match(e);
185
+ if (i) return `${o} ${i[1]}`;
186
+ }
187
+ return t.slice(0, 120);
188
+ }
189
+ function U(t) {
190
+ if (/Windows NT 10/.test(t)) return "Windows 10 или 11";
191
+ if (/Windows NT 6\.3/.test(t)) return "Windows 8.1";
192
+ if (/Windows NT 6\.1/.test(t)) return "Windows 7";
193
+ const n = t.match(/Android ([\d.]+)/);
194
+ if (n) return `Android ${n[1]}`;
195
+ const e = t.match(/(?:iPhone|iPad).*OS ([\d_]+)/);
196
+ return e ? `iOS ${e[1].replace(/_/g, ".")}` : /Mac OS X/.test(t) ? "macOS" : /Linux/.test(t) ? "Linux" : "не определена";
197
+ }
198
+ function W(t) {
199
+ const n = new Date(t);
200
+ return Number.isNaN(n.getTime()) ? t : `${n.toLocaleString("ru-RU", {
201
+ timeZone: "Asia/Yekaterinburg",
202
+ day: "2-digit",
203
+ month: "2-digit",
204
+ year: "numeric",
205
+ hour: "2-digit",
206
+ minute: "2-digit",
207
+ second: "2-digit"
208
+ })} по Екатеринбургу (${t})`;
209
+ }
210
+ function q(t) {
211
+ const { details: n } = t, e = typeof window < "u", o = typeof navigator > "u" ? "" : navigator.userAgent, i = L(), r = e && !!window.__POWERED_BY_QIANKUN__;
212
+ return [
213
+ `Ошибка: ${t.title}`,
214
+ n.code !== null ? `Код: ${n.code}` : n.status ? `Статус: ${n.status}` : "Код: нет ответа сервера",
215
+ i ? `Сервис: ${[i, c.version].filter(Boolean).join(", ")}` : void 0,
216
+ e ? `Где открыт: ${r ? "в личном кабинете" : "отдельно, без личного кабинета"}` : void 0,
217
+ e ? `Страница: ${window.location.href}` : void 0,
218
+ n.method || n.url ? `Запрос: ${[n.method, n.url].filter(Boolean).join(" ")}` : void 0,
219
+ n.requestId ? `ID запроса: ${n.requestId}` : void 0,
220
+ n.serverMessage ? `Сообщение сервера: ${n.serverMessage}` : void 0,
221
+ `Время: ${W(n.time)}`,
222
+ o ? `Браузер: ${M(o)}` : void 0,
223
+ o ? `Система: ${U(o)}` : void 0,
224
+ e ? `Окно: ${window.innerWidth}×${window.innerHeight}, масштаб ${Math.round((window.devicePixelRatio || 1) * 100)}%` : void 0,
225
+ typeof navigator < "u" && navigator.onLine === !1 ? "Сеть: браузер без связи" : void 0,
226
+ c.user ? `Пользователь: ${c.user}` : void 0
227
+ ].filter(Boolean).join(`
228
+ `);
229
+ }
230
+ function G(t, n = D) {
231
+ const e = t.code !== null ? ` (${t.code})` : "", o = L(), i = `Ошибка в личном кабинете: ${o ? `${o} — ` : ""}${t.title}${e}`, r = [
232
+ "Здравствуйте!",
233
+ "",
234
+ "Что я делал(а), когда появилась ошибка:",
235
+ "",
236
+ "",
237
+ "Подробности для технической поддержки:",
238
+ q(t)
239
+ ].join(`\r
240
+ `);
241
+ return `mailto:${n}?subject=${encodeURIComponent(i)}&body=${encodeURIComponent(r)}`;
242
+ }
243
+ export { A as DEFAULT_ERROR_TEXTS$u, D as DEFAULT_SUPPORT_EMAIL$u, Y as DEFAULT_SUPPORT_LABEL$u, H as configureErrorReport$u, K as configureErrorTexts$u, $ as describeError$u, X as describeFieldErrors$u, q as formatErrorDetails$u, Q as getErrorReportConfig$u, T as isHumanMessage$u, G as supportMailto$u };
@@ -0,0 +1,20 @@
1
+ const o = "--u-dev-launcher-bottom";
2
+ const n = /* @__PURE__ */ new Map();
3
+ function r() {
4
+ if (typeof document > "u") return;
5
+ const t = document.documentElement;
6
+ if (n.size === 0) {
7
+ t.style.removeProperty(o);
8
+ return;
9
+ }
10
+ const e = `calc(${Math.round(Math.max(...n.values()))}px + 12px)`;
11
+ t.style.getPropertyValue(o) !== e && t.style.setProperty(o, e);
12
+ }
13
+ function u(t, e) {
14
+ e === null ? n.delete(t) : n.set(t, Math.max(0, e)), r();
15
+ }
16
+ const c = (t) => {
17
+ const e = t.getBoundingClientRect();
18
+ return e.width === 0 && e.height === 0 ? null : window.innerHeight - e.top;
19
+ };
20
+ export { c as occupiedFromBottom$u, u as setDevLauncherOffset$u };
@@ -0,0 +1,25 @@
1
+ const O = 0.4, A = (e, o, a, h, p, l, u) => {
2
+ const b = e.length + Number(u), f = e.reduce((t, s) => t + o[s], 0) + (u ? l : 0) + Math.max(0, b - 1) * p - h;
3
+ if (f <= 0.01) return 0;
4
+ const c = e.reduce((t, s) => t + (a[s] ?? 0), 0);
5
+ return c > 0 ? Math.min(1, (f + 0.5) / c) : 0;
6
+ }, I = (e, o, a, h, p, l, u = !1, b = []) => {
7
+ const r = (n) => n <= a + 0.01, f = (n) => o[n] - (u ? 0 : b[n] ?? 0), c = (n, m) => {
8
+ const g = u ? Math.max(0, ...n.map((i) => o[i])) * n.length : n.reduce((i, N) => i + f(N), 0), x = n.length + Number(m);
9
+ return g + (m ? p : 0) + Math.max(0, x - 1) * h;
10
+ };
11
+ if (a <= 0 || r(c(e, !1)))
12
+ return { visible: e, overflow: [] };
13
+ const t = [];
14
+ for (const n of e) {
15
+ if (!r(c([...t, n], !0))) break;
16
+ t.push(n);
17
+ }
18
+ const s = e.includes(l) ? l : e[0];
19
+ for (s !== void 0 && !t.includes(s) && (t.length && t.pop(), t.push(s)); t.length > 1 && !r(c(t, !0)); ) {
20
+ const n = t.map((m) => m !== s).lastIndexOf(!0);
21
+ t.splice(n, 1);
22
+ }
23
+ return { visible: t, overflow: e.filter((n) => !t.includes(n)) };
24
+ };
25
+ export { O as TAB_PADDING_MIN_RATIO$u, I as distributeTabs$u, A as tabsSqueeze$u };
@@ -0,0 +1,6 @@
1
+ function o() {
2
+ if (typeof window > "u") return !1;
3
+ const n = window.navigation;
4
+ return n && typeof n.canGoBack == "boolean" ? n.canGoBack : window.history.length > 1;
5
+ }
6
+ export { o as hasPreviousPage$u };
@@ -0,0 +1,17 @@
1
+ import { claimKitOnce$u as o } from "./kitRegistry.js";
2
+ const i = "data-input-mode";
3
+ let n = !1;
4
+ function u() {
5
+ if (n || typeof document > "u" || (n = !0, !o("input-mode"))) return;
6
+ const e = (t) => {
7
+ document.documentElement.setAttribute(i, t);
8
+ }, r = /* @__PURE__ */ new Set(["Tab", "ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight", "Home", "End", "Enter", " "]);
9
+ document.addEventListener(
10
+ "keydown",
11
+ (t) => {
12
+ r.has(t.key) && e("keyboard");
13
+ },
14
+ { capture: !0, passive: !0 }
15
+ ), document.addEventListener("pointerdown", () => e("pointer"), { capture: !0, passive: !0 }), e("pointer");
16
+ }
17
+ export { u as installInputModeTracking$u };
@@ -0,0 +1,34 @@
1
+ const c = "data-u-overflow-title";
2
+ function m(e) {
3
+ return e.value !== "" && e.scrollWidth > e.clientWidth;
4
+ }
5
+ function b(e) {
6
+ const t = e.getAttribute("title"), l = t !== null && e.getAttribute(c) === t;
7
+ !l && (e.removeAttribute(c), t !== null) || ((e.disabled || e.readOnly) && m(e) ? (e.setAttribute("title", e.value), e.setAttribute(c, e.value)) : l && (e.removeAttribute("title"), e.removeAttribute(c)));
8
+ }
9
+ function L(e) {
10
+ let t = !0, l = !1, a = 0, v = null, d;
11
+ const r = () => {
12
+ t && b(e);
13
+ }, i = () => {
14
+ clearTimeout(d), a = e.scrollLeft, v = e.value, e.scrollLeft = 0;
15
+ }, f = () => {
16
+ l = !0, setTimeout(() => {
17
+ l = !1;
18
+ });
19
+ }, u = () => {
20
+ l || (d = setTimeout(() => {
21
+ !t || e.ownerDocument.activeElement !== e || e.scrollLeft !== 0 || e.value !== v || (e.scrollLeft = a);
22
+ }));
23
+ };
24
+ e.addEventListener("mousedown", f), e.addEventListener("focus", u), e.addEventListener("blur", i), e.addEventListener("input", r);
25
+ const o = typeof ResizeObserver > "u" ? null : new ResizeObserver(r);
26
+ o == null || o.observe(e);
27
+ const n = typeof MutationObserver > "u" ? null : new MutationObserver(r);
28
+ n == null || n.observe(e, { attributes: !0, attributeFilter: ["disabled", "readonly"] });
29
+ const s = e.ownerDocument.fonts;
30
+ return s == null || s.addEventListener("loadingdone", r), r(), () => {
31
+ t = !1, clearTimeout(d), e.removeEventListener("mousedown", f), e.removeEventListener("focus", u), e.removeEventListener("blur", i), e.removeEventListener("input", r), o == null || o.disconnect(), n == null || n.disconnect(), s == null || s.removeEventListener("loadingdone", r);
32
+ };
33
+ }
34
+ export { m as isInputTruncated$u, b as syncInputOverflowTitle$u, L as watchInputOverflow$u };
@@ -0,0 +1,160 @@
1
+ const k = 1;
2
+ function R() {
3
+ return typeof document > "u" ? null : document.defaultView ?? (typeof window > "u" ? null : window);
4
+ }
5
+ function b(e, t) {
6
+ const n = R();
7
+ if (!n) return t();
8
+ const o = /* @__PURE__ */ Symbol.for(`urfu-ui-kit.${e}`), s = n[o];
9
+ if (!s || typeof s != "object") {
10
+ const i = t();
11
+ return n[o] = i, i;
12
+ }
13
+ const r = s;
14
+ if (!(typeof r.version == "number" && r.version >= 1)) {
15
+ const i = t(), c = r;
16
+ for (const u of Object.keys(i)) u in c || (c[u] = i[u]);
17
+ r.version = 1;
18
+ }
19
+ return r;
20
+ }
21
+ const O = /* @__PURE__ */ new Map();
22
+ function l(e, t) {
23
+ let n = O.get(e);
24
+ return n || (n = b(e, t), O.set(e, n)), n;
25
+ }
26
+ const f = () => l("copies", () => ({
27
+ version: 1,
28
+ list: [],
29
+ owned: /* @__PURE__ */ new WeakSet()
30
+ }));
31
+ let d = null;
32
+ function I(e, t) {
33
+ if (d) return d;
34
+ const { list: n } = f();
35
+ return d = Object.freeze({ id: `k${n.length + 1}`, kit: e, version: t }), n.push(d), d;
36
+ }
37
+ function P() {
38
+ return f().list.map((e) => ({ ...e }));
39
+ }
40
+ function L(e) {
41
+ return `${e.id}-`;
42
+ }
43
+ function E(e) {
44
+ const { owned: t } = f();
45
+ return t.add(e), () => {
46
+ t.delete(e);
47
+ };
48
+ }
49
+ function C(e) {
50
+ const t = e ?? (typeof document > "u" ? null : document);
51
+ if (!t) return !1;
52
+ const { owned: n } = f(), o = (i) => !n.has(i), s = [...t.querySelectorAll(".u-modal.u-modal-active .u-modal__body")], r = [...t.querySelectorAll(".u-notification-stack")].filter((i) => i.childElementCount > 0);
53
+ return s.some(o) || r.some(o);
54
+ }
55
+ const p = () => l("modals", () => ({
56
+ version: 1,
57
+ stack: [],
58
+ handled: /* @__PURE__ */ new WeakSet()
59
+ }));
60
+ function V() {
61
+ return p().stack;
62
+ }
63
+ function x(e) {
64
+ return p().stack.filter((t) => {
65
+ const n = t.element();
66
+ return t.open() && !!(n != null && n.isConnected) && (n == null ? void 0 : n.ownerDocument) === e;
67
+ }).slice(-1)[0];
68
+ }
69
+ function N(e) {
70
+ p().handled.add(e);
71
+ }
72
+ function A(e) {
73
+ return p().handled.has(e);
74
+ }
75
+ const _ = () => l("scroll-lock", () => ({
76
+ version: 1,
77
+ count: 0,
78
+ previous: ""
79
+ }));
80
+ function M() {
81
+ if (typeof document > "u") return () => {
82
+ };
83
+ const e = _();
84
+ e.count === 0 && (e.previous = document.body.style.overflow, document.body.style.overflow = "hidden"), e.count += 1;
85
+ let t = !1;
86
+ return () => {
87
+ t || (t = !0, e.count = Math.max(0, e.count - 1), e.count === 0 && (document.body.style.overflow = e.previous));
88
+ };
89
+ }
90
+ const g = () => l("notifications", () => ({
91
+ version: 1,
92
+ stacks: []
93
+ }));
94
+ function v() {
95
+ const e = g().stacks.filter((n) => n.isConnected).map((n) => ({
96
+ stack: n,
97
+ height: n.getBoundingClientRect().height,
98
+ gap: parseFloat(getComputedStyle(n).rowGap) || 0
99
+ }));
100
+ let t = 0;
101
+ for (const { stack: n, height: o, gap: s } of e)
102
+ n.style.marginTop = t ? `${t}px` : "", o > 0 && (t += o + s);
103
+ }
104
+ function B(e) {
105
+ const { stacks: t } = g();
106
+ t.includes(e) || t.push(e);
107
+ const n = E(e), o = typeof ResizeObserver > "u" ? null : new ResizeObserver(v);
108
+ return o == null || o.observe(e), v(), () => {
109
+ o == null || o.disconnect(), n();
110
+ const s = t.indexOf(e);
111
+ s >= 0 && t.splice(s, 1), e.style.marginTop = "", v();
112
+ };
113
+ }
114
+ const y = () => l("responsive", () => ({
115
+ version: 1,
116
+ count: 0,
117
+ viewport: "desktop",
118
+ listeners: /* @__PURE__ */ new Set(),
119
+ stop: null
120
+ })), K = "(max-width: 900px)", S = "(max-width: 576px)", m = { desktop: 1, tablet: 0.875, mobile: 0.75 };
121
+ function h(e, t) {
122
+ e.viewport !== t && (e.viewport = t, e.listeners.forEach((n) => n()));
123
+ }
124
+ function w(e, t, n) {
125
+ n === null ? e.removeAttribute(t) : e.setAttribute(t, n);
126
+ }
127
+ function T(e) {
128
+ const t = document.documentElement, n = t.style.getPropertyValue("--u-unit"), o = t.style.getPropertyValue("--u-responsive-scale"), s = t.getAttribute("data-u-viewport"), r = t.getAttribute("data-u-responsive"), i = window.matchMedia(K), c = window.matchMedia(S), u = () => {
129
+ const a = c.matches ? "mobile" : i.matches ? "tablet" : "desktop";
130
+ t.style.setProperty("--u-unit", `${m[a]}px`), t.style.setProperty("--u-responsive-scale", String(m[a])), t.setAttribute("data-u-viewport", a), t.setAttribute("data-u-responsive", "urfu"), h(e, a);
131
+ };
132
+ return i.addEventListener("change", u), c.addEventListener("change", u), u(), () => {
133
+ i.removeEventListener("change", u), c.removeEventListener("change", u), n ? t.style.setProperty("--u-unit", n) : t.style.removeProperty("--u-unit"), o ? t.style.setProperty("--u-responsive-scale", o) : t.style.removeProperty("--u-responsive-scale"), w(t, "data-u-viewport", s), w(t, "data-u-responsive", r);
134
+ };
135
+ }
136
+ function $() {
137
+ if (typeof document > "u" || typeof window > "u") return () => {
138
+ };
139
+ const e = y();
140
+ e.count += 1, e.count === 1 && (e.stop = T(e));
141
+ let t = !1;
142
+ return () => {
143
+ var n;
144
+ t || (t = !0, e.count = Math.max(0, e.count - 1), !(e.count > 0) && ((n = e.stop) == null || n.call(e), e.stop = null, h(e, "desktop")));
145
+ };
146
+ }
147
+ function Q() {
148
+ return y().viewport;
149
+ }
150
+ function W(e) {
151
+ const { listeners: t } = y();
152
+ return t.add(e), () => {
153
+ t.delete(e);
154
+ };
155
+ }
156
+ function j(e) {
157
+ const t = l(e, () => ({ version: 1, installed: !1 }));
158
+ return t.installed ? !1 : (t.installed = !0, !0);
159
+ }
160
+ export { k as KIT_PROTOCOL_VERSION$u, j as claimKitOnce$u, P as getKitCopies$u, Q as getKitViewport$u, C as hasLegacyKitOverlay$u, A as isKitEventHandled$u, L as kitIdPrefix$u, V as kitModalStack$u, M as lockKitScroll$u, N as markKitEventHandled$u, E as ownKitNode$u, I as registerKitCopy$u, B as registerKitNotificationStack$u, $ as registerKitResponsive$u, W as subscribeKitViewport$u, x as topKitModal$u };
@@ -0,0 +1,5 @@
1
+ function l(e, n = []) {
2
+ const r = new Set(e);
3
+ return [.../* @__PURE__ */ new Set([...n.filter((t) => r.has(t)), ...e])];
4
+ }
5
+ export { l as reconcileColumnOrder$u };
@@ -0,0 +1,11 @@
1
+ function p(e, t) {
2
+ var l, i, n;
3
+ if (t.title) return t.title;
4
+ if (t.ariaLabel) return t.ariaLabel;
5
+ const r = e == null ? void 0 : e.ownerDocument, o = t.ariaLabelledBy && r ? t.ariaLabelledBy.split(/\s+/).map((u) => {
6
+ var a, c;
7
+ return (c = (a = r.getElementById(u)) == null ? void 0 : a.textContent) == null ? void 0 : c.trim();
8
+ }).filter(Boolean).join(" ") : "";
9
+ return o || ((n = (i = (l = e == null ? void 0 : e.closest(".u-form-field")) == null ? void 0 : l.querySelector(".u-form-field__title")) == null ? void 0 : i.textContent) == null ? void 0 : n.trim()) || t.placeholder || "";
10
+ }
11
+ export { p as resolveSheetTitle$u };
@@ -0,0 +1,38 @@
1
+ const c = 200, p = ["transform", "width", "height"].map((e) => `${e} 200ms ease-out`).join(", "), u = () => {
2
+ var e;
3
+ return typeof window < "u" && ((e = window.matchMedia) == null ? void 0 : e.call(window, "(prefers-reduced-motion: reduce)").matches) === !0;
4
+ }, g = () => {
5
+ let e = null, f, l;
6
+ const h = (i, n, s) => {
7
+ if (!i || !n) return;
8
+ const o = i.querySelector('[aria-current="page"]');
9
+ if (!o) {
10
+ n.style.visibility = "hidden", e = null;
11
+ return;
12
+ }
13
+ let d = 0, a = 0;
14
+ for (let r = o; r && r !== i; r = r.offsetParent)
15
+ d += r.offsetLeft, a += r.offsetTop;
16
+ const t = { left: d, top: a, width: o.offsetWidth, height: o.offsetHeight };
17
+ e && e.left === t.left && e.top === t.top && e.width === t.width && e.height === t.height || (Object.assign(n.style, {
18
+ transition: s && e && !u() ? p : "none",
19
+ visibility: "",
20
+ width: `${t.width}px`,
21
+ height: `${t.height}px`,
22
+ transform: `translate(${t.left}px, ${t.top}px)`,
23
+ borderRadius: getComputedStyle(o).borderRadius
24
+ }), e = t);
25
+ };
26
+ return {
27
+ /** После каждой отрисовки. layout — состав и вид вкладок: при его смене подсветка не едет. */
28
+ update(i, n, s, o) {
29
+ const d = s !== f && o === l;
30
+ f = s, l = o, h(i, n, d);
31
+ },
32
+ /** Ряд сменил размер (окно, загрузка шрифтов) — встать на место без переезда. */
33
+ refresh(i, n) {
34
+ h(i, n, !1);
35
+ }
36
+ };
37
+ };
38
+ export { c as TABS_INDICATOR_MS$u, g as createTabsIndicator$u };
@@ -0,0 +1,21 @@
1
+ const h = ({
2
+ error: t,
3
+ validationOn: o,
4
+ validationOnWithoutText: n,
5
+ validationText: e
6
+ }) => {
7
+ if (t !== void 0) {
8
+ const s = typeof t == "string" && t.length > 0;
9
+ return {
10
+ hasError: !!t,
11
+ showText: s,
12
+ text: s ? t : e
13
+ };
14
+ }
15
+ return {
16
+ hasError: !!(o || n),
17
+ showText: !!o,
18
+ text: e
19
+ };
20
+ };
21
+ export { h as resolveValidation$u };