urfu-ui-kit-react 2.1.2 → 2.1.4

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 (408) 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 +135 -0
  179. package/dist/components/Tabs/useTabsOverflow.js +49 -0
  180. package/dist/components/Textarea/Textarea.js +102 -0
  181. package/dist/components/Tooltip/Tooltip.d.ts +1 -0
  182. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  183. package/dist/components/Tooltip/Tooltip.js +218 -0
  184. package/dist/components/TreeView/TreeView.d.ts +1 -0
  185. package/dist/components/TreeView/TreeView.d.ts.map +1 -1
  186. package/dist/components/TreeView/TreeView.js +323 -0
  187. package/dist/components/TreeView/TreeView.types.d.ts +0 -4
  188. package/dist/components/TreeView/TreeView.types.d.ts.map +1 -1
  189. package/dist/dev/index.js +336 -336
  190. package/dist/dev/types/vanilla/src/dev/shown.d.ts +0 -2
  191. package/dist/dev/types/vanilla/src/dev/store.d.ts +0 -4
  192. package/dist/fonts/icons/urfu-ui-icon-font.eot +0 -0
  193. package/dist/fonts/icons/urfu-ui-icon-font.svg +3 -0
  194. package/dist/fonts/icons/urfu-ui-icon-font.ttf +0 -0
  195. package/dist/fonts/icons/urfu-ui-icon-font.woff +0 -0
  196. package/dist/fonts/icons/urfu-ui-icon-font.woff2 +0 -0
  197. package/dist/hooks/useActiveOptionScroll.js +20 -0
  198. package/dist/hooks/useAnchoredPosition.d.ts +12 -0
  199. package/dist/hooks/useAnchoredPosition.d.ts.map +1 -1
  200. package/dist/hooks/useAnchoredPosition.js +37 -0
  201. package/dist/hooks/useAutoId.d.ts +0 -1
  202. package/dist/hooks/useAutoId.d.ts.map +1 -1
  203. package/dist/hooks/useAutoId.js +7 -0
  204. package/dist/hooks/useAutoPortal.js +11 -0
  205. package/dist/hooks/useDebounce.js +11 -0
  206. package/dist/hooks/useDismiss.d.ts +1 -1
  207. package/dist/hooks/useDismiss.d.ts.map +1 -1
  208. package/dist/hooks/useDismiss.js +20 -0
  209. package/dist/hooks/useInputOverflow.d.ts +9 -0
  210. package/dist/hooks/useInputOverflow.d.ts.map +1 -0
  211. package/dist/hooks/useInputOverflow.js +16 -0
  212. package/dist/hooks/useMediaQuery.js +21 -0
  213. package/dist/hooks/useMobilePicker.js +7 -0
  214. package/dist/hooks/useMountTransition.d.ts +1 -1
  215. package/dist/hooks/useMountTransition.d.ts.map +1 -1
  216. package/dist/hooks/useMountTransition.js +21 -0
  217. package/dist/hooks/useOnlineStatus.js +11 -0
  218. package/dist/hooks/useOptionKeyboardNavigation.js +63 -0
  219. package/dist/hooks/usePagination.js +31 -0
  220. package/dist/hooks/useSelectEngine.d.ts +3 -3
  221. package/dist/hooks/useSelectEngine.d.ts.map +1 -1
  222. package/dist/hooks/useSelectEngine.js +96 -0
  223. package/dist/hooks/useTableSort.js +13 -0
  224. package/dist/index.d.ts +16 -0
  225. package/dist/index.d.ts.map +1 -1
  226. package/dist/responsive/uiKitResponsive.js +44 -0
  227. package/dist/shared/fieldAccessibility.js +8 -0
  228. package/dist/shared/iconNames.d.ts +5 -0
  229. package/dist/shared/iconNames.d.ts.map +1 -0
  230. package/dist/shared/inputOverflow.d.ts +10 -0
  231. package/dist/shared/inputOverflow.d.ts.map +1 -0
  232. package/dist/shared/kitCopy.js +9 -0
  233. package/dist/shared/optionStateColors.js +5 -0
  234. package/dist/shared/optionValue.d.ts +1 -1
  235. package/dist/shared/optionValue.d.ts.map +1 -1
  236. package/dist/shared/optionValue.js +11 -0
  237. package/dist/shared/popupTransition.js +11 -0
  238. package/dist/shared/size.d.ts +0 -1
  239. package/dist/shared/size.d.ts.map +1 -1
  240. package/dist/shared/size.js +4 -0
  241. package/dist/shared/sortRows.js +24 -0
  242. package/dist/shared/uiKitDefaults.js +25 -0
  243. package/dist/style-no-fonts.css +1 -1
  244. package/dist/style.css +1 -1
  245. package/dist/style.layer.css +9 -9
  246. package/dist/style.shell.css +15 -11
  247. package/dist/urfu-ui-kit-react.js +57 -17502
  248. package/dist/vanilla/core/BoundedOptionPageCache.js +41 -0
  249. package/dist/vanilla/core/dateMask.js +28 -0
  250. package/dist/vanilla/core/describeError.js +243 -0
  251. package/dist/vanilla/core/devLauncherOffset.js +20 -0
  252. package/dist/vanilla/core/distributeTabs.js +25 -0
  253. package/dist/vanilla/core/hasPreviousPage.js +6 -0
  254. package/dist/vanilla/core/inputMode.js +17 -0
  255. package/dist/vanilla/core/inputOverflow.js +34 -0
  256. package/dist/vanilla/core/kitRegistry.js +160 -0
  257. package/dist/vanilla/core/reconcileColumnOrder.js +5 -0
  258. package/dist/vanilla/core/sheetTitle.js +11 -0
  259. package/dist/vanilla/core/validation.js +21 -0
  260. package/dist/vendor/@floating-ui/core/dist/floating-ui.core.js +323 -0
  261. package/dist/vendor/@floating-ui/dom/dist/floating-ui.dom.js +383 -0
  262. package/dist/vendor/@floating-ui/react/dist/floating-ui.react.js +255 -0
  263. package/dist/vendor/@floating-ui/react-dom/dist/floating-ui.react-dom.js +183 -0
  264. package/dist/vendor/@floating-ui/utils/dist/floating-ui.utils.dom.js +110 -0
  265. package/dist/vendor/@floating-ui/utils/dist/floating-ui.utils.js +106 -0
  266. package/dist/vendor/clsx/dist/clsx.js +14 -0
  267. package/dist/vendor/date-fns/_lib/addLeadingZeros.js +5 -0
  268. package/dist/vendor/date-fns/_lib/defaultOptions.js +5 -0
  269. package/dist/vendor/date-fns/_lib/format/formatters.js +547 -0
  270. package/dist/vendor/date-fns/_lib/format/lightFormatters.js +56 -0
  271. package/dist/vendor/date-fns/_lib/format/longFormatters.js +47 -0
  272. package/dist/vendor/date-fns/_lib/getTimezoneOffsetInMilliseconds.js +16 -0
  273. package/dist/vendor/date-fns/_lib/protectedTokens.js +16 -0
  274. package/dist/vendor/date-fns/addDays.js +7 -0
  275. package/dist/vendor/date-fns/addHours.js +6 -0
  276. package/dist/vendor/date-fns/addMilliseconds.js +7 -0
  277. package/dist/vendor/date-fns/addMinutes.js +6 -0
  278. package/dist/vendor/date-fns/addMonths.js +17 -0
  279. package/dist/vendor/date-fns/addQuarters.js +6 -0
  280. package/dist/vendor/date-fns/addSeconds.js +5 -0
  281. package/dist/vendor/date-fns/addWeeks.js +6 -0
  282. package/dist/vendor/date-fns/addYears.js +5 -0
  283. package/dist/vendor/date-fns/constants.js +2 -0
  284. package/dist/vendor/date-fns/constructFrom.js +4 -0
  285. package/dist/vendor/date-fns/differenceInCalendarDays.js +8 -0
  286. package/dist/vendor/date-fns/differenceInCalendarMonths.js +6 -0
  287. package/dist/vendor/date-fns/differenceInCalendarQuarters.js +7 -0
  288. package/dist/vendor/date-fns/differenceInCalendarYears.js +6 -0
  289. package/dist/vendor/date-fns/differenceInDays.js +13 -0
  290. package/dist/vendor/date-fns/endOfDay.js +6 -0
  291. package/dist/vendor/date-fns/endOfMonth.js +6 -0
  292. package/dist/vendor/date-fns/endOfWeek.js +8 -0
  293. package/dist/vendor/date-fns/endOfYear.js +6 -0
  294. package/dist/vendor/date-fns/format.js +53 -0
  295. package/dist/vendor/date-fns/getDate.js +5 -0
  296. package/dist/vendor/date-fns/getDay.js +5 -0
  297. package/dist/vendor/date-fns/getDayOfYear.js +8 -0
  298. package/dist/vendor/date-fns/getDaysInMonth.js +7 -0
  299. package/dist/vendor/date-fns/getDefaultOptions.js +5 -0
  300. package/dist/vendor/date-fns/getHours.js +5 -0
  301. package/dist/vendor/date-fns/getISODay.js +6 -0
  302. package/dist/vendor/date-fns/getISOWeek.js +9 -0
  303. package/dist/vendor/date-fns/getISOWeekYear.js +12 -0
  304. package/dist/vendor/date-fns/getMinutes.js +5 -0
  305. package/dist/vendor/date-fns/getMonth.js +5 -0
  306. package/dist/vendor/date-fns/getQuarter.js +6 -0
  307. package/dist/vendor/date-fns/getSeconds.js +5 -0
  308. package/dist/vendor/date-fns/getTime.js +5 -0
  309. package/dist/vendor/date-fns/getWeek.js +9 -0
  310. package/dist/vendor/date-fns/getWeekYear.js +14 -0
  311. package/dist/vendor/date-fns/getYear.js +5 -0
  312. package/dist/vendor/date-fns/isAfter.js +6 -0
  313. package/dist/vendor/date-fns/isBefore.js +6 -0
  314. package/dist/vendor/date-fns/isDate.js +4 -0
  315. package/dist/vendor/date-fns/isEqual.js +6 -0
  316. package/dist/vendor/date-fns/isSameDay.js +6 -0
  317. package/dist/vendor/date-fns/isSameMonth.js +6 -0
  318. package/dist/vendor/date-fns/isSameQuarter.js +6 -0
  319. package/dist/vendor/date-fns/isSameWeek.js +6 -0
  320. package/dist/vendor/date-fns/isSameYear.js +6 -0
  321. package/dist/vendor/date-fns/isValid.js +9 -0
  322. package/dist/vendor/date-fns/isWithinInterval.js +9 -0
  323. package/dist/vendor/date-fns/locale/_lib/buildFormatLongFn.js +7 -0
  324. package/dist/vendor/date-fns/locale/_lib/buildLocalizeFn.js +16 -0
  325. package/dist/vendor/date-fns/locale/_lib/buildMatchFn.js +29 -0
  326. package/dist/vendor/date-fns/locale/_lib/buildMatchPatternFn.js +13 -0
  327. package/dist/vendor/date-fns/locale/en-US/_lib/formatDistance.js +68 -0
  328. package/dist/vendor/date-fns/locale/en-US/_lib/formatLong.js +31 -0
  329. package/dist/vendor/date-fns/locale/en-US/_lib/formatRelative.js +9 -0
  330. package/dist/vendor/date-fns/locale/en-US/_lib/localize.js +153 -0
  331. package/dist/vendor/date-fns/locale/en-US/_lib/match.js +108 -0
  332. package/dist/vendor/date-fns/locale/en-US.js +18 -0
  333. package/dist/vendor/date-fns/locale/ru/_lib/formatDistance.js +182 -0
  334. package/dist/vendor/date-fns/locale/ru/_lib/formatLong.js +28 -0
  335. package/dist/vendor/date-fns/locale/ru/_lib/formatRelative.js +62 -0
  336. package/dist/vendor/date-fns/locale/ru/_lib/localize.js +177 -0
  337. package/dist/vendor/date-fns/locale/ru/_lib/match.js +109 -0
  338. package/dist/vendor/date-fns/locale/ru.js +18 -0
  339. package/dist/vendor/date-fns/max.js +9 -0
  340. package/dist/vendor/date-fns/min.js +9 -0
  341. package/dist/vendor/date-fns/parse/_lib/Parser.js +20 -0
  342. package/dist/vendor/date-fns/parse/_lib/Setter.js +36 -0
  343. package/dist/vendor/date-fns/parse/_lib/constants.js +46 -0
  344. package/dist/vendor/date-fns/parse/_lib/parsers/AMPMMidnightParser.js +46 -0
  345. package/dist/vendor/date-fns/parse/_lib/parsers/AMPMParser.js +46 -0
  346. package/dist/vendor/date-fns/parse/_lib/parsers/DateParser.js +59 -0
  347. package/dist/vendor/date-fns/parse/_lib/parsers/DayOfYearParser.js +49 -0
  348. package/dist/vendor/date-fns/parse/_lib/parsers/DayParser.js +45 -0
  349. package/dist/vendor/date-fns/parse/_lib/parsers/DayPeriodParser.js +46 -0
  350. package/dist/vendor/date-fns/parse/_lib/parsers/EraParser.js +29 -0
  351. package/dist/vendor/date-fns/parse/_lib/parsers/ExtendedYearParser.js +19 -0
  352. package/dist/vendor/date-fns/parse/_lib/parsers/FractionOfSecondParser.js +20 -0
  353. package/dist/vendor/date-fns/parse/_lib/parsers/Hour0To11Parser.js +30 -0
  354. package/dist/vendor/date-fns/parse/_lib/parsers/Hour0to23Parser.js +30 -0
  355. package/dist/vendor/date-fns/parse/_lib/parsers/Hour1To24Parser.js +31 -0
  356. package/dist/vendor/date-fns/parse/_lib/parsers/Hour1to12Parser.js +31 -0
  357. package/dist/vendor/date-fns/parse/_lib/parsers/ISODayParser.js +101 -0
  358. package/dist/vendor/date-fns/parse/_lib/parsers/ISOTimezoneParser.js +45 -0
  359. package/dist/vendor/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js +45 -0
  360. package/dist/vendor/date-fns/parse/_lib/parsers/ISOWeekParser.js +47 -0
  361. package/dist/vendor/date-fns/parse/_lib/parsers/ISOWeekYearParser.js +38 -0
  362. package/dist/vendor/date-fns/parse/_lib/parsers/LocalDayParser.js +76 -0
  363. package/dist/vendor/date-fns/parse/_lib/parsers/LocalWeekParser.js +46 -0
  364. package/dist/vendor/date-fns/parse/_lib/parsers/LocalWeekYearParser.js +67 -0
  365. package/dist/vendor/date-fns/parse/_lib/parsers/MinuteParser.js +30 -0
  366. package/dist/vendor/date-fns/parse/_lib/parsers/MonthParser.js +73 -0
  367. package/dist/vendor/date-fns/parse/_lib/parsers/QuarterParser.js +71 -0
  368. package/dist/vendor/date-fns/parse/_lib/parsers/SecondParser.js +30 -0
  369. package/dist/vendor/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js +76 -0
  370. package/dist/vendor/date-fns/parse/_lib/parsers/StandAloneMonthParser.js +73 -0
  371. package/dist/vendor/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js +71 -0
  372. package/dist/vendor/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js +20 -0
  373. package/dist/vendor/date-fns/parse/_lib/parsers/TimestampSecondsParser.js +20 -0
  374. package/dist/vendor/date-fns/parse/_lib/parsers/YearParser.js +47 -0
  375. package/dist/vendor/date-fns/parse/_lib/parsers.js +65 -0
  376. package/dist/vendor/date-fns/parse/_lib/utils.js +90 -0
  377. package/dist/vendor/date-fns/parse.js +85 -0
  378. package/dist/vendor/date-fns/parseISO.js +119 -0
  379. package/dist/vendor/date-fns/set.js +8 -0
  380. package/dist/vendor/date-fns/setDay.js +9 -0
  381. package/dist/vendor/date-fns/setHours.js +6 -0
  382. package/dist/vendor/date-fns/setISODay.js +8 -0
  383. package/dist/vendor/date-fns/setISOWeek.js +7 -0
  384. package/dist/vendor/date-fns/setMinutes.js +6 -0
  385. package/dist/vendor/date-fns/setMonth.js +10 -0
  386. package/dist/vendor/date-fns/setQuarter.js +7 -0
  387. package/dist/vendor/date-fns/setSeconds.js +6 -0
  388. package/dist/vendor/date-fns/setWeek.js +7 -0
  389. package/dist/vendor/date-fns/setYear.js +7 -0
  390. package/dist/vendor/date-fns/startOfDay.js +6 -0
  391. package/dist/vendor/date-fns/startOfISOWeek.js +5 -0
  392. package/dist/vendor/date-fns/startOfISOWeekYear.js +8 -0
  393. package/dist/vendor/date-fns/startOfMonth.js +6 -0
  394. package/dist/vendor/date-fns/startOfQuarter.js +6 -0
  395. package/dist/vendor/date-fns/startOfWeek.js +8 -0
  396. package/dist/vendor/date-fns/startOfWeekYear.js +10 -0
  397. package/dist/vendor/date-fns/startOfYear.js +7 -0
  398. package/dist/vendor/date-fns/subDays.js +5 -0
  399. package/dist/vendor/date-fns/subMonths.js +5 -0
  400. package/dist/vendor/date-fns/subQuarters.js +5 -0
  401. package/dist/vendor/date-fns/subWeeks.js +5 -0
  402. package/dist/vendor/date-fns/subYears.js +5 -0
  403. package/dist/vendor/date-fns/toDate.js +5 -0
  404. package/dist/vendor/date-fns/transpose.js +15 -0
  405. package/dist/vendor/react-datepicker/dist/es/index.js +2696 -0
  406. package/package.json +37 -35
  407. package/dist/hooks/useOutsideAlerter.d.ts +0 -3
  408. package/dist/hooks/useOutsideAlerter.d.ts.map +0 -1
