@ryuzaki13/react-foundation-lib 0.1.1
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.
- package/LICENSE +21 -0
- package/README.md +654 -0
- package/dist/array/array.d.ts +30 -0
- package/dist/array/array.d.ts.map +1 -0
- package/dist/array/index.d.ts +3 -0
- package/dist/array/index.d.ts.map +1 -0
- package/dist/array/index.js +2 -0
- package/dist/array/reorder.d.ts +10 -0
- package/dist/array/reorder.d.ts.map +1 -0
- package/dist/auth/getClientFingerprint.d.ts +2 -0
- package/dist/auth/getClientFingerprint.d.ts.map +1 -0
- package/dist/binary/binaryToBlob.d.ts +13 -0
- package/dist/binary/binaryToBlob.d.ts.map +1 -0
- package/dist/binary/index.d.ts +3 -0
- package/dist/binary/index.d.ts.map +1 -0
- package/dist/binary/index.js +126 -0
- package/dist/binary/index.js.map +1 -0
- package/dist/binary/useBinaryFile.d.ts +8 -0
- package/dist/binary/useBinaryFile.d.ts.map +1 -0
- package/dist/bounded-copy-stack/boundedCopyStack.d.ts +26 -0
- package/dist/bounded-copy-stack/boundedCopyStack.d.ts.map +1 -0
- package/dist/bounded-copy-stack/index.d.ts +2 -0
- package/dist/bounded-copy-stack/index.d.ts.map +1 -0
- package/dist/bounded-copy-stack/index.js +26 -0
- package/dist/bounded-copy-stack/index.js.map +1 -0
- package/dist/chunks/array-BBSjoTRy.js +146 -0
- package/dist/chunks/array-BBSjoTRy.js.map +1 -0
- package/dist/chunks/dateUtils-D9dpdTl7.js +760 -0
- package/dist/chunks/dateUtils-D9dpdTl7.js.map +1 -0
- package/dist/chunks/formatters-CQppb89D.js +1234 -0
- package/dist/chunks/formatters-CQppb89D.js.map +1 -0
- package/dist/chunks/formulas-BxcH5Zjt.js +279 -0
- package/dist/chunks/formulas-BxcH5Zjt.js.map +1 -0
- package/dist/chunks/isRecord-DXDTW-jA.js +18 -0
- package/dist/chunks/isRecord-DXDTW-jA.js.map +1 -0
- package/dist/chunks/odata-service-BAYf08WI.js +1223 -0
- package/dist/chunks/odata-service-BAYf08WI.js.map +1 -0
- package/dist/chunks/string-comparison-BKT7PXmq.js +20 -0
- package/dist/chunks/string-comparison-BKT7PXmq.js.map +1 -0
- package/dist/chunks/validate-BChpTW6y.js +468 -0
- package/dist/chunks/validate-BChpTW6y.js.map +1 -0
- package/dist/context-menu/anchor.d.ts +19 -0
- package/dist/context-menu/anchor.d.ts.map +1 -0
- package/dist/context-menu/index.d.ts +4 -0
- package/dist/context-menu/index.d.ts.map +1 -0
- package/dist/context-menu/index.js +57 -0
- package/dist/context-menu/index.js.map +1 -0
- package/dist/context-menu/state.d.ts +6 -0
- package/dist/context-menu/state.d.ts.map +1 -0
- package/dist/context-menu/types.d.ts +25 -0
- package/dist/context-menu/types.d.ts.map +1 -0
- package/dist/copy/index.d.ts +5 -0
- package/dist/copy/index.d.ts.map +1 -0
- package/dist/copy/index.js +56 -0
- package/dist/copy/index.js.map +1 -0
- package/dist/copy/useCopyElementText.d.ts +6 -0
- package/dist/copy/useCopyElementText.d.ts.map +1 -0
- package/dist/copy/useCopyFeedback.d.ts +11 -0
- package/dist/copy/useCopyFeedback.d.ts.map +1 -0
- package/dist/copy/useCopyText.d.ts +4 -0
- package/dist/copy/useCopyText.d.ts.map +1 -0
- package/dist/copy/useElementText.d.ts +5 -0
- package/dist/copy/useElementText.d.ts.map +1 -0
- package/dist/crypto/hashString.d.ts +5 -0
- package/dist/crypto/hashString.d.ts.map +1 -0
- package/dist/crypto/index.d.ts +3 -0
- package/dist/crypto/index.d.ts.map +1 -0
- package/dist/crypto/index.js +62 -0
- package/dist/crypto/index.js.map +1 -0
- package/dist/crypto/uuid.d.ts +5 -0
- package/dist/crypto/uuid.d.ts.map +1 -0
- package/dist/currency/currency.d.ts +8 -0
- package/dist/currency/currency.d.ts.map +1 -0
- package/dist/currency/index.d.ts +2 -0
- package/dist/currency/index.d.ts.map +1 -0
- package/dist/currency/index.js +16 -0
- package/dist/currency/index.js.map +1 -0
- package/dist/date-segments/index.d.ts +3 -0
- package/dist/date-segments/index.d.ts.map +1 -0
- package/dist/date-segments/index.js +160 -0
- package/dist/date-segments/index.js.map +1 -0
- package/dist/date-segments/mask.d.ts +54 -0
- package/dist/date-segments/mask.d.ts.map +1 -0
- package/dist/dom/downloadFile.d.ts +4 -0
- package/dist/dom/downloadFile.d.ts.map +1 -0
- package/dist/dom/getOrCreatePortalRoot.d.ts +2 -0
- package/dist/dom/getOrCreatePortalRoot.d.ts.map +1 -0
- package/dist/dom/index.d.ts +10 -0
- package/dist/dom/index.d.ts.map +1 -0
- package/dist/dom/index.js +159 -0
- package/dist/dom/index.js.map +1 -0
- package/dist/dom/useClickOutside.d.ts +3 -0
- package/dist/dom/useClickOutside.d.ts.map +1 -0
- package/dist/dom/useElementHeightObserver.d.ts +3 -0
- package/dist/dom/useElementHeightObserver.d.ts.map +1 -0
- package/dist/dom/useEscapeDismiss.d.ts +14 -0
- package/dist/dom/useEscapeDismiss.d.ts.map +1 -0
- package/dist/dom/useFocusTrap.d.ts +5 -0
- package/dist/dom/useFocusTrap.d.ts.map +1 -0
- package/dist/dom/useIntersectionObserver.d.ts +4 -0
- package/dist/dom/useIntersectionObserver.d.ts.map +1 -0
- package/dist/dom/useIsTouchDevice.d.ts +2 -0
- package/dist/dom/useIsTouchDevice.d.ts.map +1 -0
- package/dist/dom/useOverlayFocus.d.ts +14 -0
- package/dist/dom/useOverlayFocus.d.ts.map +1 -0
- package/dist/error/index.d.ts +2 -0
- package/dist/error/index.d.ts.map +1 -0
- package/dist/error/index.js +20 -0
- package/dist/error/index.js.map +1 -0
- package/dist/error/missingContextError.d.ts +14 -0
- package/dist/error/missingContextError.d.ts.map +1 -0
- package/dist/error-report/breadcrumbs.d.ts +11 -0
- package/dist/error-report/breadcrumbs.d.ts.map +1 -0
- package/dist/error-report/capture.d.ts +6 -0
- package/dist/error-report/capture.d.ts.map +1 -0
- package/dist/error-report/diagnostics.d.ts +29 -0
- package/dist/error-report/diagnostics.d.ts.map +1 -0
- package/dist/error-report/drafts.d.ts +25 -0
- package/dist/error-report/drafts.d.ts.map +1 -0
- package/dist/error-report/environment.d.ts +19 -0
- package/dist/error-report/environment.d.ts.map +1 -0
- package/dist/error-report/errorInfo.d.ts +7 -0
- package/dist/error-report/errorInfo.d.ts.map +1 -0
- package/dist/error-report/index.d.ts +11 -0
- package/dist/error-report/index.d.ts.map +1 -0
- package/dist/error-report/index.js +464 -0
- package/dist/error-report/index.js.map +1 -0
- package/dist/error-report/runtime.d.ts +26 -0
- package/dist/error-report/runtime.d.ts.map +1 -0
- package/dist/error-report/safeValue.d.ts +14 -0
- package/dist/error-report/safeValue.d.ts.map +1 -0
- package/dist/error-report/transport.d.ts +32 -0
- package/dist/error-report/transport.d.ts.map +1 -0
- package/dist/error-report/types.d.ts +123 -0
- package/dist/error-report/types.d.ts.map +1 -0
- package/dist/excel/excel.d.ts +52 -0
- package/dist/excel/excel.d.ts.map +1 -0
- package/dist/excel/index.d.ts +3 -0
- package/dist/excel/index.d.ts.map +1 -0
- package/dist/excel/index.js +139 -0
- package/dist/excel/index.js.map +1 -0
- package/dist/excel/tableExport.d.ts +26 -0
- package/dist/excel/tableExport.d.ts.map +1 -0
- package/dist/file/contentDisposition.d.ts +11 -0
- package/dist/file/contentDisposition.d.ts.map +1 -0
- package/dist/file/image/index.d.ts +3 -0
- package/dist/file/image/index.d.ts.map +1 -0
- package/dist/file/image/readImageFile.d.ts +8 -0
- package/dist/file/image/readImageFile.d.ts.map +1 -0
- package/dist/file/image/types.d.ts +30 -0
- package/dist/file/image/types.d.ts.map +1 -0
- package/dist/file/index.d.ts +5 -0
- package/dist/file/index.d.ts.map +1 -0
- package/dist/file/index.js +211 -0
- package/dist/file/index.js.map +1 -0
- package/dist/file/mimeType.d.ts +2 -0
- package/dist/file/mimeType.d.ts.map +1 -0
- package/dist/file/read-file/assert.d.ts +4 -0
- package/dist/file/read-file/assert.d.ts.map +1 -0
- package/dist/file/read-file/index.d.ts +4 -0
- package/dist/file/read-file/index.d.ts.map +1 -0
- package/dist/file/read-file/readFile.d.ts +14 -0
- package/dist/file/read-file/readFile.d.ts.map +1 -0
- package/dist/file/read-file/types.d.ts +43 -0
- package/dist/file/read-file/types.d.ts.map +1 -0
- package/dist/form/formErrors.d.ts +2 -0
- package/dist/form/formErrors.d.ts.map +1 -0
- package/dist/form/index.d.ts +2 -0
- package/dist/form/index.d.ts.map +1 -0
- package/dist/form/index.js +19 -0
- package/dist/form/index.js.map +1 -0
- package/dist/formatters/boolean/index.d.ts +3 -0
- package/dist/formatters/boolean/index.d.ts.map +1 -0
- package/dist/formatters/boolean/parseAbapBoolean.d.ts +3 -0
- package/dist/formatters/boolean/parseAbapBoolean.d.ts.map +1 -0
- package/dist/formatters/boolean/toAbapBoolean.d.ts +3 -0
- package/dist/formatters/boolean/toAbapBoolean.d.ts.map +1 -0
- package/dist/formatters/date/calendarDate.d.ts +48 -0
- package/dist/formatters/date/calendarDate.d.ts.map +1 -0
- package/dist/formatters/date/calendarPeriod.d.ts +33 -0
- package/dist/formatters/date/calendarPeriod.d.ts.map +1 -0
- package/dist/formatters/date/dateRange.d.ts +25 -0
- package/dist/formatters/date/dateRange.d.ts.map +1 -0
- package/dist/formatters/date/educationDate.d.ts +79 -0
- package/dist/formatters/date/educationDate.d.ts.map +1 -0
- package/dist/formatters/date/formatDate.d.ts +98 -0
- package/dist/formatters/date/formatDate.d.ts.map +1 -0
- package/dist/formatters/date/index.d.ts +14 -0
- package/dist/formatters/date/index.d.ts.map +1 -0
- package/dist/formatters/date/parseDate.d.ts +44 -0
- package/dist/formatters/date/parseDate.d.ts.map +1 -0
- package/dist/formatters/date/pattern.d.ts +38 -0
- package/dist/formatters/date/pattern.d.ts.map +1 -0
- package/dist/formatters/date/presets.d.ts +108 -0
- package/dist/formatters/date/presets.d.ts.map +1 -0
- package/dist/formatters/date/relativeRanges.d.ts +35 -0
- package/dist/formatters/date/relativeRanges.d.ts.map +1 -0
- package/dist/formatters/date/types.d.ts +70 -0
- package/dist/formatters/date/types.d.ts.map +1 -0
- package/dist/formatters/formatName.d.ts +13 -0
- package/dist/formatters/formatName.d.ts.map +1 -0
- package/dist/formatters/formatPhone.d.ts +3 -0
- package/dist/formatters/formatPhone.d.ts.map +1 -0
- package/dist/formatters/formatTagAsHashtag.d.ts +6 -0
- package/dist/formatters/formatTagAsHashtag.d.ts.map +1 -0
- package/dist/formatters/index.d.ts +11 -0
- package/dist/formatters/index.d.ts.map +1 -0
- package/dist/formatters/index.js +6 -0
- package/dist/formatters/normalizeLeadingZeros.d.ts +27 -0
- package/dist/formatters/normalizeLeadingZeros.d.ts.map +1 -0
- package/dist/formatters/number/compact.d.ts +10 -0
- package/dist/formatters/number/compact.d.ts.map +1 -0
- package/dist/formatters/number/formatCompactNumber.d.ts +49 -0
- package/dist/formatters/number/formatCompactNumber.d.ts.map +1 -0
- package/dist/formatters/number/formatNumber.d.ts +93 -0
- package/dist/formatters/number/formatNumber.d.ts.map +1 -0
- package/dist/formatters/number/index.d.ts +6 -0
- package/dist/formatters/number/index.d.ts.map +1 -0
- package/dist/formatters/number/isZeroValue.d.ts +5 -0
- package/dist/formatters/number/isZeroValue.d.ts.map +1 -0
- package/dist/formatters/number/parseNumber.d.ts +12 -0
- package/dist/formatters/number/parseNumber.d.ts.map +1 -0
- package/dist/formatters/number/presets.d.ts +24 -0
- package/dist/formatters/number/presets.d.ts.map +1 -0
- package/dist/formatters/number/types.d.ts +46 -0
- package/dist/formatters/number/types.d.ts.map +1 -0
- package/dist/formatters/pipeline/clone.d.ts +15 -0
- package/dist/formatters/pipeline/clone.d.ts.map +1 -0
- package/dist/formatters/pipeline/definitions.d.ts +14 -0
- package/dist/formatters/pipeline/definitions.d.ts.map +1 -0
- package/dist/formatters/pipeline/dependencies.d.ts +38 -0
- package/dist/formatters/pipeline/dependencies.d.ts.map +1 -0
- package/dist/formatters/pipeline/execute.d.ts +21 -0
- package/dist/formatters/pipeline/execute.d.ts.map +1 -0
- package/dist/formatters/pipeline/index.d.ts +10 -0
- package/dist/formatters/pipeline/index.d.ts.map +1 -0
- package/dist/formatters/pipeline/normalize.d.ts +3 -0
- package/dist/formatters/pipeline/normalize.d.ts.map +1 -0
- package/dist/formatters/pipeline/registry.d.ts +11 -0
- package/dist/formatters/pipeline/registry.d.ts.map +1 -0
- package/dist/formatters/pipeline/rekey.d.ts +11 -0
- package/dist/formatters/pipeline/rekey.d.ts.map +1 -0
- package/dist/formatters/pipeline/runtime.d.ts +17 -0
- package/dist/formatters/pipeline/runtime.d.ts.map +1 -0
- package/dist/formatters/pipeline/types.d.ts +379 -0
- package/dist/formatters/pipeline/types.d.ts.map +1 -0
- package/dist/formatters/pipeline/validate.d.ts +29 -0
- package/dist/formatters/pipeline/validate.d.ts.map +1 -0
- package/dist/formatters/rowBased/context.d.ts +9 -0
- package/dist/formatters/rowBased/context.d.ts.map +1 -0
- package/dist/formatters/rowBased/definitions/index.d.ts +6 -0
- package/dist/formatters/rowBased/definitions/index.d.ts.map +1 -0
- package/dist/formatters/rowBased/index.d.ts +4 -0
- package/dist/formatters/rowBased/index.d.ts.map +1 -0
- package/dist/formatters/rowBased/registry.d.ts +19 -0
- package/dist/formatters/rowBased/registry.d.ts.map +1 -0
- package/dist/formatters/rowBased/types.d.ts +29 -0
- package/dist/formatters/rowBased/types.d.ts.map +1 -0
- package/dist/formatters/strings/index.d.ts +6 -0
- package/dist/formatters/strings/index.d.ts.map +1 -0
- package/dist/formatters/strings/normalizeText.d.ts +11 -0
- package/dist/formatters/strings/normalizeText.d.ts.map +1 -0
- package/dist/formatters/strings/startsWithIgnoringZeros.d.ts +2 -0
- package/dist/formatters/strings/startsWithIgnoringZeros.d.ts.map +1 -0
- package/dist/formatters/strings/stripInnerSpaces.d.ts +6 -0
- package/dist/formatters/strings/stripInnerSpaces.d.ts.map +1 -0
- package/dist/formatters/strings/stripLeadingZeros.d.ts +10 -0
- package/dist/formatters/strings/stripLeadingZeros.d.ts.map +1 -0
- package/dist/formatters/strings/truncateText.d.ts +2 -0
- package/dist/formatters/strings/truncateText.d.ts.map +1 -0
- package/dist/formatters/valueState/fixedValueStateResolver.d.ts +41 -0
- package/dist/formatters/valueState/fixedValueStateResolver.d.ts.map +1 -0
- package/dist/formatters/valueState/index.d.ts +7 -0
- package/dist/formatters/valueState/index.d.ts.map +1 -0
- package/dist/formatters/valueState/presentation.d.ts +4 -0
- package/dist/formatters/valueState/presentation.d.ts.map +1 -0
- package/dist/formatters/valueState/resolveValueStateClassName.d.ts +3 -0
- package/dist/formatters/valueState/resolveValueStateClassName.d.ts.map +1 -0
- package/dist/formatters/valueState/thresholdValueStateResolver.d.ts +40 -0
- package/dist/formatters/valueState/thresholdValueStateResolver.d.ts.map +1 -0
- package/dist/formatters/valueState/types.d.ts +35 -0
- package/dist/formatters/valueState/types.d.ts.map +1 -0
- package/dist/formatters/valueState/valueStateRegistry.d.ts +45 -0
- package/dist/formatters/valueState/valueStateRegistry.d.ts.map +1 -0
- package/dist/formulas/definitions/base.d.ts +7 -0
- package/dist/formulas/definitions/base.d.ts.map +1 -0
- package/dist/formulas/definitions/index.d.ts +3 -0
- package/dist/formulas/definitions/index.d.ts.map +1 -0
- package/dist/formulas/definitions/sales.d.ts +7 -0
- package/dist/formulas/definitions/sales.d.ts.map +1 -0
- package/dist/formulas/execute.d.ts +36 -0
- package/dist/formulas/execute.d.ts.map +1 -0
- package/dist/formulas/index.d.ts +5 -0
- package/dist/formulas/index.d.ts.map +1 -0
- package/dist/formulas/index.js +2 -0
- package/dist/formulas/perf.runtime.d.ts +48 -0
- package/dist/formulas/perf.runtime.d.ts.map +1 -0
- package/dist/formulas/registry.d.ts +10 -0
- package/dist/formulas/registry.d.ts.map +1 -0
- package/dist/formulas/types.d.ts +16 -0
- package/dist/formulas/types.d.ts.map +1 -0
- package/dist/formulas/validate.d.ts +22 -0
- package/dist/formulas/validate.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +11 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +291 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/types.d.ts +4 -0
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/hooks/useBlockBrowserZoom.d.ts +7 -0
- package/dist/hooks/useBlockBrowserZoom.d.ts.map +1 -0
- package/dist/hooks/useDebounce.d.ts +2 -0
- package/dist/hooks/useDebounce.d.ts.map +1 -0
- package/dist/hooks/useDebounceCallback.d.ts +22 -0
- package/dist/hooks/useDebounceCallback.d.ts.map +1 -0
- package/dist/hooks/useDndSortableSensors.d.ts +13 -0
- package/dist/hooks/useDndSortableSensors.d.ts.map +1 -0
- package/dist/hooks/useFloatingListbox.d.ts +61 -0
- package/dist/hooks/useFloatingListbox.d.ts.map +1 -0
- package/dist/hooks/useLazyComponent.d.ts +28 -0
- package/dist/hooks/useLazyComponent.d.ts.map +1 -0
- package/dist/hooks/useReferenceTrace.d.ts +2 -0
- package/dist/hooks/useReferenceTrace.d.ts.map +1 -0
- package/dist/hooks/useSearchLink.d.ts +5 -0
- package/dist/hooks/useSearchLink.d.ts.map +1 -0
- package/dist/hooks/useSearchParams.d.ts +8 -0
- package/dist/hooks/useSearchParams.d.ts.map +1 -0
- package/dist/hooks/useThrottledCallback.d.ts +43 -0
- package/dist/hooks/useThrottledCallback.d.ts.map +1 -0
- package/dist/http/httpHeaders.d.ts +3 -0
- package/dist/http/httpHeaders.d.ts.map +1 -0
- package/dist/http/index.d.ts +3 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +18 -0
- package/dist/http/index.js.map +1 -0
- package/dist/http/textResponse.d.ts +7 -0
- package/dist/http/textResponse.d.ts.map +1 -0
- package/dist/media/breakpoints.d.ts +9 -0
- package/dist/media/breakpoints.d.ts.map +1 -0
- package/dist/media/getCurrentFontSize.d.ts +4 -0
- package/dist/media/getCurrentFontSize.d.ts.map +1 -0
- package/dist/media/index.d.ts +7 -0
- package/dist/media/index.d.ts.map +1 -0
- package/dist/media/index.js +147 -0
- package/dist/media/index.js.map +1 -0
- package/dist/media/pxToEm.d.ts +2 -0
- package/dist/media/pxToEm.d.ts.map +1 -0
- package/dist/media/responsive.d.ts +29 -0
- package/dist/media/responsive.d.ts.map +1 -0
- package/dist/media/useMatchMedia.d.ts +15 -0
- package/dist/media/useMatchMedia.d.ts.map +1 -0
- package/dist/media/useMediaQuery.d.ts +10 -0
- package/dist/media/useMediaQuery.d.ts.map +1 -0
- package/dist/notifications/index.d.ts +4 -0
- package/dist/notifications/index.d.ts.map +1 -0
- package/dist/notifications/index.js +124 -0
- package/dist/notifications/index.js.map +1 -0
- package/dist/notifications/notify.d.ts +32 -0
- package/dist/notifications/notify.d.ts.map +1 -0
- package/dist/notifications/store.d.ts +31 -0
- package/dist/notifications/store.d.ts.map +1 -0
- package/dist/notifications/types.d.ts +19 -0
- package/dist/notifications/types.d.ts.map +1 -0
- package/dist/number-scale/index.d.ts +3 -0
- package/dist/number-scale/index.d.ts.map +1 -0
- package/dist/number-scale/index.js +99 -0
- package/dist/number-scale/index.js.map +1 -0
- package/dist/number-scale/numberScale.d.ts +52 -0
- package/dist/number-scale/numberScale.d.ts.map +1 -0
- package/dist/number-scale/types.d.ts +44 -0
- package/dist/number-scale/types.d.ts.map +1 -0
- package/dist/odata/buildSeparatedArrays.d.ts +10 -0
- package/dist/odata/buildSeparatedArrays.d.ts.map +1 -0
- package/dist/odata/dateUtils.d.ts +14 -0
- package/dist/odata/dateUtils.d.ts.map +1 -0
- package/dist/odata/findCollectionPairs.d.ts +11 -0
- package/dist/odata/findCollectionPairs.d.ts.map +1 -0
- package/dist/odata/index.d.ts +6 -0
- package/dist/odata/index.d.ts.map +1 -0
- package/dist/odata/index.js +102 -0
- package/dist/odata/index.js.map +1 -0
- package/dist/odata/store.d.ts +42 -0
- package/dist/odata/store.d.ts.map +1 -0
- package/dist/odata/types.d.ts +12 -0
- package/dist/odata/types.d.ts.map +1 -0
- package/dist/odata-service/baseTypes.d.ts +6 -0
- package/dist/odata-service/baseTypes.d.ts.map +1 -0
- package/dist/odata-service/builder.d.ts +33 -0
- package/dist/odata-service/builder.d.ts.map +1 -0
- package/dist/odata-service/columns.d.ts +10 -0
- package/dist/odata-service/columns.d.ts.map +1 -0
- package/dist/odata-service/filterDefinitions.d.ts +113 -0
- package/dist/odata-service/filterDefinitions.d.ts.map +1 -0
- package/dist/odata-service/filters.d.ts +75 -0
- package/dist/odata-service/filters.d.ts.map +1 -0
- package/dist/odata-service/formatters.d.ts +33 -0
- package/dist/odata-service/formatters.d.ts.map +1 -0
- package/dist/odata-service/index.d.ts +16 -0
- package/dist/odata-service/index.d.ts.map +1 -0
- package/dist/odata-service/index.js +2 -0
- package/dist/odata-service/parser.d.ts +14 -0
- package/dist/odata-service/parser.d.ts.map +1 -0
- package/dist/odata-service/schema.d.ts +8 -0
- package/dist/odata-service/schema.d.ts.map +1 -0
- package/dist/odata-service/sorts.d.ts +26 -0
- package/dist/odata-service/sorts.d.ts.map +1 -0
- package/dist/odata-service/sqlFilters.d.ts +32 -0
- package/dist/odata-service/sqlFilters.d.ts.map +1 -0
- package/dist/odata-service/types.d.ts +166 -0
- package/dist/odata-service/types.d.ts.map +1 -0
- package/dist/odata-service/typesValidation.d.ts +6 -0
- package/dist/odata-service/typesValidation.d.ts.map +1 -0
- package/dist/odata-service/unwrapODataQueryResult.d.ts +22 -0
- package/dist/odata-service/unwrapODataQueryResult.d.ts.map +1 -0
- package/dist/odata-service/utils.d.ts +5 -0
- package/dist/odata-service/utils.d.ts.map +1 -0
- package/dist/odata-service/wrapParams.d.ts +7 -0
- package/dist/odata-service/wrapParams.d.ts.map +1 -0
- package/dist/presets/index.d.ts +2 -0
- package/dist/presets/index.d.ts.map +1 -0
- package/dist/presets/index.js +23 -0
- package/dist/presets/index.js.map +1 -0
- package/dist/presets/presets.d.ts +20 -0
- package/dist/presets/presets.d.ts.map +1 -0
- package/dist/pwa/index.d.ts +3 -0
- package/dist/pwa/index.d.ts.map +1 -0
- package/dist/pwa/index.js +206 -0
- package/dist/pwa/index.js.map +1 -0
- package/dist/pwa/serviceWorker.d.ts +31 -0
- package/dist/pwa/serviceWorker.d.ts.map +1 -0
- package/dist/pwa/swCachePolicy.d.ts +24 -0
- package/dist/pwa/swCachePolicy.d.ts.map +1 -0
- package/dist/pwa/useServiceWorkerUpdate.d.ts +6 -0
- package/dist/pwa/useServiceWorkerUpdate.d.ts.map +1 -0
- package/dist/query-client/broadcast.d.ts +23 -0
- package/dist/query-client/broadcast.d.ts.map +1 -0
- package/dist/query-client/index.d.ts +5 -0
- package/dist/query-client/index.d.ts.map +1 -0
- package/dist/query-client/index.js +204 -0
- package/dist/query-client/index.js.map +1 -0
- package/dist/query-client/persistence.d.ts +33 -0
- package/dist/query-client/persistence.d.ts.map +1 -0
- package/dist/query-client/queryClient.d.ts +127 -0
- package/dist/query-client/queryClient.d.ts.map +1 -0
- package/dist/query-client/queryPersistenceAdapter.d.ts +7 -0
- package/dist/query-client/queryPersistenceAdapter.d.ts.map +1 -0
- package/dist/range-output/index.d.ts +2 -0
- package/dist/range-output/index.d.ts.map +1 -0
- package/dist/range-output/index.js +22 -0
- package/dist/range-output/index.js.map +1 -0
- package/dist/range-output/rangeOutput.d.ts +15 -0
- package/dist/range-output/rangeOutput.d.ts.map +1 -0
- package/dist/seo/index.d.ts +3 -0
- package/dist/seo/index.d.ts.map +1 -0
- package/dist/seo/index.js +125 -0
- package/dist/seo/index.js.map +1 -0
- package/dist/seo/seo.d.ts +16 -0
- package/dist/seo/seo.d.ts.map +1 -0
- package/dist/seo/types.d.ts +28 -0
- package/dist/seo/types.d.ts.map +1 -0
- package/dist/session-storage/index.d.ts +2 -0
- package/dist/session-storage/index.d.ts.map +1 -0
- package/dist/session-storage/index.js +17 -0
- package/dist/session-storage/index.js.map +1 -0
- package/dist/session-storage/sessionId.d.ts +8 -0
- package/dist/session-storage/sessionId.d.ts.map +1 -0
- package/dist/string-comparison/compareStrings.d.ts +9 -0
- package/dist/string-comparison/compareStrings.d.ts.map +1 -0
- package/dist/string-comparison/index.d.ts +2 -0
- package/dist/string-comparison/index.d.ts.map +1 -0
- package/dist/string-comparison/index.js +2 -0
- package/dist/table/columnLayout.d.ts +23 -0
- package/dist/table/columnLayout.d.ts.map +1 -0
- package/dist/table/columnOrder.d.ts +21 -0
- package/dist/table/columnOrder.d.ts.map +1 -0
- package/dist/table/columnSizing.d.ts +7 -0
- package/dist/table/columnSizing.d.ts.map +1 -0
- package/dist/table/index.d.ts +9 -0
- package/dist/table/index.d.ts.map +1 -0
- package/dist/table/index.js +229 -0
- package/dist/table/index.js.map +1 -0
- package/dist/table/odataAdapter.d.ts +63 -0
- package/dist/table/odataAdapter.d.ts.map +1 -0
- package/dist/table/selection.d.ts +16 -0
- package/dist/table/selection.d.ts.map +1 -0
- package/dist/table/types.d.ts +60 -0
- package/dist/table/types.d.ts.map +1 -0
- package/dist/table/useTableRowSelection.d.ts +19 -0
- package/dist/table/useTableRowSelection.d.ts.map +1 -0
- package/dist/table/utils.d.ts +20 -0
- package/dist/table/utils.d.ts.map +1 -0
- package/dist/three-scene/index.d.ts +3 -0
- package/dist/three-scene/index.d.ts.map +1 -0
- package/dist/three-scene/index.js +84 -0
- package/dist/three-scene/index.js.map +1 -0
- package/dist/three-scene/threeSceneAvailability.d.ts +15 -0
- package/dist/three-scene/threeSceneAvailability.d.ts.map +1 -0
- package/dist/three-scene/useThreeSceneAvailability.d.ts +8 -0
- package/dist/three-scene/useThreeSceneAvailability.d.ts.map +1 -0
- package/dist/tree-table/buildTreeTableRows.d.ts +9 -0
- package/dist/tree-table/buildTreeTableRows.d.ts.map +1 -0
- package/dist/tree-table/index.d.ts +4 -0
- package/dist/tree-table/index.d.ts.map +1 -0
- package/dist/tree-table/index.js +126 -0
- package/dist/tree-table/index.js.map +1 -0
- package/dist/tree-table/transposeFlatRowsToTreeTableRows.d.ts +11 -0
- package/dist/tree-table/transposeFlatRowsToTreeTableRows.d.ts.map +1 -0
- package/dist/tree-table/types.d.ts +87 -0
- package/dist/tree-table/types.d.ts.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/types.d.ts +12 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/utils/childrenCount.d.ts +3 -0
- package/dist/utils/childrenCount.d.ts.map +1 -0
- package/dist/utils/cn.d.ts +6 -0
- package/dist/utils/cn.d.ts.map +1 -0
- package/dist/utils/createLazyComponent.d.ts +22 -0
- package/dist/utils/createLazyComponent.d.ts.map +1 -0
- package/dist/utils/deepCloneWithoutFunctions.d.ts +20 -0
- package/dist/utils/deepCloneWithoutFunctions.d.ts.map +1 -0
- package/dist/utils/deepCopyWithoutFunctions.d.ts +10 -0
- package/dist/utils/deepCopyWithoutFunctions.d.ts.map +1 -0
- package/dist/utils/index.d.ts +17 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +209 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/keyboard.d.ts +36 -0
- package/dist/utils/keyboard.d.ts.map +1 -0
- package/dist/utils/logger.d.ts +2 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/selectNavigation.d.ts +8 -0
- package/dist/utils/selectNavigation.d.ts.map +1 -0
- package/dist/utils/stableStringify.d.ts +8 -0
- package/dist/utils/stableStringify.d.ts.map +1 -0
- package/dist/utils/toBase64.d.ts +3 -0
- package/dist/utils/toBase64.d.ts.map +1 -0
- package/dist/utils/treeNode.d.ts +9 -0
- package/dist/utils/treeNode.d.ts.map +1 -0
- package/dist/validators/index.d.ts +7 -0
- package/dist/validators/index.d.ts.map +1 -0
- package/dist/validators/index.js +54 -0
- package/dist/validators/index.js.map +1 -0
- package/dist/validators/isDomReference.d.ts +3 -0
- package/dist/validators/isDomReference.d.ts.map +1 -0
- package/dist/validators/isImageExtension.d.ts +3 -0
- package/dist/validators/isImageExtension.d.ts.map +1 -0
- package/dist/validators/isRecord.d.ts +5 -0
- package/dist/validators/isRecord.d.ts.map +1 -0
- package/dist/validators/isSafe.d.ts +2 -0
- package/dist/validators/isSafe.d.ts.map +1 -0
- package/dist/validators/positiveInteger.d.ts +2 -0
- package/dist/validators/positiveInteger.d.ts.map +1 -0
- package/dist/validators/validateUrl.d.ts +10 -0
- package/dist/validators/validateUrl.d.ts.map +1 -0
- package/dist/virtualizer/index.d.ts +2 -0
- package/dist/virtualizer/index.d.ts.map +1 -0
- package/dist/virtualizer/index.js +19 -0
- package/dist/virtualizer/index.js.map +1 -0
- package/dist/virtualizer/useFetchNextPageEffect.d.ts +8 -0
- package/dist/virtualizer/useFetchNextPageEffect.d.ts.map +1 -0
- package/dist/xml/index.d.ts +2 -0
- package/dist/xml/index.d.ts.map +1 -0
- package/dist/xml/index.js +17 -0
- package/dist/xml/index.js.map +1 -0
- package/dist/xml/xml.d.ts +5 -0
- package/dist/xml/xml.d.ts.map +1 -0
- package/package.json +428 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { useEffect as e, useEffectEvent as t, useLayoutEffect as n, useRef as r, useState as i } from "react";
|
|
2
|
+
//#region src/dom/downloadFile.ts
|
|
3
|
+
function a(e, t) {
|
|
4
|
+
let n = document.createElement("a");
|
|
5
|
+
n.href = t, n.download = e, n.click(), window.setTimeout(() => {
|
|
6
|
+
window.URL.revokeObjectURL(t);
|
|
7
|
+
}, 0);
|
|
8
|
+
}
|
|
9
|
+
function o(e, t) {
|
|
10
|
+
a(e, window.URL.createObjectURL(t));
|
|
11
|
+
}
|
|
12
|
+
function s(e, t) {
|
|
13
|
+
o(e, new Blob([JSON.stringify(t, null, 2)], { type: "application/json;charset=utf-8" }));
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
//#region src/dom/getOrCreatePortalRoot.ts
|
|
17
|
+
function c(e) {
|
|
18
|
+
if (typeof document > "u") return null;
|
|
19
|
+
let t = document.getElementById(e);
|
|
20
|
+
if (t instanceof HTMLElement) return t;
|
|
21
|
+
let n = document.createElement("div");
|
|
22
|
+
return n.id = e, document.body.append(n), n;
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
//#region src/dom/useClickOutside.ts
|
|
26
|
+
function l(t, n) {
|
|
27
|
+
e(() => {
|
|
28
|
+
let e = (e) => {
|
|
29
|
+
if (Array.isArray(t)) {
|
|
30
|
+
let r = !0;
|
|
31
|
+
for (let n of t) n.current && n.current.contains(e.target) && (r = !1);
|
|
32
|
+
r && n();
|
|
33
|
+
} else t.current && !t.current.contains(e.target) && n();
|
|
34
|
+
};
|
|
35
|
+
return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
|
|
36
|
+
}, [t, n]);
|
|
37
|
+
}
|
|
38
|
+
//#endregion
|
|
39
|
+
//#region src/dom/useElementHeightObserver.ts
|
|
40
|
+
function u(e) {
|
|
41
|
+
let [t, r] = i(0);
|
|
42
|
+
return n(() => {
|
|
43
|
+
let t = e.current;
|
|
44
|
+
if (!t) return;
|
|
45
|
+
let n = new ResizeObserver((e) => {
|
|
46
|
+
let n = e[0]?.contentRect.height ?? t.getBoundingClientRect().height;
|
|
47
|
+
r(n);
|
|
48
|
+
});
|
|
49
|
+
return n.observe(t), () => n.disconnect();
|
|
50
|
+
}, [e.current]), t;
|
|
51
|
+
}
|
|
52
|
+
//#endregion
|
|
53
|
+
//#region src/dom/useEscapeDismiss.ts
|
|
54
|
+
function d({ active: n, onDismiss: r, enabled: i = !0, documentTarget: a, containerRef: o }) {
|
|
55
|
+
let s = t(() => r());
|
|
56
|
+
e(() => {
|
|
57
|
+
if (!n || !i) return;
|
|
58
|
+
let e = a ?? (typeof document > "u" ? null : document);
|
|
59
|
+
if (!e) return;
|
|
60
|
+
let t = (t) => {
|
|
61
|
+
if (t.key !== "Escape") return;
|
|
62
|
+
let n = e.activeElement, r = o?.current;
|
|
63
|
+
r && n instanceof Node && n !== r && !r.contains(n) || (t.preventDefault(), s());
|
|
64
|
+
};
|
|
65
|
+
return e.addEventListener("keydown", t, !0), () => e.removeEventListener("keydown", t, !0);
|
|
66
|
+
}, [
|
|
67
|
+
n,
|
|
68
|
+
i,
|
|
69
|
+
a,
|
|
70
|
+
o
|
|
71
|
+
]);
|
|
72
|
+
}
|
|
73
|
+
//#endregion
|
|
74
|
+
//#region src/dom/useOverlayFocus.ts
|
|
75
|
+
var f = "button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"]):not([disabled])";
|
|
76
|
+
function p({ active: n, trapFocus: i = !1, restoreFocus: a = !0, initialFocus: o = "auto", restoreFocusTarget: s, containerRef: c }) {
|
|
77
|
+
let l = r(null), u = c ?? l, d = r(null), p = t((e) => Array.from(e.querySelectorAll(f)).filter((e) => !e.hasAttribute("aria-hidden"))), m = t((e) => {
|
|
78
|
+
if (o === "container") return e;
|
|
79
|
+
if (typeof o == "function") return o(e) ?? e;
|
|
80
|
+
let t = p(e);
|
|
81
|
+
return t.find((e) => e.hasAttribute("autofocus") || e.hasAttribute("autoFocus")) ?? t[0] ?? e;
|
|
82
|
+
}), h = t(() => s?.() ?? d.current);
|
|
83
|
+
return e(() => {
|
|
84
|
+
if (!n) return;
|
|
85
|
+
d.current = document.activeElement instanceof HTMLElement ? document.activeElement : null;
|
|
86
|
+
let e = null, t = 0, r = () => {
|
|
87
|
+
if (e = u.current, !e) {
|
|
88
|
+
t = window.requestAnimationFrame(r);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
let n = m(e);
|
|
92
|
+
n instanceof HTMLElement && n.isConnected && n.focus(), i && e.addEventListener("keydown", o);
|
|
93
|
+
}, o = (t) => {
|
|
94
|
+
if (!i || t.key !== "Tab" || !e) return;
|
|
95
|
+
let n = p(e);
|
|
96
|
+
if (n.length === 0) {
|
|
97
|
+
t.preventDefault(), e.focus();
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
let r = n[0], a = n[n.length - 1], o = document.activeElement;
|
|
101
|
+
if (t.shiftKey) {
|
|
102
|
+
(o === r || o === e) && (t.preventDefault(), a.focus());
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
o === a && (t.preventDefault(), r.focus());
|
|
106
|
+
};
|
|
107
|
+
return r(), () => {
|
|
108
|
+
if (window.cancelAnimationFrame(t), i && e && e.removeEventListener("keydown", o), !a) return;
|
|
109
|
+
let n = h();
|
|
110
|
+
n?.isConnected && n.focus();
|
|
111
|
+
};
|
|
112
|
+
}, [
|
|
113
|
+
n,
|
|
114
|
+
i,
|
|
115
|
+
a,
|
|
116
|
+
u
|
|
117
|
+
]), u;
|
|
118
|
+
}
|
|
119
|
+
//#endregion
|
|
120
|
+
//#region src/dom/useFocusTrap.ts
|
|
121
|
+
var m = (e) => p({
|
|
122
|
+
active: e,
|
|
123
|
+
trapFocus: !0,
|
|
124
|
+
restoreFocus: !0,
|
|
125
|
+
initialFocus: "auto"
|
|
126
|
+
});
|
|
127
|
+
//#endregion
|
|
128
|
+
//#region src/dom/useIntersectionObserver.ts
|
|
129
|
+
function h(t, n) {
|
|
130
|
+
let [r, a] = i(!1);
|
|
131
|
+
return e(() => {
|
|
132
|
+
let e = t.current;
|
|
133
|
+
if (!e) return;
|
|
134
|
+
let r = new IntersectionObserver(([e]) => {
|
|
135
|
+
a(e.isIntersecting);
|
|
136
|
+
}, n);
|
|
137
|
+
return r.observe(e), () => {
|
|
138
|
+
e && r.unobserve(e), r.disconnect();
|
|
139
|
+
};
|
|
140
|
+
}, [n, t]), { isIntersecting: r };
|
|
141
|
+
}
|
|
142
|
+
//#endregion
|
|
143
|
+
//#region src/dom/useIsTouchDevice.ts
|
|
144
|
+
var g = () => {
|
|
145
|
+
let [t, n] = i(!1);
|
|
146
|
+
return e(() => {
|
|
147
|
+
let e = () => {
|
|
148
|
+
let e = window.matchMedia("(pointer: coarse)").matches || "ontouchstart" in window || navigator.maxTouchPoints > 0;
|
|
149
|
+
n(e);
|
|
150
|
+
};
|
|
151
|
+
return e(), window.addEventListener("resize", e), () => {
|
|
152
|
+
window.removeEventListener("resize", e);
|
|
153
|
+
};
|
|
154
|
+
}, []), t;
|
|
155
|
+
};
|
|
156
|
+
//#endregion
|
|
157
|
+
export { o as downloadFileFromBlob, s as downloadFileFromJson, a as downloadFileFromObjectURL, c as getOrCreatePortalRoot, l as useClickOutside, u as useElementHeightObserver, d as useEscapeDismiss, m as useFocusTrap, h as useIntersectionObserver, g as useIsTouchDevice, p as useOverlayFocus };
|
|
158
|
+
|
|
159
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/dom/downloadFile.ts","../../src/dom/getOrCreatePortalRoot.ts","../../src/dom/useClickOutside.ts","../../src/dom/useElementHeightObserver.ts","../../src/dom/useEscapeDismiss.ts","../../src/dom/useOverlayFocus.ts","../../src/dom/useFocusTrap.ts","../../src/dom/useIntersectionObserver.ts","../../src/dom/useIsTouchDevice.ts"],"sourcesContent":["export function downloadFileFromObjectURL(filename: string, objectUrl: string) {\n\tconst link = document.createElement(\"a\");\n\n\tlink.href = objectUrl;\n\tlink.download = filename;\n\tlink.click();\n\n\twindow.setTimeout(() => {\n\t\twindow.URL.revokeObjectURL(objectUrl);\n\t}, 0);\n}\n\nexport function downloadFileFromBlob(filename: string, blob: Blob) {\n\tconst objectUrl = window.URL.createObjectURL(blob);\n\tdownloadFileFromObjectURL(filename, objectUrl);\n}\n\nexport function downloadFileFromJson(filename: string, payload: unknown) {\n\tconst blob = new Blob([JSON.stringify(payload, null, 2)], { type: \"application/json;charset=utf-8\" });\n\tdownloadFileFromBlob(filename, blob);\n}\n","export function getOrCreatePortalRoot(id: string): HTMLElement | null {\n\tif (typeof document === \"undefined\") {\n\t\treturn null;\n\t}\n\n\tconst existingElement = document.getElementById(id);\n\tif (existingElement instanceof HTMLElement) {\n\t\treturn existingElement;\n\t}\n\n\tconst portalRoot = document.createElement(\"div\");\n\tportalRoot.id = id;\n\tdocument.body.append(portalRoot);\n\n\treturn portalRoot;\n}\n","import { RefObject, useEffect } from \"react\";\n\nexport function useClickOutside(ref: RefObject<HTMLElement | null> | RefObject<HTMLElement | null>[], handler: () => void) {\n\tuseEffect(() => {\n\t\tconst handleClickOutside = (event: MouseEvent) => {\n\t\t\tif (Array.isArray(ref)) {\n\t\t\t\tlet isOutside = true;\n\t\t\t\tfor (const r of ref) {\n\t\t\t\t\tif (r.current && r.current.contains(event.target as Node)) {\n\t\t\t\t\t\tisOutside = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (isOutside) {\n\t\t\t\t\thandler();\n\t\t\t\t}\n\t\t\t} else if (ref.current && !ref.current.contains(event.target as Node)) {\n\t\t\t\thandler();\n\t\t\t}\n\t\t};\n\n\t\tdocument.addEventListener(\"mousedown\", handleClickOutside);\n\t\treturn () => document.removeEventListener(\"mousedown\", handleClickOutside);\n\t}, [ref, handler]);\n}\n","import { type RefObject, useLayoutEffect, useState } from \"react\";\n\nexport function useElementHeightObserver<TElement extends HTMLElement>(elementRef: RefObject<TElement | null>) {\n\tconst [height, setHeight] = useState(0);\n\n\tuseLayoutEffect(() => {\n\t\tconst element = elementRef.current;\n\t\tif (!element) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst observer = new ResizeObserver((entries) => {\n\t\t\tconst nextHeight = entries[0]?.contentRect.height ?? element.getBoundingClientRect().height;\n\t\t\tsetHeight(nextHeight);\n\t\t});\n\t\tobserver.observe(element);\n\n\t\treturn () => observer.disconnect();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps, react-hooks/refs\n\t}, [elementRef.current]);\n\n\treturn height;\n}\n","import { RefObject, useEffect, useEffectEvent } from \"react\";\n\ninterface UseEscapeDismissOptions {\n\tactive: boolean;\n\tonDismiss: () => void;\n\tenabled?: boolean;\n\tdocumentTarget?: Document | null;\n\tcontainerRef?: RefObject<HTMLElement | null>;\n}\n\n/**\n * Подписывает overlay на закрытие по клавише Escape.\n */\nexport function useEscapeDismiss({ active, onDismiss, enabled = true, documentTarget, containerRef }: UseEscapeDismissOptions) {\n\tconst dismiss = useEffectEvent(() => onDismiss());\n\n\tuseEffect(() => {\n\t\tif (!active || !enabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst targetDocument = documentTarget ?? (typeof document === \"undefined\" ? null : document);\n\t\tif (!targetDocument) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst handleKeyDown = (event: KeyboardEvent) => {\n\t\t\tif (event.key !== \"Escape\" /*|| event.defaultPrevented*/) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst activeElement = targetDocument.activeElement;\n\t\t\tconst container = containerRef?.current;\n\t\t\tif (container && activeElement instanceof Node && activeElement !== container && !container.contains(activeElement)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tevent.preventDefault();\n\t\t\tdismiss();\n\t\t};\n\n\t\ttargetDocument.addEventListener(\"keydown\", handleKeyDown, true);\n\t\treturn () => targetDocument.removeEventListener(\"keydown\", handleKeyDown, true);\n\t}, [active, enabled, documentTarget, containerRef]);\n}\n","import { RefObject, useEffect, useEffectEvent, useRef } from \"react\";\n\nconst focusableElementsSelector =\n\t'button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"]):not([disabled])';\n\nexport interface UseOverlayFocusOptions<T extends HTMLElement> {\n\tactive: boolean;\n\ttrapFocus?: boolean;\n\trestoreFocus?: boolean;\n\tinitialFocus?: \"auto\" | \"container\" | ((container: T) => HTMLElement | null | undefined);\n\trestoreFocusTarget?: () => HTMLElement | null | undefined;\n\tcontainerRef?: RefObject<T | null>;\n}\n\n/**\n * Возвращает ref overlay-контейнера и управляет начальными/возвратными переходами фокуса.\n */\nexport function useOverlayFocus<T extends HTMLElement>({\n\tactive,\n\ttrapFocus = false,\n\trestoreFocus = true,\n\tinitialFocus = \"auto\",\n\trestoreFocusTarget,\n\tcontainerRef\n}: UseOverlayFocusOptions<T>) {\n\tconst internalOverlayRef = useRef<T | null>(null);\n\tconst overlayRef = containerRef ?? internalOverlayRef;\n\tconst previousActiveElementRef = useRef<HTMLElement | null>(null);\n\n\t/**\n\t * Собирает фокусируемые элементы overlay в актуальном DOM-порядке.\n\t */\n\tconst getFocusableElements = useEffectEvent((container: T) =>\n\t\tArray.from(container.querySelectorAll<HTMLElement>(focusableElementsSelector)).filter(\n\t\t\t(element) => !element.hasAttribute(\"aria-hidden\")\n\t\t)\n\t);\n\n\t/**\n\t * Вычисляет стартовый фокус при открытии overlay.\n\t */\n\tconst resolveInitialFocus = useEffectEvent((container: T) => {\n\t\tif (initialFocus === \"container\") {\n\t\t\treturn container;\n\t\t}\n\n\t\tif (typeof initialFocus === \"function\") {\n\t\t\treturn initialFocus(container) ?? container;\n\t\t}\n\n\t\tconst focusableElements = getFocusableElements(container);\n\t\treturn (\n\t\t\tfocusableElements.find((element) => element.hasAttribute(\"autofocus\") || element.hasAttribute(\"autoFocus\")) ??\n\t\t\tfocusableElements[0] ??\n\t\t\tcontainer\n\t\t);\n\t});\n\n\t/**\n\t * Вычисляет элемент, которому нужно вернуть фокус после закрытия overlay.\n\t */\n\tconst resolveRestoreFocusTarget = useEffectEvent(() => restoreFocusTarget?.() ?? previousActiveElementRef.current);\n\n\tuseEffect(() => {\n\t\tif (!active) {\n\t\t\treturn;\n\t\t}\n\n\t\tpreviousActiveElementRef.current = document.activeElement instanceof HTMLElement ? document.activeElement : null;\n\t\tlet overlayElement: T | null = null;\n\t\tlet rafId = 0;\n\n\t\t/**\n\t\t * Цикл откладывает инициализацию, пока ref контейнера не будет привязан к DOM.\n\t\t */\n\t\tconst attachOverlay = () => {\n\t\t\toverlayElement = overlayRef.current;\n\t\t\tif (!overlayElement) {\n\t\t\t\trafId = window.requestAnimationFrame(attachOverlay);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst focusTarget = resolveInitialFocus(overlayElement);\n\t\t\tif (focusTarget instanceof HTMLElement && focusTarget.isConnected) {\n\t\t\t\tfocusTarget.focus();\n\t\t\t}\n\n\t\t\tif (trapFocus) {\n\t\t\t\toverlayElement.addEventListener(\"keydown\", handleTabKey);\n\t\t\t}\n\t\t};\n\n\t\t/**\n\t\t * Зацикливает Tab внутри overlay, пока он открыт как модальный слой.\n\t\t */\n\t\tconst handleTabKey = (event: KeyboardEvent) => {\n\t\t\tif (!trapFocus || event.key !== \"Tab\" || !overlayElement) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst focusableElements = getFocusableElements(overlayElement);\n\t\t\tif (focusableElements.length === 0) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\toverlayElement.focus();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst firstElement = focusableElements[0];\n\t\t\tconst lastElement = focusableElements[focusableElements.length - 1];\n\t\t\tconst activeElement = document.activeElement;\n\n\t\t\tif (event.shiftKey) {\n\t\t\t\tif (activeElement === firstElement || activeElement === overlayElement) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tlastElement.focus();\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (activeElement === lastElement) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tfirstElement.focus();\n\t\t\t}\n\t\t};\n\n\t\tattachOverlay();\n\n\t\treturn () => {\n\t\t\twindow.cancelAnimationFrame(rafId);\n\t\t\tif (trapFocus && overlayElement) {\n\t\t\t\toverlayElement.removeEventListener(\"keydown\", handleTabKey);\n\t\t\t}\n\n\t\t\tif (!restoreFocus) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst restoreTarget = resolveRestoreFocusTarget();\n\t\t\tif (restoreTarget?.isConnected) {\n\t\t\t\trestoreTarget.focus();\n\t\t\t}\n\t\t};\n\t}, [active, trapFocus, restoreFocus, overlayRef]);\n\n\treturn overlayRef;\n}\n","import { useOverlayFocus } from \"./useOverlayFocus\";\n\n/**\n * Совместимый wrapper для overlay с фокус-ловушкой.\n */\nexport const useFocusTrap = (isOpen: boolean) => {\n\treturn useOverlayFocus<HTMLDivElement>({ active: isOpen, trapFocus: true, restoreFocus: true, initialFocus: \"auto\" });\n};\n","import { useEffect, useState } from \"react\";\n\nexport function useIntersectionObserver(ref: React.RefObject<Element | null>, options?: IntersectionObserverInit) {\n\tconst [isIntersecting, setIsIntersecting] = useState(false);\n\n\tuseEffect(() => {\n\t\tconst el = ref.current;\n\t\tif (!el) return;\n\n\t\tconst observer = new IntersectionObserver(([entry]) => {\n\t\t\tsetIsIntersecting(entry.isIntersecting);\n\t\t}, options);\n\n\t\tobserver.observe(el);\n\n\t\treturn () => {\n\t\t\tif (el) {\n\t\t\t\tobserver.unobserve(el);\n\t\t\t}\n\t\t\tobserver.disconnect();\n\t\t};\n\t}, [options, ref]); // не забыть, что ref.current может меняться\n\n\treturn { isIntersecting };\n}\n","import { useEffect, useState } from \"react\";\n\nexport const useIsTouchDevice = () => {\n\tconst [isTouchDevice, setIsTouchDevice] = useState(false);\n\n\tuseEffect(() => {\n\t\tconst checkTouchDevice = () => {\n\t\t\tconst isTouch = window.matchMedia(\"(pointer: coarse)\").matches || \"ontouchstart\" in window || navigator.maxTouchPoints > 0;\n\t\t\tsetIsTouchDevice(isTouch);\n\t\t};\n\n\t\tcheckTouchDevice();\n\n\t\t// Обработчик для изменений в типе устройства\n\t\twindow.addEventListener(\"resize\", checkTouchDevice);\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"resize\", checkTouchDevice);\n\t\t};\n\t}, []);\n\n\treturn isTouchDevice;\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useClickOutside.d.ts","sourceRoot":"","sources":["../../src/dom/useClickOutside.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AAE7C,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,IAAI,QAqBxH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useElementHeightObserver.d.ts","sourceRoot":"","sources":["../../src/dom/useElementHeightObserver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAA6B,MAAM,OAAO,CAAC;AAElE,wBAAgB,wBAAwB,CAAC,QAAQ,SAAS,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,UAoB5G"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { RefObject } from "react";
|
|
2
|
+
interface UseEscapeDismissOptions {
|
|
3
|
+
active: boolean;
|
|
4
|
+
onDismiss: () => void;
|
|
5
|
+
enabled?: boolean;
|
|
6
|
+
documentTarget?: Document | null;
|
|
7
|
+
containerRef?: RefObject<HTMLElement | null>;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Подписывает overlay на закрытие по клавише Escape.
|
|
11
|
+
*/
|
|
12
|
+
export declare function useEscapeDismiss({ active, onDismiss, enabled, documentTarget, containerRef }: UseEscapeDismissOptions): void;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=useEscapeDismiss.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEscapeDismiss.d.ts","sourceRoot":"","sources":["../../src/dom/useEscapeDismiss.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA6B,MAAM,OAAO,CAAC;AAE7D,UAAU,uBAAuB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACjC,YAAY,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAc,EAAE,cAAc,EAAE,YAAY,EAAE,EAAE,uBAAuB,QA+B5H"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFocusTrap.d.ts","sourceRoot":"","sources":["../../src/dom/useFocusTrap.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,OAAO,qDAE3C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIntersectionObserver.d.ts","sourceRoot":"","sources":["../../src/dom/useIntersectionObserver.ts"],"names":[],"mappings":"AAEA,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,wBAAwB;;EAsB/G"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsTouchDevice.d.ts","sourceRoot":"","sources":["../../src/dom/useIsTouchDevice.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,eAoB5B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { RefObject } from "react";
|
|
2
|
+
export interface UseOverlayFocusOptions<T extends HTMLElement> {
|
|
3
|
+
active: boolean;
|
|
4
|
+
trapFocus?: boolean;
|
|
5
|
+
restoreFocus?: boolean;
|
|
6
|
+
initialFocus?: "auto" | "container" | ((container: T) => HTMLElement | null | undefined);
|
|
7
|
+
restoreFocusTarget?: () => HTMLElement | null | undefined;
|
|
8
|
+
containerRef?: RefObject<T | null>;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Возвращает ref overlay-контейнера и управляет начальными/возвратными переходами фокуса.
|
|
12
|
+
*/
|
|
13
|
+
export declare function useOverlayFocus<T extends HTMLElement>({ active, trapFocus, restoreFocus, initialFocus, restoreFocusTarget, containerRef }: UseOverlayFocusOptions<T>): RefObject<T | null>;
|
|
14
|
+
//# sourceMappingURL=useOverlayFocus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOverlayFocus.d.ts","sourceRoot":"","sources":["../../src/dom/useOverlayFocus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqC,MAAM,OAAO,CAAC;AAKrE,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,WAAW;IAC5D,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,KAAK,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IACzF,kBAAkB,CAAC,EAAE,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1D,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,WAAW,EAAE,EACtD,MAAM,EACN,SAAiB,EACjB,YAAmB,EACnB,YAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,EAAE,sBAAsB,CAAC,CAAC,CAAC,uBAyH3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/error/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region src/error/missingContextError.ts
|
|
2
|
+
function e({ hookName: e, providerName: t, contextName: n }) {
|
|
3
|
+
let r = n ? ` "${n}"` : "";
|
|
4
|
+
return [
|
|
5
|
+
`Хук ${e} должен использоваться внутри ${t}.`,
|
|
6
|
+
`Контекст${r} равен null, поэтому, вероятно, дерево компонентов не обёрнуто в ${t}.`,
|
|
7
|
+
`Убедитесь, что ${t} расположен выше компонента, который вызывает ${e}.`
|
|
8
|
+
].join(" ");
|
|
9
|
+
}
|
|
10
|
+
function t({ hookName: t, providerName: n, contextName: r }) {
|
|
11
|
+
return Error(e({
|
|
12
|
+
hookName: t,
|
|
13
|
+
providerName: n,
|
|
14
|
+
contextName: r
|
|
15
|
+
}));
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
export { t as createMissingContextError, e as createMissingContextErrorMessage };
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/error/missingContextError.ts"],"sourcesContent":["type ContextErrorMessageOptions = {\n\thookName: string;\n\tproviderName: string;\n\tcontextName?: string;\n};\n\nexport function createMissingContextErrorMessage({ hookName, providerName, contextName }: ContextErrorMessageOptions): string {\n\tconst contextPart = contextName ? ` \"${contextName}\"` : \"\";\n\n\treturn [\n\t\t`Хук ${hookName} должен использоваться внутри ${providerName}.`,\n\t\t`Контекст${contextPart} равен null, поэтому, вероятно, дерево компонентов не обёрнуто в ${providerName}.`,\n\t\t`Убедитесь, что ${providerName} расположен выше компонента, который вызывает ${hookName}.`\n\t].join(\" \");\n}\n\ntype MissingContextErrorOptions = {\n\thookName: string;\n\tproviderName: string;\n\tcontextName?: string;\n};\n\nexport function createMissingContextError({ hookName, providerName, contextName }: MissingContextErrorOptions): Error {\n\treturn new Error(\n\t\tcreateMissingContextErrorMessage({\n\t\t\thookName,\n\t\t\tproviderName,\n\t\t\tcontextName\n\t\t})\n\t);\n}\n"],"mappings":";AAMA,SAAgB,EAAiC,EAAE,aAAU,iBAAc,kBAAmD;CAC7H,IAAM,IAAc,IAAc,KAAK,EAAY,KAAK;CAExD,OAAO;EACN,OAAO,EAAS,gCAAgC,EAAa;EAC7D,WAAW,EAAY,mEAAmE,EAAa;EACvG,kBAAkB,EAAa,gDAAgD,EAAS;CACzF,CAAC,CAAC,KAAK,GAAG;AACX;AAQA,SAAgB,EAA0B,EAAE,aAAU,iBAAc,kBAAkD;CACrH,OAAW,MACV,EAAiC;EAChC;EACA;EACA;CACD,CAAC,CACF;AACD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
type ContextErrorMessageOptions = {
|
|
2
|
+
hookName: string;
|
|
3
|
+
providerName: string;
|
|
4
|
+
contextName?: string;
|
|
5
|
+
};
|
|
6
|
+
export declare function createMissingContextErrorMessage({ hookName, providerName, contextName }: ContextErrorMessageOptions): string;
|
|
7
|
+
type MissingContextErrorOptions = {
|
|
8
|
+
hookName: string;
|
|
9
|
+
providerName: string;
|
|
10
|
+
contextName?: string;
|
|
11
|
+
};
|
|
12
|
+
export declare function createMissingContextError({ hookName, providerName, contextName }: MissingContextErrorOptions): Error;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=missingContextError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"missingContextError.d.ts","sourceRoot":"","sources":["../../src/error/missingContextError.ts"],"names":[],"mappings":"AAAA,KAAK,0BAA0B,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAgB,gCAAgC,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,0BAA0B,GAAG,MAAM,CAQ5H;AAED,KAAK,0BAA0B,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,0BAA0B,GAAG,KAAK,CAQpH"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ErrorReportBreadcrumb } from "./types";
|
|
2
|
+
export declare function addErrorReportBreadcrumb(breadcrumb: Omit<ErrorReportBreadcrumb, "utc"> & {
|
|
3
|
+
utc?: string;
|
|
4
|
+
}): void;
|
|
5
|
+
export declare function getErrorReportBreadcrumbs(): ErrorReportBreadcrumb[];
|
|
6
|
+
export declare function clearErrorReportBreadcrumbs(): void;
|
|
7
|
+
/**
|
|
8
|
+
* Подключает breadcrumbs по действиям пользователя без тел запросов.
|
|
9
|
+
*/
|
|
10
|
+
export declare function installErrorReportBrowserBreadcrumbs(): () => void;
|
|
11
|
+
//# sourceMappingURL=breadcrumbs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breadcrumbs.d.ts","sourceRoot":"","sources":["../../src/error-report/breadcrumbs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAyBrD,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,IAAI,CAAC,qBAAqB,EAAE,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,QAEzG;AAED,wBAAgB,yBAAyB,4BAExC;AAED,wBAAgB,2BAA2B,SAE1C;AA+GD;;GAEG;AACH,wBAAgB,oCAAoC,eAyBnD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type Mutation, type Query, type QueryClient } from "@tanstack/react-query";
|
|
2
|
+
import type { ErrorReportMutationContext, ErrorReportQueryContext, ErrorReportRuntimeContext } from "./types";
|
|
3
|
+
export declare function captureQueryErrorReport(error: unknown, query: Query<unknown, unknown, unknown>, queryClient: QueryClient, context?: ErrorReportQueryContext): Promise<import("./types").ErrorReportDraft | undefined>;
|
|
4
|
+
export declare function captureMutationErrorReport(error: unknown, mutation: Mutation<unknown, unknown, unknown, unknown>, queryClient: QueryClient, context?: ErrorReportMutationContext): Promise<import("./types").ErrorReportDraft | undefined>;
|
|
5
|
+
export declare function captureRuntimeErrorReport(error: unknown, context?: ErrorReportRuntimeContext, queryClient?: QueryClient): Promise<import("./types").ErrorReportDraft | undefined>;
|
|
6
|
+
//# sourceMappingURL=capture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../src/error-report/capture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAcpF,OAAO,KAAK,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAE9G,wBAAsB,uBAAuB,CAC5C,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EACvC,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE,uBAAuB,2DA4BjC;AAED,wBAAsB,0BAA0B,CAC/C,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EACtD,WAAW,EAAE,WAAW,EACxB,OAAO,GAAE,0BAA+B,2DAuBxC;AAED,wBAAsB,yBAAyB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,yBAA8B,EAAE,WAAW,CAAC,EAAE,WAAW,2DAqBjI"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type MutationKey, type MutationState, type QueryClient, type QueryKey, type QueryState } from "@tanstack/react-query";
|
|
2
|
+
import { type ErrorReportMutationDiagnostics, type ErrorReportPersistedQueryDiagnostics, type ErrorReportQueryDiagnostics } from "./types";
|
|
3
|
+
type QueryDiagnosticSource = {
|
|
4
|
+
queryHash: string;
|
|
5
|
+
queryKey: QueryKey;
|
|
6
|
+
state: QueryState<unknown, unknown>;
|
|
7
|
+
meta?: Record<string, unknown>;
|
|
8
|
+
getObserversCount: () => number;
|
|
9
|
+
};
|
|
10
|
+
type MutationDiagnosticSource = {
|
|
11
|
+
options: {
|
|
12
|
+
mutationKey?: MutationKey;
|
|
13
|
+
};
|
|
14
|
+
state: MutationState<unknown, unknown, unknown, unknown>;
|
|
15
|
+
meta?: Record<string, unknown>;
|
|
16
|
+
};
|
|
17
|
+
export declare function collectQueryDiagnostics(query: QueryDiagnosticSource): ErrorReportQueryDiagnostics;
|
|
18
|
+
export declare function collectMutationDiagnostics(mutation: MutationDiagnosticSource): ErrorReportMutationDiagnostics;
|
|
19
|
+
export declare function collectQueryClientDiagnostics(queryClient: QueryClient): {
|
|
20
|
+
queries: ErrorReportQueryDiagnostics[];
|
|
21
|
+
mutations: ErrorReportMutationDiagnostics[];
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Читает IndexedDB persistence и возвращает только технические поля.
|
|
25
|
+
* `state.data` и другие значения кеша не попадают в результат.
|
|
26
|
+
*/
|
|
27
|
+
export declare function collectPersistedQueryDiagnostics(): Promise<ErrorReportPersistedQueryDiagnostics[]>;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=diagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/error-report/diagnostics.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAM/H,OAAO,EACN,KAAK,8BAA8B,EACnC,KAAK,oCAAoC,EACzC,KAAK,2BAA2B,EAEhC,MAAM,SAAS,CAAC;AAEjB,KAAK,qBAAqB,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,iBAAiB,EAAE,MAAM,MAAM,CAAC;CAChC,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC/B,OAAO,EAAE;QACR,WAAW,CAAC,EAAE,WAAW,CAAC;KAC1B,CAAC;IACF,KAAK,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,CAAC;AAUF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,qBAAqB,GAAG,2BAA2B,CAejG;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,wBAAwB,GAAG,8BAA8B,CAS7G;AAED,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,WAAW;;;EAKrE;AAmBD;;;GAGG;AACH,wBAAsB,gCAAgC,IAAI,OAAO,CAAC,oCAAoC,EAAE,CAAC,CAYxG"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ErrorReportCategory, ErrorReportDraft, ErrorReportErrorInfo, ErrorReportPayload, ErrorReportSafeValue } from "./types";
|
|
2
|
+
export declare function getErrorReportDraft(reportId: string): ErrorReportDraft | undefined;
|
|
3
|
+
export declare function updateErrorReportDraft(reportId: string, patch: Partial<ErrorReportDraft>): {
|
|
4
|
+
reportId: string;
|
|
5
|
+
sessionId: string;
|
|
6
|
+
createdUtc: string;
|
|
7
|
+
category: ErrorReportCategory;
|
|
8
|
+
status: import("./types").ErrorReportStatus;
|
|
9
|
+
sentUtc?: string;
|
|
10
|
+
failedReason?: string;
|
|
11
|
+
payload: ErrorReportPayload;
|
|
12
|
+
} | undefined;
|
|
13
|
+
export declare function getErrorReportDrafts(): ErrorReportDraft[];
|
|
14
|
+
export declare function captureErrorReportDraft(args: {
|
|
15
|
+
category: ErrorReportCategory;
|
|
16
|
+
source: string;
|
|
17
|
+
error: ErrorReportErrorInfo;
|
|
18
|
+
query?: ErrorReportPayload["query"];
|
|
19
|
+
mutation?: ErrorReportPayload["mutation"];
|
|
20
|
+
queryClient?: ErrorReportPayload["queryClient"];
|
|
21
|
+
persistedQueries?: ErrorReportPayload["persistedQueries"];
|
|
22
|
+
react?: ErrorReportPayload["react"];
|
|
23
|
+
context?: Record<string, ErrorReportSafeValue>;
|
|
24
|
+
}): ErrorReportDraft | undefined;
|
|
25
|
+
//# sourceMappingURL=drafts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drafts.d.ts","sourceRoot":"","sources":["../../src/error-report/drafts.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAsDrI,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,gCAEnD;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC;;;;;;;;;cAOxF;AAED,wBAAgB,oBAAoB,uBAEnC;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC7C,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,oBAAoB,CAAC;IAC5B,KAAK,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC1C,WAAW,CAAC,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAChD,gBAAgB,CAAC,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;IAC1D,KAAK,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CAC/C,gCAoCA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
type ErrorReportEnvironmentOptions = {
|
|
2
|
+
isDev?: boolean;
|
|
3
|
+
};
|
|
4
|
+
/**
|
|
5
|
+
* Отчеты собираются только в браузере и только вне dev-режима.
|
|
6
|
+
* На серверном рендеринге draft не создается, чтобы не смешивать SSR-ошибки с клиентской диагностикой.
|
|
7
|
+
*/
|
|
8
|
+
export declare function isErrorReportingEnabled(options?: ErrorReportEnvironmentOptions): boolean;
|
|
9
|
+
export declare function getErrorReportEnvironment(): {
|
|
10
|
+
mode: "development" | "production";
|
|
11
|
+
buildId: string | undefined;
|
|
12
|
+
};
|
|
13
|
+
export declare function getErrorReportClientEnvironment(): {
|
|
14
|
+
userAgent: string;
|
|
15
|
+
language: string;
|
|
16
|
+
timeZone: string;
|
|
17
|
+
} | undefined;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=environment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/error-report/environment.ts"],"names":[],"mappings":"AAAA,KAAK,6BAA6B,GAAG;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,GAAE,6BAAkC,WAIlF;AAED,wBAAgB,yBAAyB;;;EAOxC;AAED,wBAAgB,+BAA+B;;;;cAQ9C"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ErrorReportErrorInfo } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Нормализует любое брошенное значение в форму, удобную для поиска и сохранения.
|
|
4
|
+
* Stacktrace намеренно сохраняется полностью: это основная диагностическая ценность отчета.
|
|
5
|
+
*/
|
|
6
|
+
export declare function createErrorInfo(error: unknown): ErrorReportErrorInfo;
|
|
7
|
+
//# sourceMappingURL=errorInfo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errorInfo.d.ts","sourceRoot":"","sources":["../../src/error-report/errorInfo.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAgCpD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CA4BpE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from "./breadcrumbs";
|
|
2
|
+
export * from "./capture";
|
|
3
|
+
export * from "./diagnostics";
|
|
4
|
+
export * from "./drafts";
|
|
5
|
+
export * from "./environment";
|
|
6
|
+
export * from "./errorInfo";
|
|
7
|
+
export * from "./runtime";
|
|
8
|
+
export * from "./safeValue";
|
|
9
|
+
export * from "./transport";
|
|
10
|
+
export * from "./types";
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/error-report/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
|