package/dist/dev/index.js CHANGED
@@ -1,37 +1,37 @@
1
- import { useSyncExternalStore as Ft } from "react";
2
- let O = [], Ht = 1;
3
- const B = /* @__PURE__ */ new Set();
4
- let R = !1;
5
- function K() {
6
- R || (R = !0, setTimeout(() => {
7
- R = !1, B.forEach((t) => t());
1
+ import { useSyncExternalStore as Ht } from "react";
2
+ let I = [], jt = 1;
3
+ const K = /* @__PURE__ */ new Set();
4
+ let O = !1;
5
+ function J() {
6
+ O || (O = !0, setTimeout(() => {
7
+ O = !1, K.forEach((t) => t());
8
8
  }, 16));
9
9
  }
10
- function jt(t, e, n) {
11
- const o = Date.now(), r = { id: Ht++, service: t, method: e.toUpperCase(), path: n, status: "pending", duration: null, endedAt: null, faked: !1 };
12
- O = [...O.slice(-49), r], K();
10
+ function Ut(t, e, n) {
11
+ const o = Date.now(), r = { id: jt++, service: t, method: e.toUpperCase(), path: n, status: "pending", duration: null, endedAt: null, faked: !1 };
12
+ I = [...I.slice(-49), r], J();
13
13
  let a = !1;
14
14
  return (s, i) => {
15
- a || (a = !0, r.status = s, r.faked = i, r.endedAt = Date.now(), r.duration = r.endedAt - o, K());
15
+ a || (a = !0, r.status = s, r.faked = i, r.endedAt = Date.now(), r.duration = r.endedAt - o, J());
16
16
  };
17
17
  }
18
- function et() {
19
- return [...O].reverse();
18
+ function nt() {
19
+ return [...I].reverse();
20
20
  }
21
- function dt() {
22
- O = [], R = !1, K();
21
+ function ft() {
22
+ I = [], O = !1, J();
23
23
  }
24
- function Ut(t) {
25
- return B.add(t), () => {
26
- B.delete(t);
24
+ function Nt(t) {
25
+ return K.add(t), () => {
26
+ K.delete(t);
27
27
  };
28
28
  }
29
- const ft = "urfu-ui-kit:dev:", w = /* @__PURE__ */ new Map(), J = /* @__PURE__ */ new Set();
30
- let pt;
31
- const ht = (t) => `${ft}${t}`, Nt = ["offline", "network", "slow"];
32
- let E = null;
33
- const I = /* @__PURE__ */ new Set();
34
- function _t() {
29
+ const pt = "urfu-ui-kit:dev:", x = /* @__PURE__ */ new Map(), X = /* @__PURE__ */ new Set();
30
+ let ht;
31
+ const bt = (t) => `${pt}${t}`, _t = ["offline", "network", "slow"];
32
+ let L = null;
33
+ const q = /* @__PURE__ */ new Set();
34
+ function Wt() {
35
35
  let t;
36
36
  try {
37
37
  t = new URLSearchParams(window.location.search).get("dev");
@@ -40,13 +40,13 @@ function _t() {
40
40
  }
41
41
  if (t !== null) {
42
42
  if (t === "off") {
43
- E = null;
43
+ L = null;
44
44
  try {
45
- Object.keys(localStorage).filter((e) => e.startsWith(ft)).forEach((e) => localStorage.removeItem(e));
45
+ Object.keys(localStorage).filter((e) => e.startsWith(pt)).forEach((e) => localStorage.removeItem(e));
46
46
  } catch {
47
47
  }
48
48
  } else
49
- E = t.split(",").map((e) => e.trim()).filter(Boolean), I.clear();
49
+ L = t.split(",").map((e) => e.trim()).filter(Boolean), q.clear();
50
50
  try {
51
51
  const e = new URL(window.location.href);
52
52
  e.searchParams.delete("dev"), window.history.replaceState(window.history.state, "", e.href);
@@ -54,17 +54,17 @@ function _t() {
54
54
  }
55
55
  }
56
56
  }
57
- function Wt(t) {
58
- return [...Nt, ...t.builtins ?? [], ...(t.groups ?? []).flatMap((e) => e.items.map((n) => n.id))];
59
- }
60
57
  function Bt(t) {
61
- if (!E || I.has(t.config.service)) return;
62
- const e = new Set(Wt(t.config)), n = E.filter((o) => e.has(o));
63
- n.length && (I.add(t.config.service), t.state = { ...t.state, faults: n }, N(t.config.service, t.state));
58
+ return [..._t, ...t.builtins ?? [], ...(t.groups ?? []).flatMap((e) => e.items.map((n) => n.id))];
64
59
  }
65
60
  function Kt(t) {
61
+ if (!L || q.has(t.config.service)) return;
62
+ const e = new Set(Bt(t.config)), n = L.filter((o) => e.has(o));
63
+ n.length && (q.add(t.config.service), t.state = { ...t.state, faults: n }, _(t.config.service, t.state));
64
+ }
65
+ function Jt(t) {
66
66
  try {
67
- const e = JSON.parse(localStorage.getItem(ht(t)) ?? "null");
67
+ const e = JSON.parse(localStorage.getItem(bt(t)) ?? "null");
68
68
  return {
69
69
  faults: Array.isArray(e == null ? void 0 : e.faults) ? e.faults.filter((n) => typeof n == "string") : [],
70
70
  rules: Array.isArray(e == null ? void 0 : e.rules) ? e.rules : [],
@@ -74,145 +74,145 @@ function Kt(t) {
74
74
  return { faults: [], rules: [] };
75
75
  }
76
76
  }
77
- function N(t, e) {
77
+ function _(t, e) {
78
78
  try {
79
- localStorage.setItem(ht(t), JSON.stringify(e));
79
+ localStorage.setItem(bt(t), JSON.stringify(e));
80
80
  } catch {
81
81
  }
82
82
  }
83
- function Jt(t) {
84
- t && (pt = t);
83
+ function Xt(t) {
84
+ t && (ht = t);
85
85
  }
86
- function Xt() {
87
- return pt;
86
+ function Vt() {
87
+ return ht;
88
88
  }
89
89
  function Zt(t, e) {
90
- const n = { config: t, state: Kt(t.service), kit: e };
91
- return Bt(n), w.set(t.service, n), M(), n;
90
+ const n = { config: t, state: Jt(t.service), kit: e };
91
+ return Kt(n), x.set(t.service, n), D(), n;
92
92
  }
93
- function Vt(t) {
94
- w.delete(t), w.size || (E = null, I.clear()), M();
93
+ function Gt(t) {
94
+ x.delete(t), x.size || (L = null, q.clear()), D();
95
95
  }
96
- function v() {
97
- return [...w.values()];
96
+ function m() {
97
+ return [...x.values()];
98
98
  }
99
- function Gt(t) {
100
- return t ? w.get(t) : w.values().next().value;
99
+ function Yt(t) {
100
+ return t ? x.get(t) : x.values().next().value;
101
101
  }
102
- function bt(t) {
103
- return J.add(t), () => {
104
- J.delete(t);
102
+ function gt(t) {
103
+ return X.add(t), () => {
104
+ X.delete(t);
105
105
  };
106
106
  }
107
- function M() {
108
- J.forEach((t) => t());
107
+ function D() {
108
+ X.forEach((t) => t());
109
109
  }
110
- function _(t, e) {
111
- t.state = e, N(t.config.service, e), M();
110
+ function W(t, e) {
111
+ t.state = e, _(t.config.service, e), D();
112
112
  }
113
- function Yt(t, e, n) {
113
+ function Qt(t, e, n) {
114
114
  const o = t.state.faults.filter((r) => r !== e);
115
- _(t, { ...t.state, faults: n ? [...o, e] : o });
115
+ W(t, { ...t.state, faults: n ? [...o, e] : o });
116
116
  }
117
- function Qt(t, e) {
117
+ function te(t, e) {
118
118
  const n = `rule-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 6)}`;
119
- _(t, { ...t.state, rules: [...t.state.rules, { ...e, id: n, enabled: !0 }] });
119
+ W(t, { ...t.state, rules: [...t.state.rules, { ...e, id: n, enabled: !0 }] });
120
120
  }
121
- function te(t, e, n) {
122
- _(t, { ...t.state, rules: t.state.rules.map((o) => o.id === e ? { ...o, enabled: n } : o) });
121
+ function ee(t, e, n) {
122
+ W(t, { ...t.state, rules: t.state.rules.map((o) => o.id === e ? { ...o, enabled: n } : o) });
123
123
  }
124
- function ee(t, e) {
125
- _(t, { ...t.state, rules: t.state.rules.filter((n) => n.id !== e) });
124
+ function ne(t, e) {
125
+ W(t, { ...t.state, rules: t.state.rules.filter((n) => n.id !== e) });
126
126
  }
127
- function ne() {
128
- w.forEach((t) => {
129
- t.state = { faults: [], rules: [], ...t.state.launcher ? { launcher: t.state.launcher } : {} }, N(t.config.service, t.state);
130
- }), M();
127
+ function oe() {
128
+ x.forEach((t) => {
129
+ t.state = { faults: [], rules: [], ...t.state.launcher ? { launcher: t.state.launcher } : {} }, _(t.config.service, t.state);
130
+ }), D();
131
131
  }
132
- function q(t) {
132
+ function z(t) {
133
133
  return t.state.faults.length + t.state.rules.filter((e) => e.enabled).length;
134
134
  }
135
- function oe(t) {
135
+ function ae(t) {
136
136
  return t.state.launcher ?? t.config.launcher ?? "visible";
137
137
  }
138
- function ot(t) {
139
- w.forEach((e) => {
140
- e.state = { ...e.state, launcher: t }, N(e.config.service, e.state);
141
- }), M();
142
- }
143
- const ae = 1e4, at = 200, L = ".u-error-screen, .u-notification-fail, .u-notification-warning, .u-offline-banner-offline";
144
- let z = [], re = 1;
145
- const X = /* @__PURE__ */ new WeakMap(), F = /* @__PURE__ */ new Set();
146
- let x = null;
147
- const y = (t) => {
138
+ function at(t) {
139
+ x.forEach((e) => {
140
+ e.state = { ...e.state, launcher: t }, _(e.config.service, e.state);
141
+ }), D();
142
+ }
143
+ const re = 1e4, rt = 200, T = ".u-error-screen, .u-notification-fail, .u-notification-warning, .u-offline-banner-offline";
144
+ let F = [], se = 1;
145
+ const V = /* @__PURE__ */ new WeakMap(), H = /* @__PURE__ */ new Set();
146
+ let y = null;
147
+ const $ = (t) => {
148
148
  const e = (t ?? "").replace(/\s+/g, " ").trim();
149
- return e.length > at ? `${e.slice(0, at - 1)}…` : e;
150
- }, se = (t) => t.status === "network" || typeof t.status == "number" && t.status >= 400;
151
- function ie(t, e) {
149
+ return e.length > rt ? `${e.slice(0, rt - 1)}…` : e;
150
+ }, ie = (t) => t.status === "network" || typeof t.status == "number" && t.status >= 400;
151
+ function le(t, e) {
152
152
  var i;
153
- const n = v().map((f) => f.config.service), o = (i = e.closest("[data-name]")) == null ? void 0 : i.getAttribute("data-name"), r = o && n.includes(o) ? o : null, a = et().find((f) => se(f) && f.endedAt !== null && t - f.endedAt <= ae && (!r || f.service === r));
153
+ const n = m().map((f) => f.config.service), o = (i = e.closest("[data-name]")) == null ? void 0 : i.getAttribute("data-name"), r = o && n.includes(o) ? o : null, a = nt().find((f) => ie(f) && f.endedAt !== null && t - f.endedAt <= re && (!r || f.service === r));
154
154
  if (!a) return;
155
155
  const s = `${a.method} ${a.path} → ${a.status === "network" ? "сеть" : a.status}`;
156
156
  return n.length > 1 ? `${a.service}: ${s}` : s;
157
157
  }
158
- function le(t) {
158
+ function ce(t) {
159
159
  var o, r, a;
160
160
  if (t.classList.contains("u-error-screen"))
161
161
  return {
162
162
  kind: "screen",
163
163
  // Код — в data-error-code на корне заглушки: крупный код рисуется не у всех вариантов (forbidden, serverError).
164
164
  // .u-error-screen-code — для разметки кита до появления атрибута.
165
- code: y(t.dataset.errorCode || ((o = t.querySelector(".u-error-screen-code")) == null ? void 0 : o.textContent)) || void 0,
166
- title: y((r = t.querySelector(".u-error-screen-title")) == null ? void 0 : r.textContent) || y(t.getAttribute("aria-label")) || "Заглушка",
167
- text: y((a = t.querySelector(".u-error-screen-description")) == null ? void 0 : a.textContent) || void 0
165
+ code: $(t.dataset.errorCode || ((o = t.querySelector(".u-error-screen-code")) == null ? void 0 : o.textContent)) || void 0,
166
+ title: $((r = t.querySelector(".u-error-screen-title")) == null ? void 0 : r.textContent) || $(t.getAttribute("aria-label")) || "Заглушка",
167
+ text: $((a = t.querySelector(".u-error-screen-description")) == null ? void 0 : a.textContent) || void 0
168
168
  };
169
169
  if (t.classList.contains("u-offline-banner-offline"))
170
- return { kind: "offline", title: y(t.textContent) || "Нет связи" };
170
+ return { kind: "offline", title: $(t.textContent) || "Нет связи" };
171
171
  const e = t.classList.contains("u-notification-fail") ? "fail" : "warning", n = t.querySelector(".u-notification-content") ?? t;
172
- return { kind: "notification", variant: e, title: y(n.textContent) || "Уведомление" };
172
+ return { kind: "notification", variant: e, title: $(n.textContent) || "Уведомление" };
173
173
  }
174
- function rt(t) {
175
- if (!t.isConnected || !t.matches(L)) return;
176
- const e = le(t);
174
+ function st(t) {
175
+ if (!t.isConnected || !t.matches(T)) return;
176
+ const e = ce(t);
177
177
  if (!e) return;
178
178
  const n = JSON.stringify(e);
179
- if (X.get(t) === n) return;
180
- X.set(t, n);
179
+ if (V.get(t) === n) return;
180
+ V.set(t, n);
181
181
  const o = Date.now();
182
- z = [...z.slice(-29), { id: re++, at: o, ...e, cause: ie(o, t) }], F.forEach((r) => r());
182
+ F = [...F.slice(-29), { id: se++, at: o, ...e, cause: le(o, t) }], H.forEach((r) => r());
183
183
  }
184
- function ce(t, e) {
185
- t instanceof Element && (t.matches(L) && e.push(t), t.querySelectorAll(L).forEach((n) => e.push(n)));
184
+ function ue(t, e) {
185
+ t instanceof Element && (t.matches(T) && e.push(t), t.querySelectorAll(T).forEach((n) => e.push(n)));
186
186
  }
187
- function ue() {
188
- x || typeof MutationObserver > "u" || (x = new MutationObserver((t) => {
187
+ function de() {
188
+ y || typeof MutationObserver > "u" || (y = new MutationObserver((t) => {
189
189
  const e = [];
190
190
  t.forEach((n) => {
191
191
  if (n.type === "childList") {
192
- n.addedNodes.forEach((r) => ce(r, e));
192
+ n.addedNodes.forEach((r) => ue(r, e));
193
193
  return;
194
194
  }
195
195
  const o = n.target;
196
- o.matches(L) ? e.push(o) : X.delete(o);
197
- }), e.length && setTimeout(() => e.forEach(rt), 0);
198
- }), x.observe(document.documentElement, { childList: !0, subtree: !0, attributes: !0, attributeFilter: ["data-error-code", "class"] }), document.querySelectorAll(L).forEach(rt));
196
+ o.matches(T) ? e.push(o) : V.delete(o);
197
+ }), e.length && setTimeout(() => e.forEach(st), 0);
198
+ }), y.observe(document.documentElement, { childList: !0, subtree: !0, attributes: !0, attributeFilter: ["data-error-code", "class"] }), document.querySelectorAll(T).forEach(st));
199
199
  }
200
- function de() {
201
- x == null || x.disconnect(), x = null;
200
+ function fe() {
201
+ y == null || y.disconnect(), y = null;
202
202
  }
203
203
  function Z() {
204
- return [...z].reverse();
204
+ return [...F].reverse();
205
205
  }
206
- function gt() {
207
- z = [], F.forEach((t) => t());
206
+ function vt() {
207
+ F = [], H.forEach((t) => t());
208
208
  }
209
- function fe(t) {
210
- return F.add(t), () => {
211
- F.delete(t);
209
+ function pe(t) {
210
+ return H.add(t), () => {
211
+ H.delete(t);
212
212
  };
213
213
  }
214
- const vt = 4e3, pe = /* @__PURE__ */ new Set(["GET", "HEAD"]);
215
- function he(t, e) {
214
+ const mt = 4e3, he = /* @__PURE__ */ new Set(["GET", "HEAD"]);
215
+ function be(t, e) {
216
216
  let n;
217
217
  try {
218
218
  n = new URL(t, window.location.href).pathname;
@@ -225,16 +225,16 @@ function he(t, e) {
225
225
  const a = n.slice(r + o.length);
226
226
  return a.startsWith("/") || a === "" ? a || "/" : null;
227
227
  }
228
- function be(t, e) {
228
+ function ge(t, e) {
229
229
  const n = (s) => s.split("/").filter(Boolean), o = n(t.trim()), r = n(e), a = (s, i) => s === o.length ? i === r.length : o[s] === "**" ? a(s + 1, i) || i < r.length && a(s, i + 1) : i === r.length ? !1 : (o[s] === "*" || o[s] === r[i]) && a(s + 1, i + 1);
230
230
  return a(0, 0);
231
231
  }
232
- function ge(t, e) {
232
+ function ve(t, e) {
233
233
  var o;
234
234
  const n = (o = t.method) == null ? void 0 : o.trim().toUpperCase();
235
- return !n || n === "*" ? !0 : n === "WRITE" ? !pe.has(e) : n === e;
235
+ return !n || n === "*" ? !0 : n === "WRITE" ? !he.has(e) : n === e;
236
236
  }
237
- function ve(t, e) {
237
+ function me(t, e) {
238
238
  return t.html ? {
239
239
  kind: "response",
240
240
  delay: e,
@@ -249,121 +249,121 @@ function ve(t, e) {
249
249
  body: JSON.stringify({ statusCode: t.status, message: t.message ?? `Сбой из dev-панели: ${t.status}` })
250
250
  };
251
251
  }
252
- function me(t) {
252
+ function we(t) {
253
253
  const e = new Set(t.state.faults);
254
254
  return [...(t.config.groups ?? []).flatMap((o) => o.items).filter((o) => e.has(o.id)).flatMap((o) => [].concat(o.request ?? [])), ...t.state.rules.filter((o) => o.enabled)];
255
255
  }
256
- function mt(t) {
257
- for (const e of v()) {
258
- const n = he(t, e.config.apiBase);
256
+ function wt(t) {
257
+ for (const e of m()) {
258
+ const n = be(t, e.config.apiBase);
259
259
  if (n !== null) return { entry: e, path: n };
260
260
  }
261
261
  return null;
262
262
  }
263
- function wt({ entry: t, path: e }, n) {
264
- const o = n.toUpperCase(), r = new Set(t.state.faults), a = r.has("slow") ? vt : 0;
263
+ function xt({ entry: t, path: e }, n) {
264
+ const o = n.toUpperCase(), r = new Set(t.state.faults), a = r.has("slow") ? mt : 0;
265
265
  if (r.has("offline") || r.has("network")) return { kind: "network", delay: a };
266
- const s = me(t).find((i) => ge(i, o) && be(i.path, e));
267
- return s ? ve(s, a) : a ? { kind: "pass", delay: a } : null;
266
+ const s = we(t).find((i) => ve(i, o) && ge(i.path, e));
267
+ return s ? me(s, a) : a ? { kind: "pass", delay: a } : null;
268
268
  }
269
- const xt = (t, e) => jt(t.entry.config.service, e, t.path), V = (t) => t.reason ?? new DOMException("The operation was aborted.", "AbortError");
270
- function we(t, e) {
269
+ const yt = (t, e) => Ut(t.entry.config.service, e, t.path), G = (t) => t.reason ?? new DOMException("The operation was aborted.", "AbortError");
270
+ function xe(t, e) {
271
271
  return new Promise((n, o) => {
272
272
  if (e != null && e.aborted) {
273
- o(V(e));
273
+ o(G(e));
274
274
  return;
275
275
  }
276
276
  const r = setTimeout(n, t);
277
277
  e == null || e.addEventListener("abort", () => {
278
- clearTimeout(r), o(V(e));
278
+ clearTimeout(r), o(G(e));
279
279
  }, { once: !0 });
280
280
  });
281
281
  }
282
- const yt = /* @__PURE__ */ new Set([204, 205, 304]), P = /* @__PURE__ */ new WeakSet();
283
- function xe(t) {
282
+ const $t = /* @__PURE__ */ new Set([204, 205, 304]), R = /* @__PURE__ */ new WeakSet();
283
+ function ye(t) {
284
284
  if (typeof window > "u") return;
285
285
  const e = t ?? window;
286
- P.has(e) || (P.add(e), ye(e)), typeof XMLHttpRequest < "u" && !P.has(XMLHttpRequest.prototype) && (P.add(XMLHttpRequest.prototype), ke());
286
+ R.has(e) || (R.add(e), $e(e)), typeof XMLHttpRequest < "u" && !R.has(XMLHttpRequest.prototype) && (R.add(XMLHttpRequest.prototype), Se());
287
287
  }
288
- function ye(t) {
288
+ function $e(t) {
289
289
  var n;
290
290
  const e = (n = t.fetch) == null ? void 0 : n.bind(t);
291
291
  e && (t.fetch = async (o, r) => {
292
- const a = typeof o == "object" && "url" in o ? o : null, s = mt(a ? a.url : String(o));
292
+ const a = typeof o == "object" && "url" in o ? o : null, s = wt(a ? a.url : String(o));
293
293
  if (!s) return e(o, r);
294
- const i = (r == null ? void 0 : r.method) ?? (a == null ? void 0 : a.method) ?? "GET", f = xt(s, i), u = wt(s, i), p = (r == null ? void 0 : r.signal) ?? (a == null ? void 0 : a.signal);
294
+ const i = (r == null ? void 0 : r.method) ?? (a == null ? void 0 : a.method) ?? "GET", f = yt(s, i), u = xt(s, i), p = (r == null ? void 0 : r.signal) ?? (a == null ? void 0 : a.signal);
295
295
  try {
296
- if (u != null && u.delay && await we(u.delay, p), p != null && p.aborted) throw V(p);
296
+ if (u != null && u.delay && await xe(u.delay, p), p != null && p.aborted) throw G(p);
297
297
  if ((u == null ? void 0 : u.kind) === "network")
298
298
  throw f("network", !0), new TypeError("Failed to fetch");
299
299
  if ((u == null ? void 0 : u.kind) === "response")
300
- return f(u.status, !0), new Response(yt.has(u.status) ? null : u.body, {
300
+ return f(u.status, !0), new Response($t.has(u.status) ? null : u.body, {
301
301
  status: u.status,
302
302
  headers: { "Content-Type": u.contentType }
303
303
  });
304
- const m = await e(o, r);
305
- return f(m.status, !1), m;
306
- } catch (m) {
307
- throw f(p != null && p.aborted ? "abort" : "network", !1), m;
304
+ const w = await e(o, r);
305
+ return f(w.status, !1), w;
306
+ } catch (w) {
307
+ throw f(p != null && p.aborted ? "abort" : "network", !1), w;
308
308
  }
309
309
  });
310
310
  }
311
- const st = /* @__PURE__ */ new WeakMap(), it = /* @__PURE__ */ new WeakMap(), H = /* @__PURE__ */ new WeakMap(), $e = ["readyState", "responseURL", "status", "statusText", "responseText", "response", "getAllResponseHeaders", "getResponseHeader"];
312
- function ke() {
311
+ const it = /* @__PURE__ */ new WeakMap(), lt = /* @__PURE__ */ new WeakMap(), j = /* @__PURE__ */ new WeakMap(), ke = ["readyState", "responseURL", "status", "statusText", "responseText", "response", "getAllResponseHeaders", "getResponseHeader"];
312
+ function Se() {
313
313
  const t = XMLHttpRequest.prototype, e = t.open, n = t.send, o = t.abort;
314
314
  t.open = function(a, s, ...i) {
315
- lt(this), $e.forEach((f) => {
315
+ ct(this), ke.forEach((f) => {
316
316
  Reflect.deleteProperty(this, f);
317
- }), st.set(this, { method: a, url: String(s) }), e.call(this, a, s, ...i);
317
+ }), it.set(this, { method: a, url: String(s) }), e.call(this, a, s, ...i);
318
318
  }, t.send = function(a) {
319
- const s = st.get(this), i = s ? mt(s.url) : null;
319
+ const s = it.get(this), i = s ? wt(s.url) : null;
320
320
  if (!s || !i) {
321
321
  n.call(this, a);
322
322
  return;
323
323
  }
324
- const f = xt(i, s.method);
325
- it.set(this, f);
326
- const u = wt(i, s.method), p = () => {
324
+ const f = yt(i, s.method);
325
+ lt.set(this, f);
326
+ const u = xt(i, s.method), p = () => {
327
327
  this.addEventListener("abort", () => f("abort", !1), { once: !0 }), this.addEventListener("loadend", () => f(this.status || "network", !1), { once: !0 }), n.call(this, a);
328
328
  };
329
329
  if (!u) {
330
330
  p();
331
331
  return;
332
332
  }
333
- H.set(this, setTimeout(() => {
334
- if (H.delete(this), u.kind === "pass") {
333
+ j.set(this, setTimeout(() => {
334
+ if (j.delete(this), u.kind === "pass") {
335
335
  p();
336
336
  return;
337
337
  }
338
- f(u.kind === "network" ? "network" : u.status, !0), Se(this, u, s.url);
338
+ f(u.kind === "network" ? "network" : u.status, !0), Ee(this, u, s.url);
339
339
  }, u.delay));
340
340
  }, t.abort = function() {
341
341
  var s;
342
- if (!lt(this)) {
342
+ if (!ct(this)) {
343
343
  o.call(this);
344
344
  return;
345
345
  }
346
- (s = it.get(this)) == null || s("abort", !1);
347
- const a = $t(this);
348
- a("readyState", 4), a("status", 0), G(this, ["readystatechange", "abort", "loadend"]), a("readyState", 0);
346
+ (s = lt.get(this)) == null || s("abort", !1);
347
+ const a = kt(this);
348
+ a("readyState", 4), a("status", 0), Y(this, ["readystatechange", "abort", "loadend"]), a("readyState", 0);
349
349
  };
350
350
  }
351
- function lt(t) {
352
- const e = H.get(t);
353
- return e === void 0 ? !1 : (clearTimeout(e), H.delete(t), !0);
351
+ function ct(t) {
352
+ const e = j.get(t);
353
+ return e === void 0 ? !1 : (clearTimeout(e), j.delete(t), !0);
354
354
  }
355
- const $t = (t) => (e, n) => {
355
+ const kt = (t) => (e, n) => {
356
356
  Object.defineProperty(t, e, { configurable: !0, get: () => n });
357
- }, G = (t, e) => {
357
+ }, Y = (t, e) => {
358
358
  e.forEach((n) => t.dispatchEvent(new ProgressEvent(n)));
359
359
  };
360
- function Se(t, e, n) {
361
- const o = $t(t);
360
+ function Ee(t, e, n) {
361
+ const o = kt(t);
362
362
  if (o("readyState", 4), o("responseURL", n), e.kind === "network") {
363
- o("status", 0), o("statusText", ""), G(t, ["readystatechange", "error", "loadend"]);
363
+ o("status", 0), o("statusText", ""), Y(t, ["readystatechange", "error", "loadend"]);
364
364
  return;
365
365
  }
366
- const r = yt.has(e.status) ? "" : e.body;
366
+ const r = $t.has(e.status) ? "" : e.body;
367
367
  let a = r;
368
368
  if (t.responseType === "json")
369
369
  try {
@@ -377,30 +377,30 @@ function Se(t, e, n) {
377
377
  Object.defineProperty(t, "getAllResponseHeaders", { configurable: !0, value: () => s }), Object.defineProperty(t, "getResponseHeader", {
378
378
  configurable: !0,
379
379
  value: (i) => i.toLowerCase() === "content-type" ? e.contentType : null
380
- }), G(t, ["readystatechange", "load", "loadend"]);
380
+ }), Y(t, ["readystatechange", "load", "loadend"]);
381
381
  }
382
- function nt(t) {
382
+ function ot(t) {
383
383
  try {
384
384
  t ? Reflect.deleteProperty(navigator, "onLine") : Object.defineProperty(navigator, "onLine", { configurable: !0, get: () => !1 }), window.dispatchEvent(new Event(t ? "online" : "offline"));
385
385
  } catch {
386
386
  }
387
387
  }
388
- function kt() {
389
- const t = v().some((e) => e.state.faults.includes("offline"));
390
- ne(), dt(), gt(), t && nt(!0);
388
+ function St() {
389
+ const t = m().some((e) => e.state.faults.includes("offline"));
390
+ oe(), ft(), vt(), t && ot(!0);
391
391
  }
392
- const Ee = {
392
+ const Le = {
393
393
  title: "Сеть",
394
394
  items: [
395
395
  { id: "offline", label: "Офлайн браузера", hint: "Полоса «Нет связи», запросы к API падают" },
396
396
  { id: "network", label: "Обрыв соединения", hint: "Сеть есть, а сервер не отвечает" },
397
- { id: "slow", label: "Медленные ответы", hint: `Задержка ${vt / 1e3} с на запросы к API` }
397
+ { id: "slow", label: "Медленные ответы", hint: `Задержка ${mt / 1e3} с на запросы к API` }
398
398
  ]
399
- }, Le = {
399
+ }, Te = {
400
400
  authFail: { label: "Сбой входа", hint: "После перезагрузки сервис рисует заглушку входа" },
401
401
  crashApp: { label: "Падение приложения", hint: "Ошибка рендера над каркасом сервиса" },
402
402
  crashPage: { label: "Падение страницы", hint: "Каждая открытая страница падает, пока флаг включён" }
403
- }, Y = [["", "Любой"], ["GET", "GET"], ["write", "Запись"], ["POST", "POST"], ["PUT", "PUT"], ["PATCH", "PATCH"], ["DELETE", "DELETE"]], Te = [400, 401, 403, 404, 409, 422, 429, 500, 502, 503, 504], d = (t) => String(t ?? "").replace(/[&<>"']/g, (e) => ({ "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" })[e]), Ae = '<svg viewBox="0 0 36 36" fill="none" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M28 0L20 16H36L28 0ZM28 5.11101L23.6984 13.7143H32.3016L28 5.11101Z" fill="#3BA68C"/><path fill-rule="evenodd" clip-rule="evenodd" d="M9 33.7143C12.1559 33.7143 14.7143 31.1559 14.7143 28C14.7143 24.8441 12.1559 22.2857 9 22.2857C5.84409 22.2857 3.28571 24.8441 3.28571 28C3.28571 31.1559 5.84409 33.7143 9 33.7143ZM9 36C13.4183 36 17 32.4183 17 28C17 23.5817 13.4183 20 9 20C4.58172 20 1 23.5817 1 28C1 32.4183 4.58172 36 9 36Z" fill="#E54B6A"/><path fill-rule="evenodd" clip-rule="evenodd" d="M33.7143 22.2857H22.2857V33.7143H33.7143V22.2857ZM20 20V36H36V20H20Z" fill="#1E4391"/><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0593 4.9091L9 0L5.94073 4.9091L0 6.11146L4.05 10.3478L3.43769 16L9 13.7091L14.5623 16L13.95 10.3478L18 6.11146L12.0593 4.9091ZM14.0262 7.31822L10.7085 6.64674L9 3.90515L7.29149 6.64674L3.97378 7.31822L6.23558 9.68408L5.89362 12.8407L9 11.5613L12.1064 12.8407L11.7644 9.68408L14.0262 7.31822Z" fill="#E98446"/></svg>', Ce = `
403
+ }, Q = [["", "Любой"], ["GET", "GET"], ["write", "Запись"], ["POST", "POST"], ["PUT", "PUT"], ["PATCH", "PATCH"], ["DELETE", "DELETE"]], Ae = [400, 401, 403, 404, 409, 422, 429, 500, 502, 503, 504], d = (t) => String(t ?? "").replace(/[&<>"']/g, (e) => ({ "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" })[e]), Ce = '<svg viewBox="0 0 36 36" fill="none" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M28 0L20 16H36L28 0ZM28 5.11101L23.6984 13.7143H32.3016L28 5.11101Z" fill="#3BA68C"/><path fill-rule="evenodd" clip-rule="evenodd" d="M9 33.7143C12.1559 33.7143 14.7143 31.1559 14.7143 28C14.7143 24.8441 12.1559 22.2857 9 22.2857C5.84409 22.2857 3.28571 24.8441 3.28571 28C3.28571 31.1559 5.84409 33.7143 9 33.7143ZM9 36C13.4183 36 17 32.4183 17 28C17 23.5817 13.4183 20 9 20C4.58172 20 1 23.5817 1 28C1 32.4183 4.58172 36 9 36Z" fill="#E54B6A"/><path fill-rule="evenodd" clip-rule="evenodd" d="M33.7143 22.2857H22.2857V33.7143H33.7143V22.2857ZM20 20V36H36V20H20Z" fill="#1E4391"/><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0593 4.9091L9 0L5.94073 4.9091L0 6.11146L4.05 10.3478L3.43769 16L9 13.7091L14.5623 16L13.95 10.3478L18 6.11146L12.0593 4.9091ZM14.0262 7.31822L10.7085 6.64674L9 3.90515L7.29149 6.64674L3.97378 7.31822L6.23558 9.68408L5.89362 12.8407L9 11.5613L12.1064 12.8407L11.7644 9.68408L14.0262 7.31822Z" fill="#E98446"/></svg>', Me = `
404
404
  :host { all: initial; }
405
405
  * { box-sizing: border-box; }
406
406
  .root { --p: #1e4391; --p-soft: #e8eef9; --fg: #222; --muted: #6b7280; --line: #d9dee8; --bg: #fff; --soft: #f5f7fb;
@@ -491,46 +491,46 @@ dd { margin: 0; font-family: Consolas, monospace; font-size: 12px; overflow-wrap
491
491
  .panel ~ .pill { display: none; }
492
492
  }
493
493
  @media (prefers-reduced-motion: reduce) { .switch::after, .pill .label { transition: none; } }
494
- `, Me = 6e3;
495
- let Q, h = null, c = null, k = null, $ = null, T = !1, S = !1;
496
- const St = { open: !1, tab: "faults", search: "", service: void 0, hint: "" }, l = { ...St };
497
- function D() {
498
- const t = v();
494
+ `, De = 6e3;
495
+ let tt, h = null, c = null, S = null, k = null, b = null, A = !1, E = !1;
496
+ const Et = { open: !1, tab: "faults", search: "", service: void 0, hint: "" }, l = { ...Et };
497
+ function P() {
498
+ const t = m();
499
499
  return t.find((e) => e.config.service === l.service) ?? t[0];
500
500
  }
501
- function Et(t) {
502
- const e = (t.config.builtins ?? []).map((n) => ({ id: n, ...Le[n] }));
501
+ function Lt(t) {
502
+ const e = (t.config.builtins ?? []).map((n) => ({ id: n, ...Te[n] }));
503
503
  return [
504
504
  ...e.length ? [{ title: "Весь сервис", items: e }] : [],
505
- Ee,
505
+ Le,
506
506
  ...t.config.groups ?? []
507
507
  ];
508
508
  }
509
- function De(t, e) {
509
+ function Pe(t, e) {
510
510
  var n;
511
- return ((n = Et(t).flatMap((o) => o.items).find((o) => o.id === e)) == null ? void 0 : n.label) ?? e;
511
+ return ((n = Lt(t).flatMap((o) => o.items).find((o) => o.id === e)) == null ? void 0 : n.label) ?? e;
512
512
  }
513
- function Lt(t) {
513
+ function Tt(t) {
514
514
  return [
515
- ...t.state.faults.map((e) => De(t, e)),
515
+ ...t.state.faults.map((e) => Pe(t, e)),
516
516
  ...t.state.rules.filter((e) => e.enabled).map((e) => `${e.path} → ${e.status}`)
517
517
  ];
518
518
  }
519
- function Pe(t, e, n, o) {
519
+ function Re(t, e, n, o) {
520
520
  const r = t % 100, a = t % 10;
521
521
  return r >= 11 && r <= 14 ? o : a === 1 ? e : a >= 2 && a <= 4 ? n : o;
522
522
  }
523
- const ct = (t) => !l.search || t.toLowerCase().includes(l.search.toLowerCase());
524
- function Re(t) {
525
- const e = new Set(t.state.faults), n = Et(t).map((a) => {
526
- const s = a.items.filter((i) => ct(`${i.label} ${i.hint ?? ""} ${i.id}`));
523
+ const ut = (t) => !l.search || t.toLowerCase().includes(l.search.toLowerCase());
524
+ function Oe(t) {
525
+ const e = new Set(t.state.faults), n = Lt(t).map((a) => {
526
+ const s = a.items.filter((i) => ut(`${i.label} ${i.hint ?? ""} ${i.id}`));
527
527
  return s.length ? `<div><div class="group-title">${d(a.title)}</div>${s.map((i) => `
528
528
  <label class="row"><span class="text">${d(i.label)}${i.hint ? `<small>${d(i.hint)}</small>` : ""}</span>
529
529
  <input class="switch" type="checkbox" role="switch" data-fault="${d(i.id)}" ${e.has(i.id) ? "checked" : ""}
530
530
  aria-label="${d(i.label)}"></label>`).join("")}</div>` : "";
531
- }).join(""), o = t.state.rules.filter((a) => ct(`${a.method ?? ""} ${a.path} ${a.status}`)), r = (a) => {
531
+ }).join(""), o = t.state.rules.filter((a) => ut(`${a.method ?? ""} ${a.path} ${a.status}`)), r = (a) => {
532
532
  var s;
533
- return ((s = Y.find(([i]) => i === (a ?? ""))) == null ? void 0 : s[1]) ?? a;
533
+ return ((s = Q.find(([i]) => i === (a ?? ""))) == null ? void 0 : s[1]) ?? a;
534
534
  };
535
535
  return `
536
536
  <input class="search" type="search" data-search placeholder="Поиск: 503, офлайн, роли…" aria-label="Поиск по сценариям" value="${d(l.search)}">
@@ -541,20 +541,20 @@ function Re(t) {
541
541
  aria-label="${d(`${a.path} → ${a.status}`)}">
542
542
  <button class="remove" type="button" data-remove="${d(a.id)}" aria-label="Удалить правило">×</button></div>`).join("")}
543
543
  <form class="add" data-add>
544
- <select name="method" aria-label="Метод">${Y.map(([a, s]) => `<option value="${a}">${s}</option>`).join("")}</select>
544
+ <select name="method" aria-label="Метод">${Q.map(([a, s]) => `<option value="${a}">${s}</option>`).join("")}</select>
545
545
  <input name="path" required placeholder="/assets/*" aria-label="Путь после ${d(t.config.apiBase ?? "адреса сайта")}">
546
- <select name="status" aria-label="Код ответа">${Te.map((a) => `<option${a === 503 ? " selected" : ""}>${a}</option>`).join("")}</select>
546
+ <select name="status" aria-label="Код ответа">${Ae.map((a) => `<option${a === 503 ? " selected" : ""}>${a}</option>`).join("")}</select>
547
547
  <button class="btn primary" type="submit">Добавить</button>
548
548
  </form>
549
549
  </div>`;
550
550
  }
551
- function Oe() {
551
+ function Ie() {
552
552
  const t = document.documentElement.getAttribute("data-u-viewport");
553
553
  return t || (window.matchMedia("(max-width: 576px)").matches ? "mobile" : window.matchMedia("(max-width: 900px)").matches ? "tablet" : "desktop");
554
554
  }
555
- function Ie(t) {
555
+ function qe(t) {
556
556
  var i, f, u;
557
- const e = document.documentElement, n = getComputedStyle(e).getPropertyValue("--u-unit").trim(), o = t.kit ?? Xt();
557
+ const e = document.documentElement, n = getComputedStyle(e).getPropertyValue("--u-unit").trim(), o = t.kit ?? Vt();
558
558
  let r = "—";
559
559
  try {
560
560
  const p = (f = (i = t.config).user) == null ? void 0 : f.call(i);
@@ -562,9 +562,9 @@ function Ie(t) {
562
562
  } catch {
563
563
  r = "не удалось прочитать";
564
564
  }
565
- const a = Lt(t);
565
+ const a = Tt(t);
566
566
  return `<dl>${[
567
- ["Ширина", `${window.innerWidth} px · ${Oe()}`],
567
+ ["Ширина", `${window.innerWidth} px · ${Ie()}`],
568
568
  ["Шкала", `${e.getAttribute("data-u-responsive") ?? "legacy"}${n ? ` · --u-unit ${n}` : ""}`],
569
569
  ["Кит", o ? `${o.name} ${o.version}` : "—"],
570
570
  ["Сервис", [t.config.service, t.config.version].filter(Boolean).join(" ")],
@@ -574,104 +574,104 @@ function Ie(t) {
574
574
  ["Сеть", navigator.onLine ? "онлайн" : "офлайн"],
575
575
  ["Пользователь", r],
576
576
  ["Включено", a.length ? a.join("; ") : "ничего"]
577
- ].map(([p, m]) => `<dt>${d(p)}</dt><dd>${d(m)}</dd>`).join("")}</dl>`;
577
+ ].map(([p, w]) => `<dt>${d(p)}</dt><dd>${d(w)}</dd>`).join("")}</dl>`;
578
578
  }
579
- function g() {
579
+ function v() {
580
580
  if (!c) return;
581
- const t = D();
581
+ const t = P();
582
582
  if (!t) {
583
583
  c.innerHTML = "";
584
584
  return;
585
585
  }
586
- const e = v().flatMap(Lt), n = e.length, o = n ? `Dev · ${n === 1 ? e[0] : `${n} ${Pe(n, "сбой", "сбоя", "сбоев")}`}` : "Dev", r = v(), a = r.every((b) => oe(b) === "hidden"), s = !a || n > 0, i = r.length > 1 ? `<select data-service aria-label="Сервис">${r.map((b) => `<option value="${d(b.config.service)}"${b === t ? " selected" : ""}>Dev · ${d(b.config.service)}</option>`).join("")}</select>` : `Dev · ${d(t.config.service)}`, f = l.open ? `
586
+ const e = m().flatMap(Tt), n = e.length, o = n ? `Dev · ${n === 1 ? e[0] : `${n} ${Re(n, "сбой", "сбоя", "сбоев")}`}` : "Dev", r = m(), a = r.every((g) => ae(g) === "hidden"), s = !a || n > 0, i = r.length > 1 ? `<select data-service aria-label="Сервис">${r.map((g) => `<option value="${d(g.config.service)}"${g === t ? " selected" : ""}>Dev · ${d(g.config.service)}</option>`).join("")}</select>` : `Dev · ${d(t.config.service)}`, f = l.open ? `
587
587
  <section class="panel${s ? "" : " alone"}" role="region" aria-label="Панель разработки">
588
588
  <div class="head"><span class="title">${i}</span>
589
589
  <button class="reset" type="button" data-reset>Сбросить всё</button>
590
590
  <button class="close" type="button" data-close aria-label="Свернуть панель">×</button></div>
591
591
  <div class="escape">Без панели: адрес с ?dev=off · открыть и закрыть: Ctrl+Alt+D</div>
592
592
  <div class="tabs" role="tablist">
593
- <button class="tab" type="button" role="tab" data-tab="faults" aria-selected="${l.tab === "faults"}">Сбои${q(t) ? ` · ${q(t)}` : ""}</button>
593
+ <button class="tab" type="button" role="tab" data-tab="faults" aria-selected="${l.tab === "faults"}">Сбои${z(t) ? ` · ${z(t)}` : ""}</button>
594
594
  <button class="tab" type="button" role="tab" data-tab="requests" aria-selected="${l.tab === "requests"}">Запросы</button>
595
595
  <button class="tab" type="button" role="tab" data-tab="errors" aria-selected="${l.tab === "errors"}">Ошибки${Z().length ? ` · ${Z().length}` : ""}</button>
596
596
  <button class="tab" type="button" role="tab" data-tab="view" aria-selected="${l.tab === "view"}">Смотреть</button>
597
597
  </div>
598
- <div class="body">${l.tab === "faults" ? Re(t) : l.tab === "requests" ? Ct(t) : l.tab === "errors" ? je() : Ie(t)}</div>
598
+ <div class="body">${l.tab === "faults" ? Oe(t) : l.tab === "requests" ? Mt(t) : l.tab === "errors" ? Ue() : qe(t)}</div>
599
599
  ${l.hint ? `<div class="note" role="status">${d(l.hint)}</div>` : ""}
600
600
  <div class="foot">
601
601
  ${t.config.onRefetch ? '<button class="btn" type="button" data-refetch>Перезапросить данные</button>' : ""}
602
602
  <button class="btn" type="button" data-reload>Перезагрузить</button>
603
- ${r.some((b) => b.state.faults.length) ? '<button class="btn" type="button" data-share>Ссылка на сбои</button>' : ""}
603
+ ${r.some((g) => g.state.faults.length) ? '<button class="btn" type="button" data-share>Ссылка на сбои</button>' : ""}
604
604
  <button class="btn" type="button" data-launcher="${a ? "visible" : "hidden"}">${a ? "Показывать кнопку" : "Скрыть кнопку"}</button>
605
605
  </div>
606
- </section>` : "", u = c.activeElement, p = Tt(u), m = (u == null ? void 0 : u.dataset.search) !== void 0 ? u.selectionStart : null, Ot = tt ?? _e();
607
- tt = null;
608
- const It = [
606
+ </section>` : "", u = c.activeElement, p = At(u), w = (u == null ? void 0 : u.dataset.search) !== void 0 ? u.selectionStart : null, It = et ?? We();
607
+ et = null;
608
+ const qt = [
609
609
  e.length ? `Включено: ${e.join(", ")}` : "Панель разработки (Ctrl+Alt+D)",
610
610
  a ? "Кнопка скрыта и видна, пока включены сбои" : ""
611
- ].filter(Boolean).join(". "), qt = s ? `
611
+ ].filter(Boolean).join(". "), zt = s ? `
612
612
  <button class="pill${n ? " on" : ""}" type="button" data-toggle aria-expanded="${l.open}"
613
- title="${d(It)}"><span class="logo">${Ae}</span><span class="label">${d(o)}</span></button>` : "", zt = l.hint && !l.open ? `<div class="hint" role="status">${d(l.hint)}</div>` : "";
614
- if (c.innerHTML = `<style>${Ce}</style><div class="root">${f}${qt}${zt}</div>`, We(Ot), p) {
615
- const b = c.querySelector(p);
616
- b == null || b.focus(), b instanceof HTMLInputElement && m !== null && b.setSelectionRange(m, m);
613
+ title="${d(qt)}"><span class="logo">${Ce}</span><span class="label">${d(o)}</span></button>` : "", Ft = l.hint && !l.open ? `<div class="hint" role="status">${d(l.hint)}</div>` : "";
614
+ if (c.innerHTML = `<style>${Me}</style><div class="root">${f}${zt}${Ft}</div>`, Be(It), p) {
615
+ const g = c.querySelector(p);
616
+ g == null || g.focus(), g instanceof HTMLInputElement && w !== null && g.setSelectionRange(w, w);
617
617
  }
618
618
  }
619
- const qe = ["search", "fault", "rule", "tab", "service", "reset", "close", "toggle", "ruleFrom", "clearJournal"];
620
- function Tt(t) {
619
+ const ze = ["search", "fault", "rule", "tab", "service", "reset", "close", "toggle", "ruleFrom", "clearJournal"];
620
+ function At(t) {
621
621
  if (!t) return null;
622
622
  const e = t.getAttribute("name");
623
623
  if (e && t.closest("[data-add]")) return `[data-add] [name="${e}"]`;
624
- const n = qe.find((a) => t.dataset[a] !== void 0);
624
+ const n = ze.find((a) => t.dataset[a] !== void 0);
625
625
  if (!n) return null;
626
626
  const o = t.dataset[n], r = `data-${n.replace(/[A-Z]/g, (a) => `-${a.toLowerCase()}`)}`;
627
627
  return o ? `[${r}="${o.replace(/["\\]/g, "\\$&")}"]` : `[${r}]`;
628
628
  }
629
- const At = ["method", "path", "status"];
630
- let tt = null;
631
- const ze = { network: "сеть", abort: "отмена", pending: "…" };
632
- function Ct(t) {
633
- const e = et().filter((n) => n.service === t.config.service);
629
+ const Ct = ["method", "path", "status"];
630
+ let et = null;
631
+ const Fe = { network: "сеть", abort: "отмена", pending: "…" };
632
+ function Mt(t) {
633
+ const e = nt().filter((n) => n.service === t.config.service);
634
634
  return e.length ? `<div class="requests-head"><span>Последние ${e.length}, новые сверху</span>
635
635
  <button class="btn" type="button" data-clear-journal>Очистить</button></div>
636
636
  <div class="requests">${e.map((n) => {
637
- const o = typeof n.status == "number" ? String(n.status) : ze[n.status], r = n.status === "network" || typeof n.status == "number" && n.status >= 400, a = [n.duration === null ? "" : `${n.duration} мс`, n.faked ? "подменён панелью" : ""].filter(Boolean).join(" · ");
637
+ const o = typeof n.status == "number" ? String(n.status) : Fe[n.status], r = n.status === "network" || typeof n.status == "number" && n.status >= 400, a = [n.duration === null ? "" : `${n.duration} мс`, n.faked ? "подменён панелью" : ""].filter(Boolean).join(" · ");
638
638
  return `<div class="req"><span>${d(n.method)}</span>
639
639
  <span class="path">${d(n.path)}${a ? `<small>${d(a)}</small>` : ""}</span>
640
640
  <span class="status${r ? " bad" : ""}">${d(o)}</span>
641
641
  <button class="btn" type="button" data-rule-from="${n.id}" title="Ответ на этот адрес — в «Ответах сервера»">Правило</button></div>`;
642
642
  }).join("")}</div>` : '<div class="empty">Запросов к API пока не было. Журнал помнит последние 50 и очищается при перезагрузке.</div>';
643
643
  }
644
- const Fe = {
644
+ const He = {
645
645
  screen: "Заглушка",
646
646
  fail: "Уведомление об ошибке",
647
647
  warning: "Предупреждение",
648
648
  offline: "Нет связи"
649
- }, He = (t) => Fe[t.kind === "notification" ? t.variant ?? "fail" : t.kind];
650
- function je() {
649
+ }, je = (t) => He[t.kind === "notification" ? t.variant ?? "fail" : t.kind];
650
+ function Ue() {
651
651
  const t = Z();
652
652
  return t.length ? `<div class="requests-head"><span>Последние ${t.length}, новые сверху</span>
653
653
  <button class="btn" type="button" data-clear-shown>Очистить</button></div>
654
654
  <div>${t.map((e) => `<div class="shown">
655
- <div class="shown-head"><span class="kind${e.variant === "warning" ? " warning" : ""}">${d(He(e))}${e.code ? ` · ${d(e.code)}` : ""}</span>
655
+ <div class="shown-head"><span class="kind${e.variant === "warning" ? " warning" : ""}">${d(je(e))}${e.code ? ` · ${d(e.code)}` : ""}</span>
656
656
  <time>${d(new Date(e.at).toLocaleTimeString("ru-RU"))}</time></div>
657
657
  <div class="shown-title">${d(e.title)}</div>
658
658
  ${e.text ? `<small>${d(e.text)}</small>` : ""}
659
659
  <div class="cause">${e.cause ? `← ${d(e.cause)}` : "<small>Неудачных запросов к API перед показом не было</small>"}</div>
660
660
  </div>`).join("")}</div>` : '<div class="empty">Ошибок пользователю пока не показывали. Здесь появятся заглушки, уведомления об ошибке и полоса «Нет связи» — с причиной из запросов к API.</div>';
661
661
  }
662
- function Ue(t) {
662
+ function Ne(t) {
663
663
  var o;
664
- const e = et().find((r) => String(r.id) === String(t));
664
+ const e = nt().find((r) => String(r.id) === String(t));
665
665
  if (!e) return;
666
- tt = { method: Y.some(([r]) => r === e.method) ? e.method : "", path: e.path, status: "503" }, l.tab = "faults", l.search = "", g(), (o = c == null ? void 0 : c.querySelector('[data-add] [name="status"]')) == null || o.focus();
666
+ et = { method: Q.some(([r]) => r === e.method) ? e.method : "", path: e.path, status: "503" }, l.tab = "faults", l.search = "", v(), (o = c == null ? void 0 : c.querySelector('[data-add] [name="status"]')) == null || o.focus();
667
667
  }
668
- function Ne() {
669
- const t = [...new Set(v().flatMap((i) => i.state.faults))], e = new URL(window.location.href);
668
+ function _e() {
669
+ const t = [...new Set(m().flatMap((i) => i.state.faults))], e = new URL(window.location.href);
670
670
  e.searchParams.set("dev", t.join(","));
671
- const n = e.href.replace(/%2C/gi, ","), r = v().some((i) => i.state.rules.some((f) => f.enabled)) ? " Свои правила «адрес → код» в неё не входят." : "", a = () => {
672
- A(`Ссылка скопирована.${r}`), g();
671
+ const n = e.href.replace(/%2C/gi, ","), r = m().some((i) => i.state.rules.some((f) => f.enabled)) ? " Свои правила «адрес → код» в неё не входят." : "", a = () => {
672
+ C(`Ссылка скопирована.${r}`), v();
673
673
  }, s = () => {
674
- A(`Ссылка: ${n}${r}`), g();
674
+ C(`Ссылка: ${n}${r}`), v();
675
675
  };
676
676
  try {
677
677
  navigator.clipboard.writeText(n).then(a, s);
@@ -679,101 +679,101 @@ function Ne() {
679
679
  s();
680
680
  }
681
681
  }
682
- function _e() {
682
+ function We() {
683
683
  const t = c == null ? void 0 : c.querySelector("[data-add]");
684
- return t ? Object.fromEntries(At.map((e) => {
684
+ return t ? Object.fromEntries(Ct.map((e) => {
685
685
  var n;
686
686
  return [e, ((n = t.elements.namedItem(e)) == null ? void 0 : n.value) ?? ""];
687
687
  })) : null;
688
688
  }
689
- function We(t) {
689
+ function Be(t) {
690
690
  const e = c == null ? void 0 : c.querySelector("[data-add]");
691
- !e || !t || At.forEach((n) => {
691
+ !e || !t || Ct.forEach((n) => {
692
692
  const o = e.elements.namedItem(n);
693
693
  o && (o.value = t[n]);
694
694
  });
695
695
  }
696
- function Be(t) {
696
+ function Ke(t) {
697
697
  if (!t) {
698
- A(""), ot("visible");
698
+ C(""), at("visible");
699
699
  return;
700
700
  }
701
701
  l.open = !1;
702
- const e = v().some((n) => q(n) > 0);
703
- A(`Кнопка Dev скрыта${e ? " и видна, пока включены сбои" : ""}. Панель: Ctrl+Alt+D`), ot("hidden");
702
+ const e = m().some((n) => z(n) > 0);
703
+ C(`Кнопка Dev скрыта${e ? " и видна, пока включены сбои" : ""}. Панель: Ctrl+Alt+D`), at("hidden");
704
704
  }
705
- function A(t) {
706
- clearTimeout(Q), l.hint = t, t && (Q = setTimeout(() => {
707
- l.hint = "", g();
708
- }, Me));
705
+ function C(t) {
706
+ clearTimeout(tt), l.hint = t, t && (tt = setTimeout(() => {
707
+ l.hint = "", v();
708
+ }, De));
709
709
  }
710
- function j(t = !l.open) {
710
+ function U(t = !l.open) {
711
711
  var e, n;
712
- t && A(""), l.open = t, g(), t ? (e = c == null ? void 0 : c.querySelector("[data-search], [data-tab]")) == null || e.focus() : (n = c == null ? void 0 : c.querySelector("[data-toggle]")) == null || n.focus();
712
+ t && C(""), l.open = t, v(), t ? (e = c == null ? void 0 : c.querySelector("[data-search], [data-tab]")) == null || e.focus() : (n = c == null ? void 0 : c.querySelector("[data-toggle]")) == null || n.focus();
713
713
  }
714
- function Ke(t) {
714
+ function Je(t) {
715
715
  var o, r, a, s;
716
- const e = t.target, n = D();
716
+ const e = t.target, n = P();
717
717
  if (n)
718
- if (e.closest("[data-toggle]")) j();
719
- else if (e.closest("[data-close]")) j(!1);
718
+ if (e.closest("[data-toggle]")) U();
719
+ else if (e.closest("[data-close]")) U(!1);
720
720
  else if (e.closest("[data-reset]"))
721
- kt(), (r = (o = n.config).onRefetch) == null || r.call(o);
721
+ St(), (r = (o = n.config).onRefetch) == null || r.call(o);
722
722
  else if (e.closest("[data-reload]")) window.location.reload();
723
- else if (e.closest("[data-rule-from]")) Ue(Number(e.closest("[data-rule-from]").dataset.ruleFrom));
723
+ else if (e.closest("[data-rule-from]")) Ne(Number(e.closest("[data-rule-from]").dataset.ruleFrom));
724
724
  else if (e.closest("[data-clear-journal]"))
725
- dt(), g();
726
- else if (e.closest("[data-clear-shown]")) gt();
727
- else if (e.closest("[data-share]")) Ne();
728
- else if (e.closest("[data-launcher]")) Be(e.closest("[data-launcher]").dataset.launcher === "hidden");
725
+ ft(), v();
726
+ else if (e.closest("[data-clear-shown]")) vt();
727
+ else if (e.closest("[data-share]")) _e();
728
+ else if (e.closest("[data-launcher]")) Ke(e.closest("[data-launcher]").dataset.launcher === "hidden");
729
729
  else if (e.closest("[data-refetch]")) (s = (a = n.config).onRefetch) == null || s.call(a);
730
730
  else if (e.closest("[data-tab]")) {
731
731
  const i = e.closest("[data-tab]").dataset.tab;
732
- l.tab = i === "view" || i === "requests" || i === "errors" ? i : "faults", g();
733
- } else e.closest("[data-remove]") && ee(n, e.closest("[data-remove]").dataset.remove);
732
+ l.tab = i === "view" || i === "requests" || i === "errors" ? i : "faults", v();
733
+ } else e.closest("[data-remove]") && ne(n, e.closest("[data-remove]").dataset.remove);
734
734
  }
735
- function Je(t) {
736
- const e = t.target, n = D();
735
+ function Xe(t) {
736
+ const e = t.target, n = P();
737
737
  if (n)
738
738
  if (e.dataset.fault) {
739
739
  const o = e.checked;
740
- Yt(n, e.dataset.fault, o), e.dataset.fault === "offline" && nt(!o);
741
- } else e.dataset.rule ? te(n, e.dataset.rule, e.checked) : e.dataset.service !== void 0 && (l.service = e.value, g());
740
+ Qt(n, e.dataset.fault, o), e.dataset.fault === "offline" && ot(!o);
741
+ } else e.dataset.rule ? ee(n, e.dataset.rule, e.checked) : e.dataset.service !== void 0 && (l.service = e.value, v());
742
742
  }
743
- function Xe(t) {
743
+ function Ve(t) {
744
744
  const e = t.target;
745
- e.dataset.search !== void 0 && (l.search = e.value, g());
745
+ e.dataset.search !== void 0 && (l.search = e.value, v());
746
746
  }
747
747
  function Ze(t) {
748
748
  const e = t.target;
749
749
  if (e.dataset.add === void 0) return;
750
750
  t.preventDefault();
751
- const n = D(), o = new FormData(e), r = String(o.get("path") ?? "").trim();
752
- !n || !r || (e.reset(), Qt(n, {
751
+ const n = P(), o = new FormData(e), r = String(o.get("path") ?? "").trim();
752
+ !n || !r || (e.reset(), te(n, {
753
753
  method: String(o.get("method") ?? "") || void 0,
754
754
  path: r.startsWith("/") ? r : `/${r}`,
755
755
  status: Number(o.get("status")) || 500,
756
756
  html: Number(o.get("status")) === 502 || void 0
757
757
  }));
758
758
  }
759
- function Mt(t) {
760
- t.ctrlKey && t.altKey && t.code === "KeyD" ? (t.preventDefault(), j()) : t.key === "Escape" && l.open && h && t.composedPath().includes(h) && (t.preventDefault(), t.stopPropagation(), j(!1));
759
+ function Dt(t) {
760
+ t.ctrlKey && t.altKey && t.code === "KeyD" ? (t.preventDefault(), U()) : t.key === "Escape" && l.open && h && t.composedPath().includes(h) && (t.preventDefault(), t.stopPropagation(), U(!1));
761
761
  }
762
- function Ve() {
762
+ function Ge() {
763
763
  if (h || typeof document > "u") return;
764
- h = document.createElement("div"), h.id = "urfu-ui-kit-dev", h.setAttribute("data-urfu-ui-kit-dev", ""), c = h.attachShadow({ mode: "open" }), c.addEventListener("click", Ke), c.addEventListener("change", Je), c.addEventListener("input", Xe), c.addEventListener("submit", Ze), window.addEventListener("keydown", Mt, !0), ut(), $ = new MutationObserver((o) => {
765
- (!(h != null && h.isConnected) || o.some((r) => r.type === "attributes")) && ut();
766
- }), $.observe(document.documentElement, { childList: !0, subtree: !0, attributes: !0, attributeFilter: ["open"] }), l.open = v().some((o) => q(o) > 0);
767
- const t = bt(g), e = Ut(Dt);
768
- c.addEventListener("pointerdown", Ye), window.addEventListener("pointerup", U, !0), window.addEventListener("pointercancel", U, !0);
769
- const n = fe(() => {
770
- l.open && g();
764
+ h = document.createElement("div"), h.id = "urfu-ui-kit-dev", h.setAttribute("data-urfu-ui-kit-dev", ""), c = h.attachShadow({ mode: "open" }), c.addEventListener("click", Je), c.addEventListener("change", Xe), c.addEventListener("input", Ve), c.addEventListener("submit", Ze), b = document.defaultView ?? window, b.addEventListener("keydown", Dt, !0), dt(), k = new MutationObserver((o) => {
765
+ (!(h != null && h.isConnected) || o.some((r) => r.type === "attributes")) && dt();
766
+ }), k.observe(document.documentElement, { childList: !0, subtree: !0, attributes: !0, attributeFilter: ["open"] }), l.open = m().some((o) => z(o) > 0);
767
+ const t = gt(v), e = Nt(Pt);
768
+ c.addEventListener("pointerdown", Qe), b.addEventListener("pointerup", N, !0), b.addEventListener("pointercancel", N, !0);
769
+ const n = pe(() => {
770
+ l.open && v();
771
771
  });
772
- ue(), k = () => {
773
- t(), e(), n(), de();
774
- }, g();
772
+ de(), S = () => {
773
+ t(), e(), n(), fe();
774
+ }, v();
775
775
  }
776
- function Ge() {
776
+ function Ye() {
777
777
  try {
778
778
  const t = document.querySelectorAll("dialog:modal");
779
779
  return t[t.length - 1] ?? null;
@@ -781,94 +781,94 @@ function Ge() {
781
781
  return null;
782
782
  }
783
783
  }
784
- function ut() {
784
+ function dt() {
785
785
  if (!h) return;
786
- const t = Ge() ?? document.documentElement;
786
+ const t = Ye() ?? document.documentElement;
787
787
  h.parentNode !== t && t.appendChild(h);
788
788
  }
789
- function Dt() {
789
+ function Pt() {
790
790
  var r;
791
791
  if (!l.open || l.tab !== "requests") {
792
- S = !1;
792
+ E = !1;
793
793
  return;
794
794
  }
795
- if (T) {
796
- S = !0;
795
+ if (A) {
796
+ E = !0;
797
797
  return;
798
798
  }
799
- S = !1;
800
- const t = c == null ? void 0 : c.querySelector(".body"), e = D();
799
+ E = !1;
800
+ const t = c == null ? void 0 : c.querySelector(".body"), e = P();
801
801
  if (!c || !t || !e) {
802
- g();
802
+ v();
803
803
  return;
804
804
  }
805
- const n = c.activeElement, o = n && t.contains(n) ? Tt(n) : null;
806
- t.innerHTML = Ct(e), o && ((r = t.querySelector(o)) == null || r.focus());
805
+ const n = c.activeElement, o = n && t.contains(n) ? At(n) : null;
806
+ t.innerHTML = Mt(e), o && ((r = t.querySelector(o)) == null || r.focus());
807
807
  }
808
- function Ye() {
809
- T = !0;
808
+ function Qe() {
809
+ A = !0;
810
810
  }
811
- function U() {
812
- T && (T = !1, S && setTimeout(Dt, 0));
811
+ function N() {
812
+ A && (A = !1, E && setTimeout(Pt, 0));
813
813
  }
814
- function Qe() {
815
- k == null || k(), k = null, $ == null || $.disconnect(), $ = null, window.removeEventListener("keydown", Mt, !0), window.removeEventListener("pointerup", U, !0), window.removeEventListener("pointercancel", U, !0), T = !1, S = !1, clearTimeout(Q), h == null || h.remove(), h = null, c = null, Object.assign(l, St);
814
+ function tn() {
815
+ S == null || S(), S = null, k == null || k.disconnect(), k = null, b == null || b.removeEventListener("keydown", Dt, !0), b == null || b.removeEventListener("pointerup", N, !0), b == null || b.removeEventListener("pointercancel", N, !0), b = null, A = !1, E = !1, clearTimeout(tt), h == null || h.remove(), h = null, c = null, Object.assign(l, Et);
816
816
  }
817
- const Pt = Symbol.for("urfu-ui-kit.dev-panel"), C = {
817
+ const Rt = /* @__PURE__ */ Symbol.for("urfu-ui-kit.dev-panel"), M = {
818
818
  version: 1,
819
819
  mount(t, e, n) {
820
- return _t(), Jt(e), Zt(t, e).state.faults.includes("offline") && nt(!1), xe(n), Ve(), () => {
821
- Vt(t.service), v().length || Qe();
820
+ return Wt(), Xt(e), Zt(t, e).state.faults.includes("offline") && ot(!1), ye(n), Ge(), () => {
821
+ Gt(t.service), m().length || tn();
822
822
  };
823
823
  },
824
824
  isFault: (t, e) => {
825
825
  var n;
826
- return ((n = Gt(e)) == null ? void 0 : n.state.faults.includes(t)) ?? !1;
826
+ return ((n = Yt(e)) == null ? void 0 : n.state.faults.includes(t)) ?? !1;
827
827
  },
828
- subscribe: bt,
829
- reset: kt
830
- }, Rt = () => typeof document > "u" ? null : document.defaultView;
831
- function W() {
828
+ subscribe: gt,
829
+ reset: St
830
+ }, Ot = () => typeof document > "u" ? null : document.defaultView;
831
+ function B() {
832
832
  var e;
833
- const t = (e = Rt()) == null ? void 0 : e[Pt];
833
+ const t = (e = Ot()) == null ? void 0 : e[Rt];
834
834
  return t && typeof t.version == "number" && t.version >= 1 ? t : null;
835
835
  }
836
- function tn() {
837
- const t = W();
836
+ function en() {
837
+ const t = B();
838
838
  if (t) return t;
839
- const e = Rt();
840
- return e && (e[Pt] = C), C;
839
+ const e = Ot();
840
+ return e && (e[Rt] = M), M;
841
841
  }
842
- function en(t, e) {
842
+ function nn(t, e) {
843
843
  return typeof window > "u" ? () => {
844
- } : tn().mount(t, e, window);
844
+ } : en().mount(t, e, window);
845
845
  }
846
- function nn(t, e) {
847
- return (W() ?? C).isFault(t, e);
846
+ function on(t, e) {
847
+ return (B() ?? M).isFault(t, e);
848
848
  }
849
- function on(t) {
850
- return (W() ?? C).subscribe(t);
849
+ function an(t) {
850
+ return (B() ?? M).subscribe(t);
851
851
  }
852
- function ln() {
853
- (W() ?? C).reset();
852
+ function cn() {
853
+ (B() ?? M).reset();
854
854
  }
855
- const an = () => "2.1.2";
856
- function cn(t) {
857
- return en(t, { name: "urfu-ui-kit-react", version: an() });
855
+ const rn = () => "2.1.4";
856
+ function un(t) {
857
+ return nn(t, { name: "urfu-ui-kit-react", version: rn() });
858
858
  }
859
- function rn(t, e) {
860
- return Ft(on, () => nn(t, e), () => !1);
859
+ function sn(t, e) {
860
+ return Ht(an, () => on(t, e), () => !1);
861
861
  }
862
- function un({ scope: t, service: e }) {
863
- if (rn(t === "app" ? "crashApp" : "crashPage", e)) throw new Error(`Сбой из dev-панели: падение ${t === "app" ? "приложения" : "страницы"}`);
862
+ function dn({ scope: t, service: e }) {
863
+ if (sn(t === "app" ? "crashApp" : "crashPage", e)) throw new Error(`Сбой из dev-панели: падение ${t === "app" ? "приложения" : "страницы"}`);
864
864
  return null;
865
865
  }
866
866
  export {
867
- un as DevCrashProbe,
868
- nn as isDevFault,
869
- be as matchPath,
870
- cn as mountDevPanel,
871
- ln as resetDevFaults,
872
- on as subscribeDevFaults,
873
- rn as useDevFault
867
+ dn as DevCrashProbe,
868
+ on as isDevFault,
869
+ ge as matchPath,
870
+ un as mountDevPanel,
871
+ cn as resetDevFaults,
872
+ an as subscribeDevFaults,
873
+ sn as useDevFault
874
874
  };