@wow-two-beta/ui-vue 0.0.2
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 +113 -0
- package/dist/analytics/Analytics.d.ts +50 -0
- package/dist/analytics/AnalyticsEvent.d.ts +49 -0
- package/dist/analytics/AnalyticsProvider.d.ts +37 -0
- package/dist/analytics/ConsoleAnalyticsProvider.d.ts +8 -0
- package/dist/analytics/MemoryAnalyticsProvider.d.ts +19 -0
- package/dist/analytics/index.d.ts +5 -0
- package/dist/analytics/index.js +196 -0
- package/dist/analytics/index.js.map +1 -0
- package/dist/auth/AuthBridge.d.ts +30 -0
- package/dist/auth/AuthContext.d.ts +41 -0
- package/dist/auth/AuthProvider.vue.d.ts +33 -0
- package/dist/auth/AuthSession.d.ts +41 -0
- package/dist/auth/BearerStrategy.d.ts +36 -0
- package/dist/auth/CookieStrategy.d.ts +29 -0
- package/dist/auth/RedirectStrategy.d.ts +24 -0
- package/dist/auth/TokenStorage.d.ts +9 -0
- package/dist/auth/index.d.ts +8 -0
- package/dist/auth/index.js +275 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/chunks/Accept-BWpCXDmS.js +35 -0
- package/dist/chunks/Accept-BWpCXDmS.js.map +1 -0
- package/dist/chunks/Align-DqFtCY3a.js +12 -0
- package/dist/chunks/Align-DqFtCY3a.js.map +1 -0
- package/dist/chunks/AnchoredPositioner.vue_vue_type_script_setup_true_lang-BpBVI2Cu.js +53 -0
- package/dist/chunks/AnchoredPositioner.vue_vue_type_script_setup_true_lang-BpBVI2Cu.js.map +1 -0
- package/dist/chunks/Announce.vue_vue_type_script_setup_true_lang-CDTltiIl.js +46 -0
- package/dist/chunks/Announce.vue_vue_type_script_setup_true_lang-CDTltiIl.js.map +1 -0
- package/dist/chunks/ApiError-l0YdcqqV.js +15 -0
- package/dist/chunks/ApiError-l0YdcqqV.js.map +1 -0
- package/dist/chunks/BackToTopButton.vue_vue_type_script_setup_true_lang-CkxLllEO.js +996 -0
- package/dist/chunks/BackToTopButton.vue_vue_type_script_setup_true_lang-CkxLllEO.js.map +1 -0
- package/dist/chunks/Backdrop.vue_vue_type_script_setup_true_lang-DZUhGY9p.js +78 -0
- package/dist/chunks/Backdrop.vue_vue_type_script_setup_true_lang-DZUhGY9p.js.map +1 -0
- package/dist/chunks/BottomSheet.vue_vue_type_script_setup_true_lang-CmNoI4BE.js +1094 -0
- package/dist/chunks/BottomSheet.vue_vue_type_script_setup_true_lang-CmNoI4BE.js.map +1 -0
- package/dist/chunks/Bytes-7Jxs6Bq6.js +21 -0
- package/dist/chunks/Bytes-7Jxs6Bq6.js.map +1 -0
- package/dist/chunks/ChatComposer.vue_vue_type_script_setup_true_lang-lNcRhKIv.js +12748 -0
- package/dist/chunks/ChatComposer.vue_vue_type_script_setup_true_lang-lNcRhKIv.js.map +1 -0
- package/dist/chunks/Chord-D9Z-j3O0.js +139 -0
- package/dist/chunks/Chord-D9Z-j3O0.js.map +1 -0
- package/dist/chunks/ColorModeContext-Bz6CBL0V.js +21 -0
- package/dist/chunks/ColorModeContext-Bz6CBL0V.js.map +1 -0
- package/dist/chunks/Compare-Du6p-OX1.js +18 -0
- package/dist/chunks/Compare-Du6p-OX1.js.map +1 -0
- package/dist/chunks/ControlGroup.vue_vue_type_script_setup_true_lang-CV8Xstes.js +229 -0
- package/dist/chunks/ControlGroup.vue_vue_type_script_setup_true_lang-CV8Xstes.js.map +1 -0
- package/dist/chunks/CornerPosition-FneGck5D.js +14 -0
- package/dist/chunks/CornerPosition-FneGck5D.js.map +1 -0
- package/dist/chunks/CssExtensions-BzLJG57F.js +161 -0
- package/dist/chunks/CssExtensions-BzLJG57F.js.map +1 -0
- package/dist/chunks/DateExtensions-QahSUlRy.js +282 -0
- package/dist/chunks/DateExtensions-QahSUlRy.js.map +1 -0
- package/dist/chunks/DeepEqual-7lBKnkNS.js +29 -0
- package/dist/chunks/DeepEqual-7lBKnkNS.js.map +1 -0
- package/dist/chunks/DismissableLayer.vue_vue_type_script_setup_true_lang-6nRnzsJW.js +214 -0
- package/dist/chunks/DismissableLayer.vue_vue_type_script_setup_true_lang-6nRnzsJW.js.map +1 -0
- package/dist/chunks/DrawerContent.vue_vue_type_script_setup_true_lang-DvvrJdF0.js +207 -0
- package/dist/chunks/DrawerContent.vue_vue_type_script_setup_true_lang-DvvrJdF0.js.map +1 -0
- package/dist/chunks/EmojiCatalog-CR4Lcm43.js +1923 -0
- package/dist/chunks/EmojiCatalog-CR4Lcm43.js.map +1 -0
- package/dist/chunks/Environment-CuQav_mw.js +68 -0
- package/dist/chunks/Environment-CuQav_mw.js.map +1 -0
- package/dist/chunks/Equality-DIQYQysz.js +21 -0
- package/dist/chunks/Equality-DIQYQysz.js.map +1 -0
- package/dist/chunks/ErrorLike-Cfj0lZW3.js +27 -0
- package/dist/chunks/ErrorLike-Cfj0lZW3.js.map +1 -0
- package/dist/chunks/ErrorMessage-Cqt7WaFn.js +26 -0
- package/dist/chunks/ErrorMessage-Cqt7WaFn.js.map +1 -0
- package/dist/chunks/ErrorRecognizers-oTklha6D.js +17 -0
- package/dist/chunks/ErrorRecognizers-oTklha6D.js.map +1 -0
- package/dist/chunks/FeedbackBus-BRbyOMCn.js +39 -0
- package/dist/chunks/FeedbackBus-BRbyOMCn.js.map +1 -0
- package/dist/chunks/FieldErrors-2zjhia4U.js +56 -0
- package/dist/chunks/FieldErrors-2zjhia4U.js.map +1 -0
- package/dist/chunks/FileName-CmNjFV7t.js +30 -0
- package/dist/chunks/FileName-CmNjFV7t.js.map +1 -0
- package/dist/chunks/FormControlContext-B71MFW26.js +22 -0
- package/dist/chunks/FormControlContext-B71MFW26.js.map +1 -0
- package/dist/chunks/FormControlProvider.vue_vue_type_script_setup_true_lang-Fak7Jv46.js +73 -0
- package/dist/chunks/FormControlProvider.vue_vue_type_script_setup_true_lang-Fak7Jv46.js.map +1 -0
- package/dist/chunks/HtmlExtensions-jlKY5f9C.js +23 -0
- package/dist/chunks/HtmlExtensions-jlKY5f9C.js.map +1 -0
- package/dist/chunks/Icon.vue_vue_type_script_setup_true_lang-DgwdLCRR.js +27 -0
- package/dist/chunks/Icon.vue_vue_type_script_setup_true_lang-DgwdLCRR.js.map +1 -0
- package/dist/chunks/Inline.vue_vue_type_script_setup_true_lang-BvWbQpJD.js +68 -0
- package/dist/chunks/Inline.vue_vue_type_script_setup_true_lang-BvWbQpJD.js.map +1 -0
- package/dist/chunks/KeyboardExtensions-CQlkK53D.js +34 -0
- package/dist/chunks/KeyboardExtensions-CQlkK53D.js.map +1 -0
- package/dist/chunks/Listbox.variants-CqAkYsmK.js +44 -0
- package/dist/chunks/Listbox.variants-CqAkYsmK.js.map +1 -0
- package/dist/chunks/LocaleContext-B3UXrI6p.js +39 -0
- package/dist/chunks/LocaleContext-B3UXrI6p.js.map +1 -0
- package/dist/chunks/Messages-BGfQHMmW.js +201 -0
- package/dist/chunks/Messages-BGfQHMmW.js.map +1 -0
- package/dist/chunks/ModalContent.vue_vue_type_script_setup_true_lang-CLACSqKg.js +191 -0
- package/dist/chunks/ModalContent.vue_vue_type_script_setup_true_lang-CLACSqKg.js.map +1 -0
- package/dist/chunks/NavItem.vue_vue_type_script_setup_true_lang-CGBo2TiV.js +86 -0
- package/dist/chunks/NavItem.vue_vue_type_script_setup_true_lang-CGBo2TiV.js.map +1 -0
- package/dist/chunks/Navbar.vue_vue_type_script_setup_true_lang-Cl2ejukE.js +2073 -0
- package/dist/chunks/Navbar.vue_vue_type_script_setup_true_lang-Cl2ejukE.js.map +1 -0
- package/dist/chunks/NotificationItem.vue_vue_type_script_setup_true_lang-gi0uHIuK.js +2727 -0
- package/dist/chunks/NotificationItem.vue_vue_type_script_setup_true_lang-gi0uHIuK.js.map +1 -0
- package/dist/chunks/OptionTileGroup.vue_vue_type_script_setup_true_lang-BGSmXM_u.js +943 -0
- package/dist/chunks/OptionTileGroup.vue_vue_type_script_setup_true_lang-BGSmXM_u.js.map +1 -0
- package/dist/chunks/Orientation-u-sYunuG.js +10 -0
- package/dist/chunks/Orientation-u-sYunuG.js.map +1 -0
- package/dist/chunks/OverlayArrow.vue_vue_type_script_setup_true_lang-CLYhnI8i.js +33 -0
- package/dist/chunks/OverlayArrow.vue_vue_type_script_setup_true_lang-CLYhnI8i.js.map +1 -0
- package/dist/chunks/OverlayChrome-e4MNr8Yl.js +17 -0
- package/dist/chunks/OverlayChrome-e4MNr8Yl.js.map +1 -0
- package/dist/chunks/OverlayPosition-BNybkMGG.js +18 -0
- package/dist/chunks/OverlayPosition-BNybkMGG.js.map +1 -0
- package/dist/chunks/PopoverContent.vue_vue_type_script_setup_true_lang-D-OiGICS.js +212 -0
- package/dist/chunks/PopoverContent.vue_vue_type_script_setup_true_lang-D-OiGICS.js.map +1 -0
- package/dist/chunks/Portal.vue_vue_type_script_setup_true_lang-CF3R0VCZ.js +34 -0
- package/dist/chunks/Portal.vue_vue_type_script_setup_true_lang-CF3R0VCZ.js.map +1 -0
- package/dist/chunks/Presence-C7IJvh_P.js +120 -0
- package/dist/chunks/Presence-C7IJvh_P.js.map +1 -0
- package/dist/chunks/PressExtensions-DXqhjlR2.js +16 -0
- package/dist/chunks/PressExtensions-DXqhjlR2.js.map +1 -0
- package/dist/chunks/Primitive-Cm3ECaVw.js +20 -0
- package/dist/chunks/Primitive-Cm3ECaVw.js.map +1 -0
- package/dist/chunks/ProgressTone-BpLPUptx.js +16 -0
- package/dist/chunks/ProgressTone-BpLPUptx.js.map +1 -0
- package/dist/chunks/QueryPermission--OKfvS9c.js +82 -0
- package/dist/chunks/QueryPermission--OKfvS9c.js.map +1 -0
- package/dist/chunks/QueryPlugin-CfotNm6j.js +12 -0
- package/dist/chunks/QueryPlugin-CfotNm6j.js.map +1 -0
- package/dist/chunks/RovingFocusGroup.vue_vue_type_script_setup_true_lang-DCpYSP2V.js +235 -0
- package/dist/chunks/RovingFocusGroup.vue_vue_type_script_setup_true_lang-DCpYSP2V.js.map +1 -0
- package/dist/chunks/ScrollLockProvider.vue_vue_type_script_setup_true_lang-_ihHJ7jI.js +20 -0
- package/dist/chunks/ScrollLockProvider.vue_vue_type_script_setup_true_lang-_ihHJ7jI.js.map +1 -0
- package/dist/chunks/SerializeError-CclP2jCW.js +61 -0
- package/dist/chunks/SerializeError-CclP2jCW.js.map +1 -0
- package/dist/chunks/Severity-D0C5oAt-.js +16 -0
- package/dist/chunks/Severity-D0C5oAt-.js.map +1 -0
- package/dist/chunks/Side-CSys3p-F.js +23 -0
- package/dist/chunks/Side-CSys3p-F.js.map +1 -0
- package/dist/chunks/Slot-D2lIitvV.js +103 -0
- package/dist/chunks/Slot-D2lIitvV.js.map +1 -0
- package/dist/chunks/SortableHandle.vue_vue_type_script_setup_true_lang-CWCXGjZG.js +10364 -0
- package/dist/chunks/SortableHandle.vue_vue_type_script_setup_true_lang-CWCXGjZG.js.map +1 -0
- package/dist/chunks/Spinner.vue_vue_type_script_setup_true_lang-BAepBy2n.js +23 -0
- package/dist/chunks/Spinner.vue_vue_type_script_setup_true_lang-BAepBy2n.js.map +1 -0
- package/dist/chunks/Spinner.vue_vue_type_script_setup_true_lang-C4lNiUOm.js +76 -0
- package/dist/chunks/Spinner.vue_vue_type_script_setup_true_lang-C4lNiUOm.js.map +1 -0
- package/dist/chunks/StatusTone-BoPK1s09.js +16 -0
- package/dist/chunks/StatusTone-BoPK1s09.js.map +1 -0
- package/dist/chunks/StorageBroker-COC81ZGB.js +64 -0
- package/dist/chunks/StorageBroker-COC81ZGB.js.map +1 -0
- package/dist/chunks/StyleTokens-Bkz7Dm5L.js +65 -0
- package/dist/chunks/StyleTokens-Bkz7Dm5L.js.map +1 -0
- package/dist/chunks/SubmitErrors-K8nmmj0P.js +374 -0
- package/dist/chunks/SubmitErrors-K8nmmj0P.js.map +1 -0
- package/dist/chunks/SurfaceStyles-ChdpGRBO.js +143 -0
- package/dist/chunks/SurfaceStyles-ChdpGRBO.js.map +1 -0
- package/dist/chunks/TableOfContents.vue_vue_type_script_setup_true_lang-HVL4lg_f.js +2159 -0
- package/dist/chunks/TableOfContents.vue_vue_type_script_setup_true_lang-HVL4lg_f.js.map +1 -0
- package/dist/chunks/ToError-CyTBsmLO.js +52 -0
- package/dist/chunks/ToError-CyTBsmLO.js.map +1 -0
- package/dist/chunks/Tones-CI65uuq9.js +90 -0
- package/dist/chunks/Tones-CI65uuq9.js.map +1 -0
- package/dist/chunks/TransitionExtensions-hFi80JX2.js +19 -0
- package/dist/chunks/TransitionExtensions-hFi80JX2.js.map +1 -0
- package/dist/chunks/UseHotkeys-CKIYK5Mq.js +82 -0
- package/dist/chunks/UseHotkeys-CKIYK5Mq.js.map +1 -0
- package/dist/chunks/UseNavigationProgress-TQIkkXyU.js +51 -0
- package/dist/chunks/UseNavigationProgress-TQIkkXyU.js.map +1 -0
- package/dist/chunks/cn-CzDCF-Ah.js +9 -0
- package/dist/chunks/cn-CzDCF-Ah.js.map +1 -0
- package/dist/chunks/dataAttr-7BR67dTj.js +7 -0
- package/dist/chunks/dataAttr-7BR67dTj.js.map +1 -0
- package/dist/chunks/index-BD7H9CkO.js +130 -0
- package/dist/chunks/index-BD7H9CkO.js.map +1 -0
- package/dist/chunks/index-BGzbbN9T.js +1707 -0
- package/dist/chunks/index-BGzbbN9T.js.map +1 -0
- package/dist/chunks/index-C034dEhy.js +205 -0
- package/dist/chunks/index-C034dEhy.js.map +1 -0
- package/dist/chunks/index-Cbydgcdk.js +234 -0
- package/dist/chunks/index-Cbydgcdk.js.map +1 -0
- package/dist/chunks/index-CzKEU1kI.js +11 -0
- package/dist/chunks/index-CzKEU1kI.js.map +1 -0
- package/dist/chunks/index-KL15HQew.js +61 -0
- package/dist/chunks/index-KL15HQew.js.map +1 -0
- package/dist/chunks/index-drjQ833B.js +10 -0
- package/dist/chunks/index-drjQ833B.js.map +1 -0
- package/dist/chunks/useClipboard-BVRwXC--.js +37 -0
- package/dist/chunks/useClipboard-BVRwXC--.js.map +1 -0
- package/dist/chunks/useControlled-B6M4kTLn.js +24 -0
- package/dist/chunks/useControlled-B6M4kTLn.js.map +1 -0
- package/dist/chunks/useDebounceHandler-BIZgvvGp.js +20 -0
- package/dist/chunks/useDebounceHandler-BIZgvvGp.js.map +1 -0
- package/dist/chunks/useEscape-CYPdpm_l.js +15 -0
- package/dist/chunks/useEscape-CYPdpm_l.js.map +1 -0
- package/dist/chunks/useEventListener-gohT6zGs.js +16 -0
- package/dist/chunks/useEventListener-gohT6zGs.js.map +1 -0
- package/dist/chunks/useId-CtgAhGrn.js +9 -0
- package/dist/chunks/useId-CtgAhGrn.js.map +1 -0
- package/dist/chunks/useMediaQuery-DwVcSgGk.js +27 -0
- package/dist/chunks/useMediaQuery-DwVcSgGk.js.map +1 -0
- package/dist/chunks/useOutsideClick-CW80BJfE.js +22 -0
- package/dist/chunks/useOutsideClick-CW80BJfE.js.map +1 -0
- package/dist/chunks/useRecentItems-DFnt5CBy.js +137 -0
- package/dist/chunks/useRecentItems-DFnt5CBy.js.map +1 -0
- package/dist/chunks/useReducedMotion-B9LqQ3UT.js +8 -0
- package/dist/chunks/useReducedMotion-B9LqQ3UT.js.map +1 -0
- package/dist/chunks/useResizeObserver-BUU7lC-n.js +17 -0
- package/dist/chunks/useResizeObserver-BUU7lC-n.js.map +1 -0
- package/dist/chunks/useScrollLock-d6YIGUcs.js +37 -0
- package/dist/chunks/useScrollLock-d6YIGUcs.js.map +1 -0
- package/dist/domain/color/Gradient.d.ts +60 -0
- package/dist/domain/color/GradientType.d.ts +8 -0
- package/dist/domain/color/index.d.ts +3 -0
- package/dist/domain/color/index.js +6 -0
- package/dist/domain/color/index.js.map +1 -0
- package/dist/domain/emoji/EmojiCatalog.d.ts +29 -0
- package/dist/domain/emoji/EmojiCatalogData.d.ts +3 -0
- package/dist/domain/emoji/EmojiCategory.d.ts +20 -0
- package/dist/domain/emoji/index.d.ts +3 -0
- package/dist/domain/emoji/index.js +6 -0
- package/dist/domain/emoji/index.js.map +1 -0
- package/dist/feedback/FeedbackBus.d.ts +71 -0
- package/dist/feedback/FeedbackQueryErrors.d.ts +21 -0
- package/dist/feedback/index.d.ts +2 -0
- package/dist/feedback/index.js +20 -0
- package/dist/feedback/index.js.map +1 -0
- package/dist/flags/FlagClient.d.ts +72 -0
- package/dist/flags/FlagProvider.d.ts +38 -0
- package/dist/flags/FlagTypes.d.ts +85 -0
- package/dist/flags/FlagsContext.d.ts +32 -0
- package/dist/flags/FlagsProvider.vue.d.ts +24 -0
- package/dist/flags/StaticFlagProvider.d.ts +51 -0
- package/dist/flags/index.d.ts +6 -0
- package/dist/flags/index.js +243 -0
- package/dist/flags/index.js.map +1 -0
- package/dist/forms-engine/AppForm.d.ts +258 -0
- package/dist/forms-engine/DeepEqual.d.ts +8 -0
- package/dist/forms-engine/FocusFirstInvalid.d.ts +15 -0
- package/dist/forms-engine/FormGlue.d.ts +55 -0
- package/dist/forms-engine/Paths.d.ts +47 -0
- package/dist/forms-engine/SchemaValidation.d.ts +29 -0
- package/dist/forms-engine/StandardSchema.d.ts +55 -0
- package/dist/forms-engine/SubmitErrors.d.ts +33 -0
- package/dist/forms-engine/UseFieldArray.d.ts +87 -0
- package/dist/forms-engine/house/HouseFormCore.d.ts +33 -0
- package/dist/forms-engine/house/UseAppForm.d.ts +16 -0
- package/dist/forms-engine/house/index.d.ts +7 -0
- package/dist/forms-engine/house/index.js +315 -0
- package/dist/forms-engine/house/index.js.map +1 -0
- package/dist/forms-engine/index.d.ts +10 -0
- package/dist/forms-engine/index.js +127 -0
- package/dist/forms-engine/index.js.map +1 -0
- package/dist/forms-engine/tanstack/TanstackFormOverlay.d.ts +49 -0
- package/dist/forms-engine/tanstack/UseAppForm.d.ts +26 -0
- package/dist/forms-engine/tanstack/index.d.ts +8 -0
- package/dist/forms-engine/tanstack/index.js +407 -0
- package/dist/forms-engine/tanstack/index.js.map +1 -0
- package/dist/foundation/animation/Animate.d.ts +73 -0
- package/dist/foundation/animation/AnimatedLayout.d.ts +72 -0
- package/dist/foundation/animation/Flip.d.ts +90 -0
- package/dist/foundation/animation/UseFlip.d.ts +22 -0
- package/dist/foundation/animation/index.d.ts +4 -0
- package/dist/foundation/animation/index.js +241 -0
- package/dist/foundation/animation/index.js.map +1 -0
- package/dist/foundation/async/Abort.d.ts +33 -0
- package/dist/foundation/async/Combinators.d.ts +17 -0
- package/dist/foundation/async/Deferred.d.ts +18 -0
- package/dist/foundation/async/Limit.d.ts +36 -0
- package/dist/foundation/async/Rate.d.ts +31 -0
- package/dist/foundation/async/Retry.d.ts +20 -0
- package/dist/foundation/async/Timeout.d.ts +32 -0
- package/dist/foundation/async/index.d.ts +7 -0
- package/dist/foundation/async/index.js +290 -0
- package/dist/foundation/async/index.js.map +1 -0
- package/dist/foundation/clipboard/ClipboardPermission.d.ts +17 -0
- package/dist/foundation/clipboard/ClipboardResult.d.ts +102 -0
- package/dist/foundation/clipboard/ClipboardSupport.d.ts +55 -0
- package/dist/foundation/clipboard/CopyItems.d.ts +44 -0
- package/dist/foundation/clipboard/CopyText.d.ts +16 -0
- package/dist/foundation/clipboard/LegacyCopy.d.ts +38 -0
- package/dist/foundation/clipboard/PasteItems.d.ts +25 -0
- package/dist/foundation/clipboard/ReadClipboard.d.ts +29 -0
- package/dist/foundation/clipboard/UseClipboardCopy.d.ts +40 -0
- package/dist/foundation/clipboard/UsePasteHandler.d.ts +35 -0
- package/dist/foundation/clipboard/index.d.ts +10 -0
- package/dist/foundation/clipboard/index.js +437 -0
- package/dist/foundation/clipboard/index.js.map +1 -0
- package/dist/foundation/collections/Arrays.d.ts +131 -0
- package/dist/foundation/collections/Comparison.d.ts +39 -0
- package/dist/foundation/collections/Records.d.ts +72 -0
- package/dist/foundation/collections/SetOps.d.ts +45 -0
- package/dist/foundation/collections/Tree.d.ts +63 -0
- package/dist/foundation/collections/index.d.ts +5 -0
- package/dist/foundation/collections/index.js +460 -0
- package/dist/foundation/collections/index.js.map +1 -0
- package/dist/foundation/commands/Command.d.ts +46 -0
- package/dist/foundation/commands/CommandRegistry.d.ts +36 -0
- package/dist/foundation/commands/CommandShortcut.d.ts +8 -0
- package/dist/foundation/commands/CommandsContext.d.ts +30 -0
- package/dist/foundation/commands/CommandsProvider.vue.d.ts +18 -0
- package/dist/foundation/commands/SearchCommands.d.ts +28 -0
- package/dist/foundation/commands/UseCommandRegistry.d.ts +19 -0
- package/dist/foundation/commands/UseCommandShortcuts.d.ts +18 -0
- package/dist/foundation/commands/index.d.ts +8 -0
- package/dist/foundation/commands/index.js +278 -0
- package/dist/foundation/commands/index.js.map +1 -0
- package/dist/foundation/config/ConfigField.d.ts +60 -0
- package/dist/foundation/config/ConfigSource.d.ts +24 -0
- package/dist/foundation/config/DefineConfig.d.ts +43 -0
- package/dist/foundation/config/index.d.ts +3 -0
- package/dist/foundation/config/index.js +186 -0
- package/dist/foundation/config/index.js.map +1 -0
- package/dist/foundation/crypto/Digest.d.ts +25 -0
- package/dist/foundation/crypto/Encoding.d.ts +43 -0
- package/dist/foundation/crypto/HashObject.d.ts +18 -0
- package/dist/foundation/crypto/Random.d.ts +32 -0
- package/dist/foundation/crypto/TimingSafeEqual.d.ts +12 -0
- package/dist/foundation/crypto/WebCrypto.d.ts +15 -0
- package/dist/foundation/crypto/index.d.ts +6 -0
- package/dist/foundation/crypto/index.js +226 -0
- package/dist/foundation/crypto/index.js.map +1 -0
- package/dist/foundation/datetime/Arithmetic.d.ts +31 -0
- package/dist/foundation/datetime/Boundaries.d.ts +24 -0
- package/dist/foundation/datetime/Comparison.d.ts +43 -0
- package/dist/foundation/datetime/Difference.d.ts +28 -0
- package/dist/foundation/datetime/Internals.d.ts +12 -0
- package/dist/foundation/datetime/Interval.d.ts +38 -0
- package/dist/foundation/datetime/IsoDate.d.ts +24 -0
- package/dist/foundation/datetime/index.d.ts +6 -0
- package/dist/foundation/datetime/index.js +302 -0
- package/dist/foundation/datetime/index.js.map +1 -0
- package/dist/foundation/device/Breakpoints.d.ts +54 -0
- package/dist/foundation/device/DisplayMode.d.ts +13 -0
- package/dist/foundation/device/Platform.d.ts +27 -0
- package/dist/foundation/device/PointerType.d.ts +11 -0
- package/dist/foundation/device/UseBreakpoint.d.ts +20 -0
- package/dist/foundation/device/UseDisplayMode.d.ts +23 -0
- package/dist/foundation/device/UseOnlineStatus.d.ts +12 -0
- package/dist/foundation/device/UsePointer.d.ts +25 -0
- package/dist/foundation/device/index.d.ts +8 -0
- package/dist/foundation/device/index.js +187 -0
- package/dist/foundation/device/index.js.map +1 -0
- package/dist/foundation/errors/ErrorChain.d.ts +23 -0
- package/dist/foundation/errors/ErrorLike.d.ts +35 -0
- package/dist/foundation/errors/ErrorMessage.d.ts +13 -0
- package/dist/foundation/errors/ErrorRecognizers.d.ts +18 -0
- package/dist/foundation/errors/SerializeError.d.ts +25 -0
- package/dist/foundation/errors/ToError.d.ts +15 -0
- package/dist/foundation/errors/index.d.ts +6 -0
- package/dist/foundation/errors/index.js +18 -0
- package/dist/foundation/errors/index.js.map +1 -0
- package/dist/foundation/files/Accept.d.ts +30 -0
- package/dist/foundation/files/DownloadFile.d.ts +10 -0
- package/dist/foundation/files/FileName.d.ts +21 -0
- package/dist/foundation/files/ReadFile.d.ts +6 -0
- package/dist/foundation/files/index.d.ts +4 -0
- package/dist/foundation/files/index.js +62 -0
- package/dist/foundation/files/index.js.map +1 -0
- package/dist/foundation/format/Bytes.d.ts +15 -0
- package/dist/foundation/format/Count.d.ts +10 -0
- package/dist/foundation/format/Duration.d.ts +13 -0
- package/dist/foundation/format/Text.d.ts +51 -0
- package/dist/foundation/format/index.d.ts +4 -0
- package/dist/foundation/format/index.js +100 -0
- package/dist/foundation/format/index.js.map +1 -0
- package/dist/foundation/geolocation/CanLocate.d.ts +18 -0
- package/dist/foundation/geolocation/Coordinates.d.ts +41 -0
- package/dist/foundation/geolocation/DistanceBetween.d.ts +21 -0
- package/dist/foundation/geolocation/GeolocationPermission.d.ts +13 -0
- package/dist/foundation/geolocation/GeolocationReading.d.ts +30 -0
- package/dist/foundation/geolocation/GetCurrentPosition.d.ts +14 -0
- package/dist/foundation/geolocation/PositionResult.d.ts +74 -0
- package/dist/foundation/geolocation/UseGeolocation.d.ts +38 -0
- package/dist/foundation/geolocation/UseWatchPosition.d.ts +16 -0
- package/dist/foundation/geolocation/WatchPosition.d.ts +19 -0
- package/dist/foundation/geolocation/index.d.ts +10 -0
- package/dist/foundation/geolocation/index.js +236 -0
- package/dist/foundation/geolocation/index.js.map +1 -0
- package/dist/foundation/gestures/GestureAxis.d.ts +11 -0
- package/dist/foundation/gestures/GestureMath.d.ts +182 -0
- package/dist/foundation/gestures/SwipeDirection.d.ts +13 -0
- package/dist/foundation/gestures/UseDrag.d.ts +75 -0
- package/dist/foundation/gestures/UseLongPress.d.ts +42 -0
- package/dist/foundation/gestures/UsePinch.d.ts +47 -0
- package/dist/foundation/gestures/UseSwipe.d.ts +46 -0
- package/dist/foundation/gestures/index.d.ts +7 -0
- package/dist/foundation/gestures/index.js +440 -0
- package/dist/foundation/gestures/index.js.map +1 -0
- package/dist/foundation/hooks/index.d.ts +17 -0
- package/dist/foundation/hooks/index.js +34 -0
- package/dist/foundation/hooks/index.js.map +1 -0
- package/dist/foundation/hooks/useAutosave/index.d.ts +1 -0
- package/dist/foundation/hooks/useAutosave/useAutosave.d.ts +46 -0
- package/dist/foundation/hooks/useClipboard/index.d.ts +1 -0
- package/dist/foundation/hooks/useClipboard/useClipboard.d.ts +24 -0
- package/dist/foundation/hooks/useControlled/index.d.ts +1 -0
- package/dist/foundation/hooks/useControlled/useControlled.d.ts +31 -0
- package/dist/foundation/hooks/useDebounceHandler/index.d.ts +1 -0
- package/dist/foundation/hooks/useDebounceHandler/useDebounceHandler.d.ts +16 -0
- package/dist/foundation/hooks/useDisclosure/index.d.ts +1 -0
- package/dist/foundation/hooks/useDisclosure/useDisclosure.d.ts +18 -0
- package/dist/foundation/hooks/useEscape/index.d.ts +1 -0
- package/dist/foundation/hooks/useEscape/useEscape.d.ts +10 -0
- package/dist/foundation/hooks/useEventListener/index.d.ts +1 -0
- package/dist/foundation/hooks/useEventListener/useEventListener.d.ts +17 -0
- package/dist/foundation/hooks/useFocusTrap/index.d.ts +1 -0
- package/dist/foundation/hooks/useFocusTrap/useFocusTrap.d.ts +15 -0
- package/dist/foundation/hooks/useId/index.d.ts +1 -0
- package/dist/foundation/hooks/useId/useId.d.ts +8 -0
- package/dist/foundation/hooks/useMediaQuery/index.d.ts +1 -0
- package/dist/foundation/hooks/useMediaQuery/useMediaQuery.d.ts +12 -0
- package/dist/foundation/hooks/useOutsideClick/index.d.ts +1 -0
- package/dist/foundation/hooks/useOutsideClick/useOutsideClick.d.ts +12 -0
- package/dist/foundation/hooks/usePersistentState/index.d.ts +1 -0
- package/dist/foundation/hooks/usePersistentState/usePersistentState.d.ts +31 -0
- package/dist/foundation/hooks/useRecentItems/index.d.ts +1 -0
- package/dist/foundation/hooks/useRecentItems/useRecentItems.d.ts +34 -0
- package/dist/foundation/hooks/useReducedMotion/index.d.ts +1 -0
- package/dist/foundation/hooks/useReducedMotion/useReducedMotion.d.ts +7 -0
- package/dist/foundation/hooks/useResizeObserver/index.d.ts +1 -0
- package/dist/foundation/hooks/useResizeObserver/useResizeObserver.d.ts +11 -0
- package/dist/foundation/hooks/useScrollLock/index.d.ts +1 -0
- package/dist/foundation/hooks/useScrollLock/useScrollLock.d.ts +11 -0
- package/dist/foundation/hooks/useTypeahead/index.d.ts +1 -0
- package/dist/foundation/hooks/useTypeahead/useTypeahead.d.ts +42 -0
- package/dist/foundation/http/ApiError.d.ts +7 -0
- package/dist/foundation/http/ApiResponse.d.ts +4 -0
- package/dist/foundation/http/CreateApiClient.d.ts +65 -0
- package/dist/foundation/http/DateBrands.d.ts +8 -0
- package/dist/foundation/http/Envelope.d.ts +33 -0
- package/dist/foundation/http/FieldErrors.d.ts +16 -0
- package/dist/foundation/http/Page.d.ts +47 -0
- package/dist/foundation/http/ProblemDetails.d.ts +9 -0
- package/dist/foundation/http/index.d.ts +9 -0
- package/dist/foundation/http/index.js +180 -0
- package/dist/foundation/http/index.js.map +1 -0
- package/dist/foundation/http/temporalReviver.d.ts +9 -0
- package/dist/foundation/i18n/FormattedRelative.vue.d.ts +10 -0
- package/dist/foundation/i18n/LocaleContext.d.ts +35 -0
- package/dist/foundation/i18n/LocaleFormatters.d.ts +24 -0
- package/dist/foundation/i18n/LocaleProvider.vue.d.ts +18 -0
- package/dist/foundation/i18n/index.d.ts +4 -0
- package/dist/foundation/i18n/index.js +79 -0
- package/dist/foundation/i18n/index.js.map +1 -0
- package/dist/foundation/icons/Icon.vue.d.ts +40 -0
- package/dist/foundation/icons/Spinner.vue.d.ts +7 -0
- package/dist/foundation/icons/index.d.ts +2 -0
- package/dist/foundation/icons/index.js +7 -0
- package/dist/foundation/icons/index.js.map +1 -0
- package/dist/foundation/idb/IdbPromises.d.ts +25 -0
- package/dist/foundation/idb/IndexedDbSupport.d.ts +32 -0
- package/dist/foundation/idb/KeyValueStore.d.ts +84 -0
- package/dist/foundation/idb/OpenDatabase.d.ts +62 -0
- package/dist/foundation/idb/Transactions.d.ts +44 -0
- package/dist/foundation/idb/index.d.ts +5 -0
- package/dist/foundation/idb/index.js +403 -0
- package/dist/foundation/idb/index.js.map +1 -0
- package/dist/foundation/identifiers/Guid.d.ts +41 -0
- package/dist/foundation/identifiers/index.d.ts +1 -0
- package/dist/foundation/identifiers/index.js +68 -0
- package/dist/foundation/identifiers/index.js.map +1 -0
- package/dist/foundation/logger/ConsoleLogSink.d.ts +8 -0
- package/dist/foundation/logger/LogLevel.d.ts +34 -0
- package/dist/foundation/logger/LogRecord.d.ts +17 -0
- package/dist/foundation/logger/LogSink.d.ts +17 -0
- package/dist/foundation/logger/Logger.d.ts +55 -0
- package/dist/foundation/logger/MemoryLogSink.d.ts +11 -0
- package/dist/foundation/logger/Redaction.d.ts +29 -0
- package/dist/foundation/logger/index.d.ts +7 -0
- package/dist/foundation/logger/index.js +232 -0
- package/dist/foundation/logger/index.js.map +1 -0
- package/dist/foundation/media/CanCaptureMedia.d.ts +36 -0
- package/dist/foundation/media/FacingMode.d.ts +45 -0
- package/dist/foundation/media/ListMediaDevices.d.ts +41 -0
- package/dist/foundation/media/MediaPermission.d.ts +23 -0
- package/dist/foundation/media/MediaStreamResult.d.ts +45 -0
- package/dist/foundation/media/RequestMediaStream.d.ts +37 -0
- package/dist/foundation/media/StopMediaStream.d.ts +10 -0
- package/dist/foundation/media/UseMediaStream.d.ts +41 -0
- package/dist/foundation/media/index.d.ts +8 -0
- package/dist/foundation/media/index.js +218 -0
- package/dist/foundation/media/index.js.map +1 -0
- package/dist/foundation/net/ConnectionState.d.ts +36 -0
- package/dist/foundation/net/CreateEventStream.d.ts +101 -0
- package/dist/foundation/net/CreatePoller.d.ts +59 -0
- package/dist/foundation/net/CreateSocketClient.d.ts +93 -0
- package/dist/foundation/net/Liveness.d.ts +41 -0
- package/dist/foundation/net/Reconnect.d.ts +49 -0
- package/dist/foundation/net/UseEventStream.d.ts +25 -0
- package/dist/foundation/net/UsePolling.d.ts +26 -0
- package/dist/foundation/net/UseSocket.d.ts +32 -0
- package/dist/foundation/net/index.d.ts +9 -0
- package/dist/foundation/net/index.js +840 -0
- package/dist/foundation/net/index.js.map +1 -0
- package/dist/foundation/notifications/CanNotify.d.ts +11 -0
- package/dist/foundation/notifications/NotificationPermission.d.ts +31 -0
- package/dist/foundation/notifications/Notify.d.ts +66 -0
- package/dist/foundation/notifications/QueryPermission.d.ts +55 -0
- package/dist/foundation/notifications/UseNotificationPermission.d.ts +27 -0
- package/dist/foundation/notifications/UsePermissionState.d.ts +14 -0
- package/dist/foundation/notifications/index.d.ts +6 -0
- package/dist/foundation/notifications/index.js +199 -0
- package/dist/foundation/notifications/index.js.map +1 -0
- package/dist/foundation/observers/ObserveIntersection.d.ts +57 -0
- package/dist/foundation/observers/ObserveMutation.d.ts +52 -0
- package/dist/foundation/observers/UseInView.d.ts +41 -0
- package/dist/foundation/observers/UseIntersectionObserver.d.ts +18 -0
- package/dist/foundation/observers/UseMutationObserver.d.ts +21 -0
- package/dist/foundation/observers/UseVisibility.d.ts +33 -0
- package/dist/foundation/observers/VisibilitySteps.d.ts +14 -0
- package/dist/foundation/observers/index.d.ts +7 -0
- package/dist/foundation/observers/index.js +199 -0
- package/dist/foundation/observers/index.js.map +1 -0
- package/dist/foundation/primitives/accessibleIcon/AccessibleIcon.d.ts +27 -0
- package/dist/foundation/primitives/accessibleIcon/index.d.ts +1 -0
- package/dist/foundation/primitives/anchoredPositioner/AnchoredPositioner.vue.d.ts +37 -0
- package/dist/foundation/primitives/anchoredPositioner/index.d.ts +1 -0
- package/dist/foundation/primitives/announce/Announce.vue.d.ts +28 -0
- package/dist/foundation/primitives/announce/index.d.ts +1 -0
- package/dist/foundation/primitives/collection/Collection.d.ts +24 -0
- package/dist/foundation/primitives/collection/index.d.ts +1 -0
- package/dist/foundation/primitives/colorModeProvider/ColorModeContext.d.ts +26 -0
- package/dist/foundation/primitives/colorModeProvider/ColorModeProvider.vue.d.ts +20 -0
- package/dist/foundation/primitives/colorModeProvider/index.d.ts +2 -0
- package/dist/foundation/primitives/directionProvider/DirectionContext.d.ts +23 -0
- package/dist/foundation/primitives/directionProvider/DirectionProvider.vue.d.ts +14 -0
- package/dist/foundation/primitives/directionProvider/index.d.ts +2 -0
- package/dist/foundation/primitives/dismissableLayer/DismissableLayer.vue.d.ts +22 -0
- package/dist/foundation/primitives/dismissableLayer/index.d.ts +1 -0
- package/dist/foundation/primitives/focusScope/FocusScope.vue.d.ts +26 -0
- package/dist/foundation/primitives/focusScope/index.d.ts +1 -0
- package/dist/foundation/primitives/formControlContext/FormControlContext.d.ts +57 -0
- package/dist/foundation/primitives/formControlContext/FormControlProvider.vue.d.ts +25 -0
- package/dist/foundation/primitives/formControlContext/index.d.ts +2 -0
- package/dist/foundation/primitives/index.d.ts +17 -0
- package/dist/foundation/primitives/index.js +52 -0
- package/dist/foundation/primitives/index.js.map +1 -0
- package/dist/foundation/primitives/overlayArrow/OverlayArrow.vue.d.ts +27 -0
- package/dist/foundation/primitives/overlayArrow/index.d.ts +1 -0
- package/dist/foundation/primitives/portal/Portal.vue.d.ts +16 -0
- package/dist/foundation/primitives/portal/index.d.ts +1 -0
- package/dist/foundation/primitives/presence/Presence.d.ts +32 -0
- package/dist/foundation/primitives/presence/index.d.ts +1 -0
- package/dist/foundation/primitives/rovingFocusGroup/RovingFocusContext.d.ts +74 -0
- package/dist/foundation/primitives/rovingFocusGroup/RovingFocusGroup.vue.d.ts +20 -0
- package/dist/foundation/primitives/rovingFocusGroup/index.d.ts +2 -0
- package/dist/foundation/primitives/scrollLockProvider/ScrollLockProvider.vue.d.ts +15 -0
- package/dist/foundation/primitives/scrollLockProvider/index.d.ts +1 -0
- package/dist/foundation/primitives/scrollViewport/ScrollViewport.vue.d.ts +41 -0
- package/dist/foundation/primitives/scrollViewport/index.d.ts +1 -0
- package/dist/foundation/primitives/slot/Primitive.d.ts +69 -0
- package/dist/foundation/primitives/slot/Slot.d.ts +38 -0
- package/dist/foundation/primitives/slot/index.d.ts +2 -0
- package/dist/foundation/primitives/visuallyHidden/VisuallyHidden.vue.d.ts +11 -0
- package/dist/foundation/primitives/visuallyHidden/index.d.ts +1 -0
- package/dist/foundation/resilience/BackoffStrategy.d.ts +10 -0
- package/dist/foundation/resilience/JitterStrategy.d.ts +12 -0
- package/dist/foundation/resilience/RetryDelay.d.ts +5 -0
- package/dist/foundation/resilience/RetryPolicy.d.ts +34 -0
- package/dist/foundation/resilience/index.d.ts +4 -0
- package/dist/foundation/resilience/index.js +63 -0
- package/dist/foundation/resilience/index.js.map +1 -0
- package/dist/foundation/screen/Fullscreen.d.ts +73 -0
- package/dist/foundation/screen/ScreenEnvironment.d.ts +42 -0
- package/dist/foundation/screen/ScreenOrientation.d.ts +110 -0
- package/dist/foundation/screen/ScreenResult.d.ts +38 -0
- package/dist/foundation/screen/UseFullscreen.d.ts +28 -0
- package/dist/foundation/screen/UseOrientation.d.ts +28 -0
- package/dist/foundation/screen/UseWakeLock.d.ts +18 -0
- package/dist/foundation/screen/WakeLock.d.ts +79 -0
- package/dist/foundation/screen/index.d.ts +7 -0
- package/dist/foundation/screen/index.js +402 -0
- package/dist/foundation/screen/index.js.map +1 -0
- package/dist/foundation/selection/Field.d.ts +31 -0
- package/dist/foundation/selection/Filter.d.ts +71 -0
- package/dist/foundation/selection/Selection.d.ts +116 -0
- package/dist/foundation/selection/Sort.d.ts +69 -0
- package/dist/foundation/selection/UseFilters.d.ts +34 -0
- package/dist/foundation/selection/UseSelection.d.ts +54 -0
- package/dist/foundation/selection/UseSort.d.ts +36 -0
- package/dist/foundation/selection/index.d.ts +7 -0
- package/dist/foundation/selection/index.js +407 -0
- package/dist/foundation/selection/index.js.map +1 -0
- package/dist/foundation/share/CanShare.d.ts +11 -0
- package/dist/foundation/share/Share.d.ts +45 -0
- package/dist/foundation/share/ShareData.d.ts +43 -0
- package/dist/foundation/share/ShareOrCopy.d.ts +27 -0
- package/dist/foundation/share/UseShare.d.ts +30 -0
- package/dist/foundation/share/index.d.ts +5 -0
- package/dist/foundation/share/index.js +111 -0
- package/dist/foundation/share/index.js.map +1 -0
- package/dist/foundation/shortcuts/Chord.d.ts +51 -0
- package/dist/foundation/shortcuts/UseHotkeys.d.ts +34 -0
- package/dist/foundation/shortcuts/index.d.ts +3 -0
- package/dist/foundation/shortcuts/index.js +15 -0
- package/dist/foundation/shortcuts/index.js.map +1 -0
- package/dist/foundation/speech/CreateSpeechRecognizer.d.ts +79 -0
- package/dist/foundation/speech/ListVoices.d.ts +78 -0
- package/dist/foundation/speech/Speak.d.ts +52 -0
- package/dist/foundation/speech/SpeechControls.d.ts +57 -0
- package/dist/foundation/speech/SpeechRecognitionResult.d.ts +45 -0
- package/dist/foundation/speech/SpeechRecognitionTypes.d.ts +67 -0
- package/dist/foundation/speech/SpeechResult.d.ts +32 -0
- package/dist/foundation/speech/SpeechSupport.d.ts +69 -0
- package/dist/foundation/speech/UseSpeechRecognition.d.ts +45 -0
- package/dist/foundation/speech/UseSpeechSynthesis.d.ts +37 -0
- package/dist/foundation/speech/index.d.ts +10 -0
- package/dist/foundation/speech/index.js +573 -0
- package/dist/foundation/speech/index.js.map +1 -0
- package/dist/foundation/storage/NamespacedBroker.d.ts +7 -0
- package/dist/foundation/storage/StorageBroker.d.ts +17 -0
- package/dist/foundation/storage/VersionedStore.d.ts +42 -0
- package/dist/foundation/storage/index.d.ts +3 -0
- package/dist/foundation/storage/index.js +65 -0
- package/dist/foundation/storage/index.js.map +1 -0
- package/dist/foundation/storage/zustand/ZustandPersist.d.ts +36 -0
- package/dist/foundation/storage/zustand/index.d.ts +1 -0
- package/dist/foundation/storage/zustand/index.js +11 -0
- package/dist/foundation/storage/zustand/index.js.map +1 -0
- package/dist/foundation/sync/CreateSyncChannel.d.ts +16 -0
- package/dist/foundation/sync/LeaderElection.d.ts +88 -0
- package/dist/foundation/sync/MemorySyncHub.d.ts +29 -0
- package/dist/foundation/sync/SyncChannel.d.ts +65 -0
- package/dist/foundation/sync/UseBroadcastState.d.ts +31 -0
- package/dist/foundation/sync/UseLeaderElection.d.ts +25 -0
- package/dist/foundation/sync/UseSyncChannel.d.ts +16 -0
- package/dist/foundation/sync/index.d.ts +7 -0
- package/dist/foundation/sync/index.js +484 -0
- package/dist/foundation/sync/index.js.map +1 -0
- package/dist/foundation/themes/Oklch.d.ts +42 -0
- package/dist/foundation/themes/Theme.d.ts +112 -0
- package/dist/foundation/themes/Tokens.d.ts +40 -0
- package/dist/foundation/themes/css.d.ts +20 -0
- package/dist/foundation/themes/generate.d.ts +6 -0
- package/dist/foundation/themes/index.d.ts +11 -0
- package/dist/foundation/themes/index.js +37 -0
- package/dist/foundation/themes/index.js.map +1 -0
- package/dist/foundation/themes/pool.d.ts +3 -0
- package/dist/foundation/themes/registry.d.ts +16 -0
- package/dist/foundation/themes/validate.d.ts +25 -0
- package/dist/foundation/themes/validated.d.ts +3 -0
- package/dist/foundation/undo/HistoryCore.d.ts +92 -0
- package/dist/foundation/undo/SnapshotHistory.d.ts +33 -0
- package/dist/foundation/undo/UndoHistory.d.ts +41 -0
- package/dist/foundation/undo/UseUndoHistory.d.ts +66 -0
- package/dist/foundation/undo/UseUndoShortcuts.d.ts +20 -0
- package/dist/foundation/undo/index.d.ts +5 -0
- package/dist/foundation/undo/index.js +361 -0
- package/dist/foundation/undo/index.js.map +1 -0
- package/dist/foundation/uploads/UploadItem.d.ts +47 -0
- package/dist/foundation/uploads/UploadQueue.d.ts +79 -0
- package/dist/foundation/uploads/UploadTransport.d.ts +41 -0
- package/dist/foundation/uploads/UseUploadQueue.d.ts +47 -0
- package/dist/foundation/uploads/XhrUploadTransport.d.ts +23 -0
- package/dist/foundation/uploads/index.d.ts +5 -0
- package/dist/foundation/uploads/index.js +449 -0
- package/dist/foundation/uploads/index.js.map +1 -0
- package/dist/foundation/utils/Align/Align.d.ts +10 -0
- package/dist/foundation/utils/Align/index.d.ts +1 -0
- package/dist/foundation/utils/ColorExtensions/ColorExtensions.d.ts +51 -0
- package/dist/foundation/utils/ColorExtensions/index.d.ts +1 -0
- package/dist/foundation/utils/Compare/Compare.d.ts +7 -0
- package/dist/foundation/utils/Compare/index.d.ts +1 -0
- package/dist/foundation/utils/CornerPosition/CornerPosition.d.ts +12 -0
- package/dist/foundation/utils/CornerPosition/index.d.ts +1 -0
- package/dist/foundation/utils/CssExtensions/CssExtensions.d.ts +115 -0
- package/dist/foundation/utils/CssExtensions/index.d.ts +1 -0
- package/dist/foundation/utils/ElementTag/ElementTag.d.ts +28 -0
- package/dist/foundation/utils/ElementTag/index.d.ts +1 -0
- package/dist/foundation/utils/Environment/Environment.d.ts +12 -0
- package/dist/foundation/utils/Environment/index.d.ts +1 -0
- package/dist/foundation/utils/Equality/Equality.d.ts +13 -0
- package/dist/foundation/utils/Equality/index.d.ts +1 -0
- package/dist/foundation/utils/HtmlExtensions/HtmlExtensions.d.ts +22 -0
- package/dist/foundation/utils/HtmlExtensions/index.d.ts +1 -0
- package/dist/foundation/utils/KeyboardExtensions/KeyboardExtensions.d.ts +32 -0
- package/dist/foundation/utils/KeyboardExtensions/index.d.ts +1 -0
- package/dist/foundation/utils/Layers/Layers.d.ts +35 -0
- package/dist/foundation/utils/Layers/index.d.ts +1 -0
- package/dist/foundation/utils/OptionalExtensions/OptionalExtensions.d.ts +12 -0
- package/dist/foundation/utils/OptionalExtensions/index.d.ts +1 -0
- package/dist/foundation/utils/Orientation/Orientation.d.ts +8 -0
- package/dist/foundation/utils/Orientation/index.d.ts +1 -0
- package/dist/foundation/utils/OverlayPosition/OverlayPosition.d.ts +16 -0
- package/dist/foundation/utils/OverlayPosition/index.d.ts +1 -0
- package/dist/foundation/utils/PressExtensions/PressExtensions.d.ts +17 -0
- package/dist/foundation/utils/PressExtensions/index.d.ts +1 -0
- package/dist/foundation/utils/ProgressTone/ProgressTone.d.ts +14 -0
- package/dist/foundation/utils/ProgressTone/index.d.ts +1 -0
- package/dist/foundation/utils/Severity/Severity.d.ts +14 -0
- package/dist/foundation/utils/Severity/index.d.ts +1 -0
- package/dist/foundation/utils/Side/Side.d.ts +12 -0
- package/dist/foundation/utils/Side/index.d.ts +1 -0
- package/dist/foundation/utils/StatusTone/StatusTone.d.ts +14 -0
- package/dist/foundation/utils/StatusTone/index.d.ts +1 -0
- package/dist/foundation/utils/StyleTokens/StyleTokens.d.ts +68 -0
- package/dist/foundation/utils/StyleTokens/index.d.ts +1 -0
- package/dist/foundation/utils/SurfaceStyles/SurfaceStyles.d.ts +397 -0
- package/dist/foundation/utils/SurfaceStyles/index.d.ts +1 -0
- package/dist/foundation/utils/Tones/Tones.d.ts +21 -0
- package/dist/foundation/utils/Tones/index.d.ts +1 -0
- package/dist/foundation/utils/TransitionExtensions/TransitionExtensions.d.ts +18 -0
- package/dist/foundation/utils/TransitionExtensions/index.d.ts +1 -0
- package/dist/foundation/utils/cn/cn.d.ts +6 -0
- package/dist/foundation/utils/cn/index.d.ts +1 -0
- package/dist/foundation/utils/composeEventHandlers/composeEventHandlers.d.ts +9 -0
- package/dist/foundation/utils/composeEventHandlers/index.d.ts +1 -0
- package/dist/foundation/utils/dataAttr/dataAttr.d.ts +6 -0
- package/dist/foundation/utils/dataAttr/index.d.ts +1 -0
- package/dist/foundation/utils/index.d.ts +33 -0
- package/dist/foundation/utils/index.js +67 -0
- package/dist/foundation/utils/index.js.map +1 -0
- package/dist/foundation/utils/polymorphic/index.d.ts +1 -0
- package/dist/foundation/utils/polymorphic/polymorphic.d.ts +29 -0
- package/dist/foundation/utils/tv/index.d.ts +1 -0
- package/dist/foundation/utils/tv/tv.d.ts +1 -0
- package/dist/foundation/validation/Composites.d.ts +62 -0
- package/dist/foundation/validation/Formats.d.ts +9 -0
- package/dist/foundation/validation/Messages.d.ts +69 -0
- package/dist/foundation/validation/Primitives.d.ts +49 -0
- package/dist/foundation/validation/StandardSchema.d.ts +55 -0
- package/dist/foundation/validation/ValidationError.d.ts +14 -0
- package/dist/foundation/validation/ValidationResult.d.ts +49 -0
- package/dist/foundation/validation/Validator.d.ts +69 -0
- package/dist/foundation/validation/index.d.ts +8 -0
- package/dist/foundation/validation/index.js +512 -0
- package/dist/foundation/validation/index.js.map +1 -0
- package/dist/foundation/virtualization/Measurements.d.ts +79 -0
- package/dist/foundation/virtualization/UseVirtualList.d.ts +79 -0
- package/dist/foundation/virtualization/Windowing.d.ts +78 -0
- package/dist/foundation/virtualization/index.d.ts +3 -0
- package/dist/foundation/virtualization/index.js +300 -0
- package/dist/foundation/virtualization/index.js.map +1 -0
- package/dist/foundation/workers/RunInWorker.d.ts +41 -0
- package/dist/foundation/workers/UseWorker.d.ts +28 -0
- package/dist/foundation/workers/WorkerClient.d.ts +85 -0
- package/dist/foundation/workers/WorkerHost.d.ts +80 -0
- package/dist/foundation/workers/WorkerProtocol.d.ts +78 -0
- package/dist/foundation/workers/WorkerSupport.d.ts +15 -0
- package/dist/foundation/workers/index.d.ts +6 -0
- package/dist/foundation/workers/index.js +292 -0
- package/dist/foundation/workers/index.js.map +1 -0
- package/dist/index.css +314 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.js +636 -0
- package/dist/index.js.map +1 -0
- package/dist/presentation/actions/backToTopButton/BackToTopButton.vue.d.ts +33 -0
- package/dist/presentation/actions/backToTopButton/index.d.ts +1 -0
- package/dist/presentation/actions/button/Button.variants.d.ts +311 -0
- package/dist/presentation/actions/button/Button.vue.d.ts +119 -0
- package/dist/presentation/actions/button/index.d.ts +2 -0
- package/dist/presentation/actions/buttonGroup/ButtonGroup.vue.d.ts +22 -0
- package/dist/presentation/actions/buttonGroup/index.d.ts +1 -0
- package/dist/presentation/actions/copyButton/CopyButton.vue.d.ts +35 -0
- package/dist/presentation/actions/copyButton/index.d.ts +1 -0
- package/dist/presentation/actions/disclosureButton/DisclosureButton.vue.d.ts +32 -0
- package/dist/presentation/actions/disclosureButton/index.d.ts +1 -0
- package/dist/presentation/actions/fab/FAB.variants.d.ts +158 -0
- package/dist/presentation/actions/fab/FAB.vue.d.ts +29 -0
- package/dist/presentation/actions/fab/index.d.ts +2 -0
- package/dist/presentation/actions/index.d.ts +14 -0
- package/dist/presentation/actions/index.js +47 -0
- package/dist/presentation/actions/index.js.map +1 -0
- package/dist/presentation/actions/link/Link.variants.d.ts +111 -0
- package/dist/presentation/actions/link/Link.vue.d.ts +24 -0
- package/dist/presentation/actions/link/index.d.ts +2 -0
- package/dist/presentation/actions/optionTile/OptionTile.variants.d.ts +10 -0
- package/dist/presentation/actions/optionTile/OptionTile.vue.d.ts +31 -0
- package/dist/presentation/actions/optionTile/index.d.ts +2 -0
- package/dist/presentation/actions/optionTileGroup/OptionTileGroup.variants.d.ts +76 -0
- package/dist/presentation/actions/optionTileGroup/OptionTileGroup.vue.d.ts +27 -0
- package/dist/presentation/actions/optionTileGroup/index.d.ts +2 -0
- package/dist/presentation/actions/segmentedControl/SegmentedControl.vue.d.ts +20 -0
- package/dist/presentation/actions/segmentedControl/index.d.ts +1 -0
- package/dist/presentation/actions/speedDial/SpeedDial.vue.d.ts +28 -0
- package/dist/presentation/actions/speedDial/SpeedDialAction.vue.d.ts +40 -0
- package/dist/presentation/actions/speedDial/SpeedDialContext.d.ts +36 -0
- package/dist/presentation/actions/speedDial/SpeedDialList.vue.d.ts +13 -0
- package/dist/presentation/actions/speedDial/SpeedDialTrigger.vue.d.ts +30 -0
- package/dist/presentation/actions/speedDial/index.d.ts +166 -0
- package/dist/presentation/actions/toggleButton/ToggleButton.variants.d.ts +141 -0
- package/dist/presentation/actions/toggleButton/ToggleButton.vue.d.ts +59 -0
- package/dist/presentation/actions/toggleButton/index.d.ts +2 -0
- package/dist/presentation/actions/toggleButtonGroup/ToggleButtonGroup.variants.d.ts +33 -0
- package/dist/presentation/actions/toggleButtonGroup/ToggleButtonGroup.vue.d.ts +72 -0
- package/dist/presentation/actions/toggleButtonGroup/ToggleButtonGroupContext.d.ts +24 -0
- package/dist/presentation/actions/toggleButtonGroup/index.d.ts +3 -0
- package/dist/presentation/actions/toolbar/Toolbar.vue.d.ts +19 -0
- package/dist/presentation/actions/toolbar/ToolbarButton.vue.d.ts +16 -0
- package/dist/presentation/actions/toolbar/ToolbarContext.d.ts +9 -0
- package/dist/presentation/actions/toolbar/ToolbarLink.vue.d.ts +11 -0
- package/dist/presentation/actions/toolbar/ToolbarSeparator.vue.d.ts +3 -0
- package/dist/presentation/actions/toolbar/index.d.ts +87 -0
- package/dist/presentation/display/accordion/Accordion.vue.d.ts +45 -0
- package/dist/presentation/display/accordion/AccordionContent.vue.d.ts +14 -0
- package/dist/presentation/display/accordion/AccordionContext.d.ts +29 -0
- package/dist/presentation/display/accordion/AccordionItem.vue.d.ts +20 -0
- package/dist/presentation/display/accordion/AccordionTrigger.vue.d.ts +14 -0
- package/dist/presentation/display/accordion/index.d.ts +5 -0
- package/dist/presentation/display/activityFeed/ActivityFeed.vue.d.ts +18 -0
- package/dist/presentation/display/activityFeed/ActivityItem.vue.d.ts +29 -0
- package/dist/presentation/display/activityFeed/index.d.ts +2 -0
- package/dist/presentation/display/animatedNumber/AnimatedNumber.vue.d.ts +34 -0
- package/dist/presentation/display/animatedNumber/index.d.ts +1 -0
- package/dist/presentation/display/annotationMarker/AnnotationMarker.vue.d.ts +43 -0
- package/dist/presentation/display/annotationMarker/index.d.ts +1 -0
- package/dist/presentation/display/audioPlayer/AudioPlayer.vue.d.ts +38 -0
- package/dist/presentation/display/audioPlayer/index.d.ts +1 -0
- package/dist/presentation/display/audioWaveform/AudioWaveform.vue.d.ts +57 -0
- package/dist/presentation/display/audioWaveform/index.d.ts +1 -0
- package/dist/presentation/display/avatar/Avatar.variants.d.ts +312 -0
- package/dist/presentation/display/avatar/Avatar.vue.d.ts +49 -0
- package/dist/presentation/display/avatar/index.d.ts +2 -0
- package/dist/presentation/display/avatarGroup/AvatarGroup.vue.d.ts +25 -0
- package/dist/presentation/display/avatarGroup/index.d.ts +1 -0
- package/dist/presentation/display/badge/Badge.variants.d.ts +128 -0
- package/dist/presentation/display/badge/Badge.vue.d.ts +20 -0
- package/dist/presentation/display/badge/index.d.ts +2 -0
- package/dist/presentation/display/badgeOverlay/BadgeOverlay.vue.d.ts +24 -0
- package/dist/presentation/display/badgeOverlay/index.d.ts +1 -0
- package/dist/presentation/display/card/Card.vue.d.ts +32 -0
- package/dist/presentation/display/card/CardBody.vue.d.ts +12 -0
- package/dist/presentation/display/card/CardDescription.vue.d.ts +12 -0
- package/dist/presentation/display/card/CardFooter.vue.d.ts +12 -0
- package/dist/presentation/display/card/CardHeader.vue.d.ts +12 -0
- package/dist/presentation/display/card/CardTitle.vue.d.ts +12 -0
- package/dist/presentation/display/card/index.d.ts +6 -0
- package/dist/presentation/display/carousel/Carousel.vue.d.ts +34 -0
- package/dist/presentation/display/carousel/CarouselContext.d.ts +38 -0
- package/dist/presentation/display/carousel/CarouselDot.vue.d.ts +9 -0
- package/dist/presentation/display/carousel/CarouselDots.vue.d.ts +7 -0
- package/dist/presentation/display/carousel/CarouselNext.vue.d.ts +12 -0
- package/dist/presentation/display/carousel/CarouselPrev.vue.d.ts +12 -0
- package/dist/presentation/display/carousel/CarouselSlide.vue.d.ts +14 -0
- package/dist/presentation/display/carousel/CarouselSlides.vue.d.ts +14 -0
- package/dist/presentation/display/carousel/CarouselViewport.vue.d.ts +14 -0
- package/dist/presentation/display/carousel/index.d.ts +10 -0
- package/dist/presentation/display/chatBubble/ChatBubble.vue.d.ts +79 -0
- package/dist/presentation/display/chatBubble/index.d.ts +1 -0
- package/dist/presentation/display/code/Code.variants.d.ts +48 -0
- package/dist/presentation/display/code/Code.vue.d.ts +17 -0
- package/dist/presentation/display/code/index.d.ts +2 -0
- package/dist/presentation/display/collapsible/Collapsible.vue.d.ts +40 -0
- package/dist/presentation/display/collapsible/CollapsibleContent.vue.d.ts +18 -0
- package/dist/presentation/display/collapsible/CollapsibleContentInner.vue.d.ts +23 -0
- package/dist/presentation/display/collapsible/CollapsibleContext.d.ts +17 -0
- package/dist/presentation/display/collapsible/CollapsibleTrigger.vue.d.ts +18 -0
- package/dist/presentation/display/collapsible/index.d.ts +4 -0
- package/dist/presentation/display/commentThread/Comment.vue.d.ts +39 -0
- package/dist/presentation/display/commentThread/CommentThread.vue.d.ts +14 -0
- package/dist/presentation/display/commentThread/index.d.ts +2 -0
- package/dist/presentation/display/confetti/Confetti.vue.d.ts +40 -0
- package/dist/presentation/display/confetti/index.d.ts +1 -0
- package/dist/presentation/display/countBadge/CountBadge.vue.d.ts +24 -0
- package/dist/presentation/display/countBadge/index.d.ts +1 -0
- package/dist/presentation/display/countUp/CountUp.vue.d.ts +40 -0
- package/dist/presentation/display/countUp/index.d.ts +1 -0
- package/dist/presentation/display/dataGrid/CellEditor.vue.d.ts +29 -0
- package/dist/presentation/display/dataGrid/DataGrid.vue.d.ts +47 -0
- package/dist/presentation/display/dataGrid/DataGridTypes.d.ts +65 -0
- package/dist/presentation/display/dataGrid/index.d.ts +2 -0
- package/dist/presentation/display/dataTable/DataTable.vue.d.ts +91 -0
- package/dist/presentation/display/dataTable/index.d.ts +1 -0
- package/dist/presentation/display/descriptionList/DescriptionList.vue.d.ts +54 -0
- package/dist/presentation/display/descriptionList/index.d.ts +1 -0
- package/dist/presentation/display/diffViewer/DiffViewer.vue.d.ts +38 -0
- package/dist/presentation/display/diffViewer/index.d.ts +1 -0
- package/dist/presentation/display/emptyState/EmptyState.vue.d.ts +43 -0
- package/dist/presentation/display/emptyState/index.d.ts +1 -0
- package/dist/presentation/display/eventCalendar/AgendaView.vue.d.ts +13 -0
- package/dist/presentation/display/eventCalendar/EventCalendar.vue.d.ts +41 -0
- package/dist/presentation/display/eventCalendar/EventCalendarTypes.d.ts +28 -0
- package/dist/presentation/display/eventCalendar/MonthView.vue.d.ts +17 -0
- package/dist/presentation/display/eventCalendar/TimeGridView.vue.d.ts +18 -0
- package/dist/presentation/display/eventCalendar/index.d.ts +2 -0
- package/dist/presentation/display/eyebrow/Eyebrow.vue.d.ts +32 -0
- package/dist/presentation/display/eyebrow/index.d.ts +1 -0
- package/dist/presentation/display/featureCard/FeatureCard.vue.d.ts +83 -0
- package/dist/presentation/display/featureCard/index.d.ts +1 -0
- package/dist/presentation/display/frameGlyph/FrameGlyph.vue.d.ts +19 -0
- package/dist/presentation/display/frameGlyph/index.d.ts +1 -0
- package/dist/presentation/display/gantt/Gantt.vue.d.ts +58 -0
- package/dist/presentation/display/gantt/index.d.ts +1 -0
- package/dist/presentation/display/gradientText/GradientText.vue.d.ts +54 -0
- package/dist/presentation/display/gradientText/index.d.ts +1 -0
- package/dist/presentation/display/heading/Heading.variants.d.ts +201 -0
- package/dist/presentation/display/heading/Heading.vue.d.ts +26 -0
- package/dist/presentation/display/heading/index.d.ts +2 -0
- package/dist/presentation/display/heatmapCalendar/HeatmapCalendar.vue.d.ts +61 -0
- package/dist/presentation/display/heatmapCalendar/index.d.ts +1 -0
- package/dist/presentation/display/highlight/Highlight.vue.d.ts +20 -0
- package/dist/presentation/display/highlight/index.d.ts +1 -0
- package/dist/presentation/display/image/Image.vue.d.ts +15 -0
- package/dist/presentation/display/image/index.d.ts +1 -0
- package/dist/presentation/display/index.d.ts +73 -0
- package/dist/presentation/display/index.js +192 -0
- package/dist/presentation/display/index.js.map +1 -0
- package/dist/presentation/display/infoRow/InfoRow.vue.d.ts +39 -0
- package/dist/presentation/display/infoRow/index.d.ts +1 -0
- package/dist/presentation/display/kbd/Kbd.vue.d.ts +13 -0
- package/dist/presentation/display/kbd/index.d.ts +1 -0
- package/dist/presentation/display/keyboardShortcut/KeyboardShortcut.vue.d.ts +13 -0
- package/dist/presentation/display/keyboardShortcut/index.d.ts +1 -0
- package/dist/presentation/display/list/List.variants.d.ts +112 -0
- package/dist/presentation/display/list/List.vue.d.ts +23 -0
- package/dist/presentation/display/list/ListItem.vue.d.ts +23 -0
- package/dist/presentation/display/list/index.d.ts +3 -0
- package/dist/presentation/display/mark/Mark.vue.d.ts +13 -0
- package/dist/presentation/display/mark/index.d.ts +1 -0
- package/dist/presentation/display/marquee/Marquee.vue.d.ts +39 -0
- package/dist/presentation/display/marquee/index.d.ts +1 -0
- package/dist/presentation/display/messageList/DaySeparator.vue.d.ts +17 -0
- package/dist/presentation/display/messageList/MessageList.vue.d.ts +39 -0
- package/dist/presentation/display/messageList/index.d.ts +2 -0
- package/dist/presentation/display/metaInline/MetaInline.vue.d.ts +21 -0
- package/dist/presentation/display/metaInline/index.d.ts +1 -0
- package/dist/presentation/display/metricChip/MetricChip.vue.d.ts +54 -0
- package/dist/presentation/display/metricChip/index.d.ts +1 -0
- package/dist/presentation/display/moduleGlyphs/CellsGlyph.vue.d.ts +13 -0
- package/dist/presentation/display/moduleGlyphs/DotsGlyph.vue.d.ts +9 -0
- package/dist/presentation/display/moduleGlyphs/HorizontalBarsGlyph.vue.d.ts +9 -0
- package/dist/presentation/display/moduleGlyphs/ModuleGlyphs.d.ts +15 -0
- package/dist/presentation/display/moduleGlyphs/VerticalBarsGlyph.vue.d.ts +9 -0
- package/dist/presentation/display/moduleGlyphs/index.d.ts +5 -0
- package/dist/presentation/display/nodeEditor/NodeEditor.vue.d.ts +58 -0
- package/dist/presentation/display/nodeEditor/index.d.ts +1 -0
- package/dist/presentation/display/notificationDot/NotificationDot.vue.d.ts +47 -0
- package/dist/presentation/display/notificationDot/index.d.ts +1 -0
- package/dist/presentation/display/pdfViewer/PDFViewer.vue.d.ts +40 -0
- package/dist/presentation/display/pdfViewer/index.d.ts +1 -0
- package/dist/presentation/display/pricingCard/PricingCard.vue.d.ts +107 -0
- package/dist/presentation/display/pricingCard/index.d.ts +1 -0
- package/dist/presentation/display/quote/Quote.vue.d.ts +13 -0
- package/dist/presentation/display/quote/index.d.ts +1 -0
- package/dist/presentation/display/radiusGlyph/RadiusGlyph.vue.d.ts +23 -0
- package/dist/presentation/display/radiusGlyph/index.d.ts +1 -0
- package/dist/presentation/display/reactionBar/ReactionBar.vue.d.ts +47 -0
- package/dist/presentation/display/reactionBar/index.d.ts +1 -0
- package/dist/presentation/display/scheduleView/ScheduleView.vue.d.ts +58 -0
- package/dist/presentation/display/scheduleView/index.d.ts +1 -0
- package/dist/presentation/display/scrollReveal/ScrollReveal.vue.d.ts +50 -0
- package/dist/presentation/display/scrollReveal/index.d.ts +1 -0
- package/dist/presentation/display/sectionHeader/SectionHeader.vue.d.ts +49 -0
- package/dist/presentation/display/sectionHeader/index.d.ts +1 -0
- package/dist/presentation/display/separator/Separator.vue.d.ts +14 -0
- package/dist/presentation/display/separator/index.d.ts +1 -0
- package/dist/presentation/display/snippet/Snippet.vue.d.ts +21 -0
- package/dist/presentation/display/snippet/index.d.ts +1 -0
- package/dist/presentation/display/sortable/Sortable.vue.d.ts +18 -0
- package/dist/presentation/display/sortable/SortableContext.d.ts +22 -0
- package/dist/presentation/display/sortable/SortableHandle.vue.d.ts +14 -0
- package/dist/presentation/display/sortable/SortableItem.vue.d.ts +16 -0
- package/dist/presentation/display/sortable/index.d.ts +4 -0
- package/dist/presentation/display/sparkline/Sparkline.vue.d.ts +62 -0
- package/dist/presentation/display/sparkline/index.d.ts +1 -0
- package/dist/presentation/display/stat/Stat.vue.d.ts +48 -0
- package/dist/presentation/display/stat/index.d.ts +1 -0
- package/dist/presentation/display/status/Status.vue.d.ts +35 -0
- package/dist/presentation/display/status/index.d.ts +1 -0
- package/dist/presentation/display/stepCard/StepCard.vue.d.ts +85 -0
- package/dist/presentation/display/stepCard/index.d.ts +1 -0
- package/dist/presentation/display/swipeActions/SwipeActions.vue.d.ts +28 -0
- package/dist/presentation/display/swipeActions/index.d.ts +1 -0
- package/dist/presentation/display/table/Table.vue.d.ts +30 -0
- package/dist/presentation/display/table/TableBody.vue.d.ts +12 -0
- package/dist/presentation/display/table/TableCaption.vue.d.ts +12 -0
- package/dist/presentation/display/table/TableCell.vue.d.ts +14 -0
- package/dist/presentation/display/table/TableContext.d.ts +46 -0
- package/dist/presentation/display/table/TableFooter.vue.d.ts +12 -0
- package/dist/presentation/display/table/TableHead.vue.d.ts +26 -0
- package/dist/presentation/display/table/TableHeaderCell.vue.d.ts +14 -0
- package/dist/presentation/display/table/TableRow.vue.d.ts +12 -0
- package/dist/presentation/display/table/index.d.ts +9 -0
- package/dist/presentation/display/tabs/Tabs.vue.d.ts +33 -0
- package/dist/presentation/display/tabs/TabsContext.d.ts +34 -0
- package/dist/presentation/display/tabs/TabsList.vue.d.ts +256 -0
- package/dist/presentation/display/tabs/TabsPanel.vue.d.ts +16 -0
- package/dist/presentation/display/tabs/TabsTab.vue.d.ts +20 -0
- package/dist/presentation/display/tabs/index.d.ts +5 -0
- package/dist/presentation/display/tag/Tag.variants.d.ts +84 -0
- package/dist/presentation/display/tag/Tag.vue.d.ts +25 -0
- package/dist/presentation/display/tag/index.d.ts +2 -0
- package/dist/presentation/display/text/Text.variants.d.ts +301 -0
- package/dist/presentation/display/text/Text.vue.d.ts +33 -0
- package/dist/presentation/display/text/index.d.ts +2 -0
- package/dist/presentation/display/threadView/ThreadView.vue.d.ts +46 -0
- package/dist/presentation/display/threadView/index.d.ts +1 -0
- package/dist/presentation/display/tilt/Tilt.vue.d.ts +31 -0
- package/dist/presentation/display/tilt/index.d.ts +1 -0
- package/dist/presentation/display/timeline/Timeline.vue.d.ts +19 -0
- package/dist/presentation/display/timeline/TimelineContext.d.ts +40 -0
- package/dist/presentation/display/timeline/TimelineDescription.vue.d.ts +14 -0
- package/dist/presentation/display/timeline/TimelineItem.vue.d.ts +22 -0
- package/dist/presentation/display/timeline/TimelineTitle.vue.d.ts +14 -0
- package/dist/presentation/display/timeline/index.d.ts +5 -0
- package/dist/presentation/display/tooltip/Tooltip.vue.d.ts +53 -0
- package/dist/presentation/display/tooltip/index.d.ts +1 -0
- package/dist/presentation/display/tree/Tree.vue.d.ts +275 -0
- package/dist/presentation/display/tree/TreeContext.d.ts +29 -0
- package/dist/presentation/display/tree/TreeGroup.vue.d.ts +28 -0
- package/dist/presentation/display/tree/TreeGroupContent.vue.d.ts +17 -0
- package/dist/presentation/display/tree/TreeItem.vue.d.ts +20 -0
- package/dist/presentation/display/tree/TreeNodeRow.vue.d.ts +27 -0
- package/dist/presentation/display/tree/index.d.ts +4 -0
- package/dist/presentation/display/typewriter/Typewriter.vue.d.ts +32 -0
- package/dist/presentation/display/typewriter/index.d.ts +1 -0
- package/dist/presentation/display/videoPlayer/VideoPlayer.vue.d.ts +55 -0
- package/dist/presentation/display/videoPlayer/index.d.ts +1 -0
- package/dist/presentation/feedback/alert/Alert.vue.d.ts +41 -0
- package/dist/presentation/feedback/alert/index.d.ts +1 -0
- package/dist/presentation/feedback/alertSimple/AlertSimple.variants.d.ts +61 -0
- package/dist/presentation/feedback/alertSimple/AlertSimple.vue.d.ts +17 -0
- package/dist/presentation/feedback/alertSimple/index.d.ts +2 -0
- package/dist/presentation/feedback/banner/Banner.vue.d.ts +41 -0
- package/dist/presentation/feedback/banner/index.d.ts +1 -0
- package/dist/presentation/feedback/bannerSimple/BannerSimple.variants.d.ts +61 -0
- package/dist/presentation/feedback/bannerSimple/BannerSimple.vue.d.ts +17 -0
- package/dist/presentation/feedback/bannerSimple/index.d.ts +2 -0
- package/dist/presentation/feedback/callout/Callout.vue.d.ts +27 -0
- package/dist/presentation/feedback/callout/index.d.ts +1 -0
- package/dist/presentation/feedback/feedbackToasts/FeedbackToasts.vue.d.ts +18 -0
- package/dist/presentation/feedback/feedbackToasts/index.d.ts +1 -0
- package/dist/presentation/feedback/index.d.ts +27 -0
- package/dist/presentation/feedback/index.js +49 -0
- package/dist/presentation/feedback/index.js.map +1 -0
- package/dist/presentation/feedback/inlineSpinner/InlineSpinner.vue.d.ts +22 -0
- package/dist/presentation/feedback/inlineSpinner/index.d.ts +1 -0
- package/dist/presentation/feedback/liveCursor/LiveCursor.vue.d.ts +33 -0
- package/dist/presentation/feedback/liveCursor/index.d.ts +1 -0
- package/dist/presentation/feedback/loadingOverlay/LoadingOverlay.vue.d.ts +36 -0
- package/dist/presentation/feedback/loadingOverlay/index.d.ts +1 -0
- package/dist/presentation/feedback/loadingState/LoadingState.vue.d.ts +26 -0
- package/dist/presentation/feedback/loadingState/index.d.ts +1 -0
- package/dist/presentation/feedback/meterBar/MeterBar.vue.d.ts +21 -0
- package/dist/presentation/feedback/meterBar/index.d.ts +1 -0
- package/dist/presentation/feedback/notificationCenter/NotificationCenter.vue.d.ts +30 -0
- package/dist/presentation/feedback/notificationCenter/NotificationItem.vue.d.ts +40 -0
- package/dist/presentation/feedback/notificationCenter/index.d.ts +2 -0
- package/dist/presentation/feedback/onboardingChecklist/OnboardingChecklist.vue.d.ts +56 -0
- package/dist/presentation/feedback/onboardingChecklist/OnboardingChecklistTask.vue.d.ts +27 -0
- package/dist/presentation/feedback/onboardingChecklist/index.d.ts +3 -0
- package/dist/presentation/feedback/presenceIndicator/PresenceIndicator.vue.d.ts +34 -0
- package/dist/presentation/feedback/presenceIndicator/index.d.ts +1 -0
- package/dist/presentation/feedback/progressBar/ProgressBar.variants.d.ts +104 -0
- package/dist/presentation/feedback/progressBar/ProgressBar.vue.d.ts +19 -0
- package/dist/presentation/feedback/progressBar/index.d.ts +2 -0
- package/dist/presentation/feedback/progressCircle/ProgressCircle.vue.d.ts +21 -0
- package/dist/presentation/feedback/progressCircle/index.d.ts +1 -0
- package/dist/presentation/feedback/progressSteps/ProgressSteps.vue.d.ts +16 -0
- package/dist/presentation/feedback/progressSteps/index.d.ts +1 -0
- package/dist/presentation/feedback/skeleton/Skeleton.variants.d.ts +57 -0
- package/dist/presentation/feedback/skeleton/Skeleton.vue.d.ts +17 -0
- package/dist/presentation/feedback/skeleton/index.d.ts +2 -0
- package/dist/presentation/feedback/spinner/Spinner.variants.d.ts +115 -0
- package/dist/presentation/feedback/spinner/Spinner.vue.d.ts +17 -0
- package/dist/presentation/feedback/spinner/index.d.ts +2 -0
- package/dist/presentation/feedback/statusIndicator/StatusIndicator.vue.d.ts +31 -0
- package/dist/presentation/feedback/statusIndicator/index.d.ts +1 -0
- package/dist/presentation/feedback/toast/Toast.vue.d.ts +41 -0
- package/dist/presentation/feedback/toast/index.d.ts +1 -0
- package/dist/presentation/feedback/toastSimple/ToastSimple.variants.d.ts +61 -0
- package/dist/presentation/feedback/toastSimple/ToastSimple.vue.d.ts +20 -0
- package/dist/presentation/feedback/toastSimple/index.d.ts +2 -0
- package/dist/presentation/feedback/toaster/Toaster.vue.d.ts +84 -0
- package/dist/presentation/feedback/toaster/index.d.ts +1 -0
- package/dist/presentation/feedback/tour/Tour.vue.d.ts +45 -0
- package/dist/presentation/feedback/tour/index.d.ts +1 -0
- package/dist/presentation/feedback/trendIndicator/TrendIndicator.vue.d.ts +32 -0
- package/dist/presentation/feedback/trendIndicator/index.d.ts +1 -0
- package/dist/presentation/feedback/typingIndicator/TypingIndicator.vue.d.ts +36 -0
- package/dist/presentation/feedback/typingIndicator/index.d.ts +1 -0
- package/dist/presentation/feedback/undoBar/UndoBar.vue.d.ts +34 -0
- package/dist/presentation/feedback/undoBar/index.d.ts +1 -0
- package/dist/presentation/forms/ColorExtensions.d.ts +37 -0
- package/dist/presentation/forms/DateExtensions.d.ts +70 -0
- package/dist/presentation/forms/InputStyles.d.ts +228 -0
- package/dist/presentation/forms/MonthGrid.vue.d.ts +40 -0
- package/dist/presentation/forms/addressForm/AddressForm.vue.d.ts +54 -0
- package/dist/presentation/forms/addressForm/index.d.ts +1 -0
- package/dist/presentation/forms/calendar/Calendar.vue.d.ts +33 -0
- package/dist/presentation/forms/calendar/index.d.ts +1 -0
- package/dist/presentation/forms/characterCount/CharacterCount.vue.d.ts +15 -0
- package/dist/presentation/forms/characterCount/index.d.ts +1 -0
- package/dist/presentation/forms/chatComposer/ChatComposer.vue.d.ts +74 -0
- package/dist/presentation/forms/chatComposer/index.d.ts +1 -0
- package/dist/presentation/forms/checkbox/Checkbox.variants.d.ts +133 -0
- package/dist/presentation/forms/checkbox/Checkbox.vue.d.ts +48 -0
- package/dist/presentation/forms/checkbox/index.d.ts +2 -0
- package/dist/presentation/forms/checkboxField/CheckboxField.vue.d.ts +35 -0
- package/dist/presentation/forms/checkboxField/index.d.ts +1 -0
- package/dist/presentation/forms/checkboxGroup/CheckboxGroup.vue.d.ts +39 -0
- package/dist/presentation/forms/checkboxGroup/CheckboxGroupContext.d.ts +14 -0
- package/dist/presentation/forms/checkboxGroup/index.d.ts +2 -0
- package/dist/presentation/forms/choiceCard/ChoiceCard.vue.d.ts +35 -0
- package/dist/presentation/forms/choiceCard/index.d.ts +1 -0
- package/dist/presentation/forms/codeEditor/CodeEditor.vue.d.ts +50 -0
- package/dist/presentation/forms/codeEditor/index.d.ts +1 -0
- package/dist/presentation/forms/colorArea/ColorArea.vue.d.ts +40 -0
- package/dist/presentation/forms/colorArea/index.d.ts +1 -0
- package/dist/presentation/forms/colorField/ColorField.vue.d.ts +44 -0
- package/dist/presentation/forms/colorField/index.d.ts +1 -0
- package/dist/presentation/forms/colorPicker/ColorPicker.vue.d.ts +62 -0
- package/dist/presentation/forms/colorPicker/index.d.ts +1 -0
- package/dist/presentation/forms/colorSlider/ColorSlider.vue.d.ts +47 -0
- package/dist/presentation/forms/colorSlider/index.d.ts +1 -0
- package/dist/presentation/forms/colorSwatch/ColorSwatch.variants.d.ts +186 -0
- package/dist/presentation/forms/colorSwatch/ColorSwatch.vue.d.ts +33 -0
- package/dist/presentation/forms/colorSwatch/index.d.ts +2 -0
- package/dist/presentation/forms/colorSwatchPicker/ColorSwatchItem.vue.d.ts +27 -0
- package/dist/presentation/forms/colorSwatchPicker/ColorSwatchPicker.vue.d.ts +41 -0
- package/dist/presentation/forms/colorSwatchPicker/index.d.ts +1 -0
- package/dist/presentation/forms/colorWheel/ColorWheel.vue.d.ts +34 -0
- package/dist/presentation/forms/colorWheel/index.d.ts +1 -0
- package/dist/presentation/forms/combobox/Combobox.vue.d.ts +60 -0
- package/dist/presentation/forms/combobox/ComboboxContent.vue.d.ts +39 -0
- package/dist/presentation/forms/combobox/ComboboxContext.d.ts +53 -0
- package/dist/presentation/forms/combobox/ComboboxEmpty.vue.d.ts +10 -0
- package/dist/presentation/forms/combobox/ComboboxGroup.vue.d.ts +19 -0
- package/dist/presentation/forms/combobox/ComboboxInput.vue.d.ts +12 -0
- package/dist/presentation/forms/combobox/ComboboxItem.vue.d.ts +28 -0
- package/dist/presentation/forms/combobox/ComboboxSeparator.vue.d.ts +3 -0
- package/dist/presentation/forms/combobox/index.d.ts +8 -0
- package/dist/presentation/forms/cronInput/CronInput.vue.d.ts +68 -0
- package/dist/presentation/forms/cronInput/index.d.ts +1 -0
- package/dist/presentation/forms/currencyInput/CurrencyInput.vue.d.ts +12 -0
- package/dist/presentation/forms/currencyInput/index.d.ts +1 -0
- package/dist/presentation/forms/dateField/DateField.vue.d.ts +42 -0
- package/dist/presentation/forms/dateField/index.d.ts +1 -0
- package/dist/presentation/forms/datePicker/DatePicker.vue.d.ts +53 -0
- package/dist/presentation/forms/datePicker/index.d.ts +1 -0
- package/dist/presentation/forms/dateRangePicker/DateRangePicker.vue.d.ts +54 -0
- package/dist/presentation/forms/dateRangePicker/index.d.ts +1 -0
- package/dist/presentation/forms/dateTimeField/DateTimeField.vue.d.ts +42 -0
- package/dist/presentation/forms/dateTimeField/index.d.ts +1 -0
- package/dist/presentation/forms/editable/Editable.vue.d.ts +60 -0
- package/dist/presentation/forms/editable/EditableCancel.vue.d.ts +12 -0
- package/dist/presentation/forms/editable/EditableContext.d.ts +37 -0
- package/dist/presentation/forms/editable/EditableInput.vue.d.ts +12 -0
- package/dist/presentation/forms/editable/EditablePreview.vue.d.ts +7 -0
- package/dist/presentation/forms/editable/EditableSubmit.vue.d.ts +14 -0
- package/dist/presentation/forms/editable/index.d.ts +7 -0
- package/dist/presentation/forms/emailInput/EmailInput.vue.d.ts +43 -0
- package/dist/presentation/forms/emailInput/index.d.ts +1 -0
- package/dist/presentation/forms/emojiPicker/CategoryNav.vue.d.ts +19 -0
- package/dist/presentation/forms/emojiPicker/EmojiGrid.vue.d.ts +26 -0
- package/dist/presentation/forms/emojiPicker/EmojiPicker.variants.d.ts +77 -0
- package/dist/presentation/forms/emojiPicker/EmojiPicker.vue.d.ts +45 -0
- package/dist/presentation/forms/emojiPicker/EmojiPickerPopover.vue.d.ts +68 -0
- package/dist/presentation/forms/emojiPicker/EmojiTile.vue.d.ts +22 -0
- package/dist/presentation/forms/emojiPicker/index.d.ts +4 -0
- package/dist/presentation/forms/emojiPicker/useEmojiPicker.d.ts +45 -0
- package/dist/presentation/forms/emojiSizeControl/EmojiSizeControl.variants.d.ts +23 -0
- package/dist/presentation/forms/emojiSizeControl/EmojiSizeControl.vue.d.ts +32 -0
- package/dist/presentation/forms/emojiSizeControl/index.d.ts +2 -0
- package/dist/presentation/forms/field/Field.vue.d.ts +37 -0
- package/dist/presentation/forms/field/index.d.ts +6 -0
- package/dist/presentation/forms/fieldset/Fieldset.vue.d.ts +22 -0
- package/dist/presentation/forms/fieldset/index.d.ts +1 -0
- package/dist/presentation/forms/filePicker/FilePicker.vue.d.ts +34 -0
- package/dist/presentation/forms/filePicker/index.d.ts +1 -0
- package/dist/presentation/forms/fileUpload/FileUpload.vue.d.ts +60 -0
- package/dist/presentation/forms/fileUpload/index.d.ts +1 -0
- package/dist/presentation/forms/fontPicker/FontPicker.vue.d.ts +43 -0
- package/dist/presentation/forms/fontPicker/index.d.ts +1 -0
- package/dist/presentation/forms/formErrorMessage/FormErrorMessage.vue.d.ts +24 -0
- package/dist/presentation/forms/formErrorMessage/index.d.ts +1 -0
- package/dist/presentation/forms/formHelperText/FormHelperText.vue.d.ts +19 -0
- package/dist/presentation/forms/formHelperText/index.d.ts +1 -0
- package/dist/presentation/forms/gradientPicker/GradientPicker.vue.d.ts +50 -0
- package/dist/presentation/forms/gradientPicker/index.d.ts +1 -0
- package/dist/presentation/forms/iconPicker/IconPicker.vue.d.ts +45 -0
- package/dist/presentation/forms/iconPicker/index.d.ts +1 -0
- package/dist/presentation/forms/index.d.ts +75 -0
- package/dist/presentation/forms/index.js +165 -0
- package/dist/presentation/forms/index.js.map +1 -0
- package/dist/presentation/forms/inputAddon/InputAddon.vue.d.ts +20 -0
- package/dist/presentation/forms/inputAddon/index.d.ts +1 -0
- package/dist/presentation/forms/inputGroup/InputGroup.vue.d.ts +19 -0
- package/dist/presentation/forms/inputGroup/index.d.ts +1 -0
- package/dist/presentation/forms/jsonEditor/JSONEditor.vue.d.ts +49 -0
- package/dist/presentation/forms/jsonEditor/JSONEditorContext.d.ts +28 -0
- package/dist/presentation/forms/jsonEditor/JSONEditorHelpers.d.ts +6 -0
- package/dist/presentation/forms/jsonEditor/JSONEditorTextView.vue.d.ts +14 -0
- package/dist/presentation/forms/jsonEditor/JSONEditorTreeNode.vue.d.ts +15 -0
- package/dist/presentation/forms/jsonEditor/JSONEditorTreeView.vue.d.ts +8 -0
- package/dist/presentation/forms/jsonEditor/index.d.ts +2 -0
- package/dist/presentation/forms/keyboardShortcutPicker/KeyboardShortcutPicker.vue.d.ts +43 -0
- package/dist/presentation/forms/keyboardShortcutPicker/index.d.ts +1 -0
- package/dist/presentation/forms/knob/Knob.vue.d.ts +75 -0
- package/dist/presentation/forms/knob/index.d.ts +1 -0
- package/dist/presentation/forms/label/Label.vue.d.ts +34 -0
- package/dist/presentation/forms/label/index.d.ts +1 -0
- package/dist/presentation/forms/labeledInput/LabeledInput.vue.d.ts +23 -0
- package/dist/presentation/forms/labeledInput/index.d.ts +2 -0
- package/dist/presentation/forms/legend/Legend.vue.d.ts +21 -0
- package/dist/presentation/forms/legend/index.d.ts +1 -0
- package/dist/presentation/forms/listbox/Listbox.variants.d.ts +71 -0
- package/dist/presentation/forms/listbox/Listbox.vue.d.ts +70 -0
- package/dist/presentation/forms/listbox/ListboxContext.d.ts +47 -0
- package/dist/presentation/forms/listbox/ListboxEmpty.vue.d.ts +10 -0
- package/dist/presentation/forms/listbox/ListboxGroup.vue.d.ts +20 -0
- package/dist/presentation/forms/listbox/ListboxItem.vue.d.ts +24 -0
- package/dist/presentation/forms/listbox/ListboxSeparator.vue.d.ts +3 -0
- package/dist/presentation/forms/listbox/index.d.ts +7 -0
- package/dist/presentation/forms/markdownEditor/MarkdownEditor.vue.d.ts +73 -0
- package/dist/presentation/forms/markdownEditor/index.d.ts +1 -0
- package/dist/presentation/forms/maskedInput/MaskedInput.vue.d.ts +42 -0
- package/dist/presentation/forms/maskedInput/index.d.ts +1 -0
- package/dist/presentation/forms/multiSelect/MultiSelect.vue.d.ts +52 -0
- package/dist/presentation/forms/multiSelect/MultiSelectContent.vue.d.ts +31 -0
- package/dist/presentation/forms/multiSelect/MultiSelectContext.d.ts +38 -0
- package/dist/presentation/forms/multiSelect/MultiSelectItem.vue.d.ts +25 -0
- package/dist/presentation/forms/multiSelect/MultiSelectTags.vue.d.ts +14 -0
- package/dist/presentation/forms/multiSelect/MultiSelectTrigger.vue.d.ts +20 -0
- package/dist/presentation/forms/multiSelect/index.d.ts +6 -0
- package/dist/presentation/forms/numberInput/NumberInput.vue.d.ts +51 -0
- package/dist/presentation/forms/numberInput/index.d.ts +1 -0
- package/dist/presentation/forms/passwordInput/PasswordInput.vue.d.ts +48 -0
- package/dist/presentation/forms/passwordInput/index.d.ts +1 -0
- package/dist/presentation/forms/passwordStrength/PasswordStrength.vue.d.ts +16 -0
- package/dist/presentation/forms/passwordStrength/index.d.ts +1 -0
- package/dist/presentation/forms/percentInput/PercentInput.vue.d.ts +8 -0
- package/dist/presentation/forms/percentInput/index.d.ts +1 -0
- package/dist/presentation/forms/phoneInput/PhoneInput.vue.d.ts +45 -0
- package/dist/presentation/forms/phoneInput/index.d.ts +1 -0
- package/dist/presentation/forms/pinInput/PinInput.vue.d.ts +46 -0
- package/dist/presentation/forms/pinInput/index.d.ts +1 -0
- package/dist/presentation/forms/radio/Radio.vue.d.ts +35 -0
- package/dist/presentation/forms/radio/index.d.ts +1 -0
- package/dist/presentation/forms/radioField/RadioField.vue.d.ts +35 -0
- package/dist/presentation/forms/radioField/index.d.ts +1 -0
- package/dist/presentation/forms/radioGroup/RadioGroup.vue.d.ts +41 -0
- package/dist/presentation/forms/radioGroup/RadioGroupContext.d.ts +16 -0
- package/dist/presentation/forms/radioGroup/index.d.ts +2 -0
- package/dist/presentation/forms/rangeCalendar/RangeCalendar.vue.d.ts +37 -0
- package/dist/presentation/forms/rangeCalendar/index.d.ts +1 -0
- package/dist/presentation/forms/reactionPicker/ReactionPicker.vue.d.ts +32 -0
- package/dist/presentation/forms/reactionPicker/index.d.ts +1 -0
- package/dist/presentation/forms/recurrenceEditor/RecurrenceEditor.vue.d.ts +88 -0
- package/dist/presentation/forms/recurrenceEditor/index.d.ts +1 -0
- package/dist/presentation/forms/searchInput/SearchInput.vue.d.ts +48 -0
- package/dist/presentation/forms/searchInput/index.d.ts +1 -0
- package/dist/presentation/forms/select/Select.variants.d.ts +263 -0
- package/dist/presentation/forms/select/Select.vue.d.ts +69 -0
- package/dist/presentation/forms/select/SelectContent.vue.d.ts +44 -0
- package/dist/presentation/forms/select/SelectContext.d.ts +76 -0
- package/dist/presentation/forms/select/SelectItem.vue.d.ts +33 -0
- package/dist/presentation/forms/select/SelectTrigger.vue.d.ts +21 -0
- package/dist/presentation/forms/select/SelectValue.vue.d.ts +22 -0
- package/dist/presentation/forms/select/index.d.ts +7 -0
- package/dist/presentation/forms/slider/Slider.vue.d.ts +38 -0
- package/dist/presentation/forms/slider/index.d.ts +1 -0
- package/dist/presentation/forms/stepper/Stepper.vue.d.ts +34 -0
- package/dist/presentation/forms/stepper/StepperContext.d.ts +44 -0
- package/dist/presentation/forms/stepper/StepperList.vue.d.ts +256 -0
- package/dist/presentation/forms/stepper/StepperPanel.vue.d.ts +16 -0
- package/dist/presentation/forms/stepper/StepperStep.vue.d.ts +23 -0
- package/dist/presentation/forms/stepper/index.d.ts +5 -0
- package/dist/presentation/forms/switch/Switch.vue.d.ts +35 -0
- package/dist/presentation/forms/switch/index.d.ts +1 -0
- package/dist/presentation/forms/switchField/SwitchField.vue.d.ts +33 -0
- package/dist/presentation/forms/switchField/index.d.ts +1 -0
- package/dist/presentation/forms/tagsInput/TagsInput.vue.d.ts +75 -0
- package/dist/presentation/forms/tagsInput/index.d.ts +1 -0
- package/dist/presentation/forms/telInput/TelInput.vue.d.ts +43 -0
- package/dist/presentation/forms/telInput/index.d.ts +1 -0
- package/dist/presentation/forms/textAreaInput/TextAreaInput.vue.d.ts +46 -0
- package/dist/presentation/forms/textAreaInput/index.d.ts +1 -0
- package/dist/presentation/forms/textInput/TextInput.vue.d.ts +43 -0
- package/dist/presentation/forms/textInput/index.d.ts +1 -0
- package/dist/presentation/forms/timeField/TimeField.vue.d.ts +38 -0
- package/dist/presentation/forms/timeField/index.d.ts +1 -0
- package/dist/presentation/forms/timePicker/TimePicker.vue.d.ts +50 -0
- package/dist/presentation/forms/timePicker/index.d.ts +1 -0
- package/dist/presentation/forms/urlInput/UrlInput.vue.d.ts +43 -0
- package/dist/presentation/forms/urlInput/index.d.ts +1 -0
- package/dist/presentation/forms/wizard/Wizard.vue.d.ts +38 -0
- package/dist/presentation/forms/wizard/WizardContext.d.ts +38 -0
- package/dist/presentation/forms/wizard/WizardFooter.vue.d.ts +29 -0
- package/dist/presentation/forms/wizard/WizardStep.vue.d.ts +29 -0
- package/dist/presentation/forms/wizard/WizardSteps.vue.d.ts +7 -0
- package/dist/presentation/forms/wizard/index.d.ts +6 -0
- package/dist/presentation/layout/appShell/AppShell.vue.d.ts +90 -0
- package/dist/presentation/layout/appShell/AppShellAside.vue.d.ts +20 -0
- package/dist/presentation/layout/appShell/AppShellContent.vue.d.ts +20 -0
- package/dist/presentation/layout/appShell/AppShellFooter.vue.d.ts +20 -0
- package/dist/presentation/layout/appShell/AppShellHeader.vue.d.ts +20 -0
- package/dist/presentation/layout/appShell/AppShellMain.vue.d.ts +20 -0
- package/dist/presentation/layout/appShell/AppShellSidebar.vue.d.ts +20 -0
- package/dist/presentation/layout/appShell/index.d.ts +7 -0
- package/dist/presentation/layout/aspectRatio/AspectRatio.vue.d.ts +18 -0
- package/dist/presentation/layout/aspectRatio/index.d.ts +1 -0
- package/dist/presentation/layout/box/Box.vue.d.ts +19 -0
- package/dist/presentation/layout/box/index.d.ts +1 -0
- package/dist/presentation/layout/center/Center.vue.d.ts +13 -0
- package/dist/presentation/layout/center/index.d.ts +1 -0
- package/dist/presentation/layout/cluster/Cluster.vue.d.ts +22 -0
- package/dist/presentation/layout/cluster/index.d.ts +1 -0
- package/dist/presentation/layout/container/Container.variants.d.ts +84 -0
- package/dist/presentation/layout/container/Container.vue.d.ts +21 -0
- package/dist/presentation/layout/container/index.d.ts +2 -0
- package/dist/presentation/layout/controlGroup/ControlGroup.variants.d.ts +136 -0
- package/dist/presentation/layout/controlGroup/ControlGroup.vue.d.ts +35 -0
- package/dist/presentation/layout/controlGroup/index.d.ts +2 -0
- package/dist/presentation/layout/divider/Divider.variants.d.ts +47 -0
- package/dist/presentation/layout/divider/Divider.vue.d.ts +38 -0
- package/dist/presentation/layout/divider/index.d.ts +2 -0
- package/dist/presentation/layout/flex/Flex.vue.d.ts +18 -0
- package/dist/presentation/layout/flex/index.d.ts +1 -0
- package/dist/presentation/layout/frame/Frame.vue.d.ts +38 -0
- package/dist/presentation/layout/frame/index.d.ts +1 -0
- package/dist/presentation/layout/grid/Grid.variants.d.ts +193 -0
- package/dist/presentation/layout/grid/Grid.vue.d.ts +32 -0
- package/dist/presentation/layout/grid/index.d.ts +2 -0
- package/dist/presentation/layout/hStack/HStack.vue.d.ts +14 -0
- package/dist/presentation/layout/hStack/index.d.ts +1 -0
- package/dist/presentation/layout/index.d.ts +24 -0
- package/dist/presentation/layout/index.js +64 -0
- package/dist/presentation/layout/index.js.map +1 -0
- package/dist/presentation/layout/inline/Inline.vue.d.ts +42 -0
- package/dist/presentation/layout/inline/index.d.ts +1 -0
- package/dist/presentation/layout/navbar/Navbar.variants.d.ts +86 -0
- package/dist/presentation/layout/navbar/Navbar.vue.d.ts +43 -0
- package/dist/presentation/layout/navbar/index.d.ts +2 -0
- package/dist/presentation/layout/overlay/Overlay.variants.d.ts +231 -0
- package/dist/presentation/layout/overlay/Overlay.vue.d.ts +64 -0
- package/dist/presentation/layout/overlay/index.d.ts +2 -0
- package/dist/presentation/layout/pullToRefresh/PullToRefresh.vue.d.ts +22 -0
- package/dist/presentation/layout/pullToRefresh/index.d.ts +1 -0
- package/dist/presentation/layout/resizablePanels/ResizablePanel.vue.d.ts +21 -0
- package/dist/presentation/layout/resizablePanels/ResizablePanels.vue.d.ts +59 -0
- package/dist/presentation/layout/resizablePanels/ResizableSeparator.vue.d.ts +10 -0
- package/dist/presentation/layout/resizablePanels/index.d.ts +4 -0
- package/dist/presentation/layout/scrollArea/ScrollArea.vue.d.ts +31 -0
- package/dist/presentation/layout/scrollArea/index.d.ts +1 -0
- package/dist/presentation/layout/section/Section.variants.d.ts +76 -0
- package/dist/presentation/layout/section/Section.vue.d.ts +33 -0
- package/dist/presentation/layout/section/index.d.ts +2 -0
- package/dist/presentation/layout/spacer/Spacer.vue.d.ts +15 -0
- package/dist/presentation/layout/spacer/index.d.ts +1 -0
- package/dist/presentation/layout/stack/Stack.variants.d.ts +330 -0
- package/dist/presentation/layout/stack/Stack.vue.d.ts +37 -0
- package/dist/presentation/layout/stack/index.d.ts +2 -0
- package/dist/presentation/layout/surface/Surface.vue.d.ts +39 -0
- package/dist/presentation/layout/surface/index.d.ts +1 -0
- package/dist/presentation/layout/twoColumn/TwoColumn.vue.d.ts +28 -0
- package/dist/presentation/layout/twoColumn/index.d.ts +1 -0
- package/dist/presentation/layout/vStack/VStack.vue.d.ts +14 -0
- package/dist/presentation/layout/vStack/index.d.ts +1 -0
- package/dist/presentation/nav/NavHelpers.d.ts +11 -0
- package/dist/presentation/nav/breadcrumb/Breadcrumb.vue.d.ts +27 -0
- package/dist/presentation/nav/breadcrumb/index.d.ts +1 -0
- package/dist/presentation/nav/commandPalette/CommandPalette.vue.d.ts +53 -0
- package/dist/presentation/nav/commandPalette/CommandPaletteContent.vue.d.ts +17 -0
- package/dist/presentation/nav/commandPalette/CommandPaletteContext.d.ts +42 -0
- package/dist/presentation/nav/commandPalette/CommandPaletteEmpty.vue.d.ts +19 -0
- package/dist/presentation/nav/commandPalette/CommandPaletteGroup.vue.d.ts +19 -0
- package/dist/presentation/nav/commandPalette/CommandPaletteInput.vue.d.ts +14 -0
- package/dist/presentation/nav/commandPalette/CommandPaletteItem.vue.d.ts +36 -0
- package/dist/presentation/nav/commandPalette/CommandPaletteList.vue.d.ts +19 -0
- package/dist/presentation/nav/commandPalette/CommandPaletteSeparator.vue.d.ts +12 -0
- package/dist/presentation/nav/commandPalette/index.d.ts +9 -0
- package/dist/presentation/nav/contextMenu/ContextMenu.vue.d.ts +18 -0
- package/dist/presentation/nav/contextMenu/ContextMenuContent.vue.d.ts +29 -0
- package/dist/presentation/nav/contextMenu/ContextMenuContext.d.ts +20 -0
- package/dist/presentation/nav/contextMenu/ContextMenuTrigger.vue.d.ts +27 -0
- package/dist/presentation/nav/contextMenu/index.d.ts +4 -0
- package/dist/presentation/nav/dropdownMenu/DropdownMenu.vue.d.ts +44 -0
- package/dist/presentation/nav/dropdownMenu/DropdownMenuContent.vue.d.ts +20 -0
- package/dist/presentation/nav/dropdownMenu/DropdownMenuContext.d.ts +28 -0
- package/dist/presentation/nav/dropdownMenu/DropdownMenuTrigger.vue.d.ts +24 -0
- package/dist/presentation/nav/dropdownMenu/index.d.ts +4 -0
- package/dist/presentation/nav/index.d.ts +11 -0
- package/dist/presentation/nav/index.js +62 -0
- package/dist/presentation/nav/index.js.map +1 -0
- package/dist/presentation/nav/menu/Menu.variants.d.ts +61 -0
- package/dist/presentation/nav/menu/Menu.vue.d.ts +65 -0
- package/dist/presentation/nav/menu/MenuContext.d.ts +25 -0
- package/dist/presentation/nav/menu/MenuGroup.vue.d.ts +19 -0
- package/dist/presentation/nav/menu/MenuItem.vue.d.ts +33 -0
- package/dist/presentation/nav/menu/MenuLabel.vue.d.ts +20 -0
- package/dist/presentation/nav/menu/MenuSeparator.vue.d.ts +12 -0
- package/dist/presentation/nav/menu/index.d.ts +7 -0
- package/dist/presentation/nav/menubar/Menubar.variants.d.ts +6 -0
- package/dist/presentation/nav/menubar/Menubar.vue.d.ts +274 -0
- package/dist/presentation/nav/menubar/MenubarContent.vue.d.ts +30 -0
- package/dist/presentation/nav/menubar/MenubarContext.d.ts +34 -0
- package/dist/presentation/nav/menubar/MenubarMenu.vue.d.ts +14 -0
- package/dist/presentation/nav/menubar/MenubarTrigger.vue.d.ts +20 -0
- package/dist/presentation/nav/menubar/index.d.ts +5 -0
- package/dist/presentation/nav/navItem/NavItem.vue.d.ts +30 -0
- package/dist/presentation/nav/navItem/index.d.ts +1 -0
- package/dist/presentation/nav/navigationMenu/NavigationMenu.vue.d.ts +33 -0
- package/dist/presentation/nav/navigationMenu/NavigationMenuContent.vue.d.ts +20 -0
- package/dist/presentation/nav/navigationMenu/NavigationMenuContext.d.ts +24 -0
- package/dist/presentation/nav/navigationMenu/NavigationMenuItem.vue.d.ts +16 -0
- package/dist/presentation/nav/navigationMenu/NavigationMenuLink.vue.d.ts +20 -0
- package/dist/presentation/nav/navigationMenu/NavigationMenuList.vue.d.ts +262 -0
- package/dist/presentation/nav/navigationMenu/NavigationMenuTrigger.vue.d.ts +20 -0
- package/dist/presentation/nav/navigationMenu/index.d.ts +7 -0
- package/dist/presentation/nav/pagination/Pagination.vue.d.ts +24 -0
- package/dist/presentation/nav/pagination/index.d.ts +1 -0
- package/dist/presentation/nav/scrollSpy/ScrollSpy.vue.d.ts +31 -0
- package/dist/presentation/nav/scrollSpy/UseScrollSpy.d.ts +20 -0
- package/dist/presentation/nav/scrollSpy/index.d.ts +2 -0
- package/dist/presentation/nav/tableOfContents/TableOfContents.vue.d.ts +41 -0
- package/dist/presentation/nav/tableOfContents/index.d.ts +1 -0
- package/dist/presentation/overlays/OverlayBody.vue.d.ts +20 -0
- package/dist/presentation/overlays/OverlayChrome.d.ts +9 -0
- package/dist/presentation/overlays/OverlayCloseButton.vue.d.ts +24 -0
- package/dist/presentation/overlays/OverlayDescription.vue.d.ts +20 -0
- package/dist/presentation/overlays/OverlayFooter.vue.d.ts +20 -0
- package/dist/presentation/overlays/OverlayHeader.vue.d.ts +20 -0
- package/dist/presentation/overlays/OverlayHelpers.d.ts +11 -0
- package/dist/presentation/overlays/OverlayTitle.vue.d.ts +20 -0
- package/dist/presentation/overlays/actionSheet/ActionSheet.vue.d.ts +52 -0
- package/dist/presentation/overlays/actionSheet/ActionSheetAction.vue.d.ts +29 -0
- package/dist/presentation/overlays/actionSheet/ActionSheetCancel.vue.d.ts +19 -0
- package/dist/presentation/overlays/actionSheet/index.d.ts +4 -0
- package/dist/presentation/overlays/alertModal/AlertModal.vue.d.ts +28 -0
- package/dist/presentation/overlays/alertModal/AlertModalAction.vue.d.ts +24 -0
- package/dist/presentation/overlays/alertModal/AlertModalCancel.vue.d.ts +19 -0
- package/dist/presentation/overlays/alertModal/AlertModalContent.vue.d.ts +15 -0
- package/dist/presentation/overlays/alertModal/index.d.ts +12 -0
- package/dist/presentation/overlays/backdrop/Backdrop.vue.d.ts +40 -0
- package/dist/presentation/overlays/backdrop/index.d.ts +1 -0
- package/dist/presentation/overlays/bottomSheet/BottomSheet.vue.d.ts +79 -0
- package/dist/presentation/overlays/bottomSheet/index.d.ts +3 -0
- package/dist/presentation/overlays/drawer/Drawer.vue.d.ts +68 -0
- package/dist/presentation/overlays/drawer/DrawerContent.vue.d.ts +54 -0
- package/dist/presentation/overlays/drawer/DrawerTrigger.vue.d.ts +24 -0
- package/dist/presentation/overlays/drawer/index.d.ts +9 -0
- package/dist/presentation/overlays/hoverCard/HoverCard.vue.d.ts +68 -0
- package/dist/presentation/overlays/hoverCard/HoverCardArrow.vue.d.ts +10 -0
- package/dist/presentation/overlays/hoverCard/HoverCardContent.vue.d.ts +20 -0
- package/dist/presentation/overlays/hoverCard/HoverCardTrigger.vue.d.ts +24 -0
- package/dist/presentation/overlays/hoverCard/index.d.ts +4 -0
- package/dist/presentation/overlays/index.d.ts +8 -0
- package/dist/presentation/overlays/index.js +62 -0
- package/dist/presentation/overlays/index.js.map +1 -0
- package/dist/presentation/overlays/modal/Modal.vue.d.ts +75 -0
- package/dist/presentation/overlays/modal/ModalContent.vue.d.ts +38 -0
- package/dist/presentation/overlays/modal/ModalTrigger.vue.d.ts +24 -0
- package/dist/presentation/overlays/modal/index.d.ts +22 -0
- package/dist/presentation/overlays/popover/Popover.vue.d.ts +70 -0
- package/dist/presentation/overlays/popover/PopoverArrow.vue.d.ts +10 -0
- package/dist/presentation/overlays/popover/PopoverContent.vue.d.ts +34 -0
- package/dist/presentation/overlays/popover/PopoverTrigger.vue.d.ts +24 -0
- package/dist/presentation/overlays/popover/index.d.ts +4 -0
- package/dist/query/CreateQueryClient.d.ts +19 -0
- package/dist/query/Devtools.vue.d.ts +10 -0
- package/dist/query/Endpoints.d.ts +14 -0
- package/dist/query/PageHelpers.d.ts +10 -0
- package/dist/query/Persistence.d.ts +40 -0
- package/dist/query/QueryPlugin.d.ts +14 -0
- package/dist/query/QueryProgressBridge.d.ts +16 -0
- package/dist/query/QueryProvider.vue.d.ts +17 -0
- package/dist/query/QueryTestUtils.d.ts +54 -0
- package/dist/query/ToApiError.d.ts +7 -0
- package/dist/query/UseAppInfiniteQuery.d.ts +45 -0
- package/dist/query/UseAppLazyQuery.d.ts +40 -0
- package/dist/query/UseAppMutation.d.ts +32 -0
- package/dist/query/UseAppPaginatedQuery.d.ts +39 -0
- package/dist/query/UseAppQueries.d.ts +43 -0
- package/dist/query/UseAppQuery.d.ts +38 -0
- package/dist/query/UseAppSuspenseQuery.d.ts +42 -0
- package/dist/query/UseOptimisticMutation.d.ts +25 -0
- package/dist/query/UsePrefetchQuery.d.ts +26 -0
- package/dist/query/UseQueryCache.d.ts +31 -0
- package/dist/query/index.d.ts +19 -0
- package/dist/query/index.js +461 -0
- package/dist/query/index.js.map +1 -0
- package/dist/query/testing.d.ts +1 -0
- package/dist/query/testing.js +48 -0
- package/dist/query/testing.js.map +1 -0
- package/dist/router/AppErrorBoundary.vue.d.ts +26 -0
- package/dist/router/AppNavLink.vue.d.ts +40 -0
- package/dist/router/CreateAppRouter.d.ts +65 -0
- package/dist/router/DocumentMeta.d.ts +9 -0
- package/dist/router/DocumentTitle.d.ts +18 -0
- package/dist/router/Guards.d.ts +29 -0
- package/dist/router/LazyRoute.d.ts +16 -0
- package/dist/router/NavigationProgress.vue.d.ts +19 -0
- package/dist/router/NavigationProgressModes.d.ts +18 -0
- package/dist/router/NotFound.vue.d.ts +10 -0
- package/dist/router/PageViewTracker.d.ts +23 -0
- package/dist/router/Paths.d.ts +18 -0
- package/dist/router/ProgressProvider.vue.d.ts +19 -0
- package/dist/router/RouteAnnouncer.vue.d.ts +10 -0
- package/dist/router/RouteConfig.d.ts +82 -0
- package/dist/router/RouteHandles.d.ts +24 -0
- package/dist/router/RoutePersistence.d.ts +21 -0
- package/dist/router/UseBreadcrumbs.d.ts +17 -0
- package/dist/router/UseNavigationBlocker.d.ts +41 -0
- package/dist/router/UseNavigationProgress.d.ts +32 -0
- package/dist/router/UsePrefetch.d.ts +19 -0
- package/dist/router/UseRouteNavigating.d.ts +15 -0
- package/dist/router/UseTypedSearchParams.d.ts +17 -0
- package/dist/router/index.d.ts +23 -0
- package/dist/router/index.js +711 -0
- package/dist/router/index.js.map +1 -0
- package/dist/themes.css +15374 -0
- package/dist/themes.json +2898 -0
- package/package.json +432 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/** Cumulative item geometry for a list of a known length. Treat as immutable — build a new one to change it. */
|
|
2
|
+
export interface Measurements {
|
|
3
|
+
/**
|
|
4
|
+
* Cumulative start offsets, length `count + 1` and non-decreasing. `offsets[i]` is item `i`'s start edge;
|
|
5
|
+
* `offsets[count]` is the list's total size.
|
|
6
|
+
*/
|
|
7
|
+
readonly offsets: readonly number[];
|
|
8
|
+
/** The number of items described. Always a non-negative integer. */
|
|
9
|
+
readonly count: number;
|
|
10
|
+
}
|
|
11
|
+
/** The zero-item measurements — a shared, identity-stable empty value. */
|
|
12
|
+
export declare const EMPTY_MEASUREMENTS: Measurements;
|
|
13
|
+
/**
|
|
14
|
+
* Builds cumulative offsets by running `sizeAt` once per item. O(n), and the only O(n) pass in a steady-state
|
|
15
|
+
* list: it runs on mount and when `count` changes, never per scroll frame.
|
|
16
|
+
*
|
|
17
|
+
* @param count How many items the list has. Non-integer or negative values are floored to a safe count.
|
|
18
|
+
* @param sizeAt Size of the item at an index — a real measurement if one exists, otherwise an estimate.
|
|
19
|
+
* @returns Measurements whose `offsets` are non-decreasing and whose tail entry is the total size.
|
|
20
|
+
*/
|
|
21
|
+
export declare function buildMeasurements(count: number, sizeAt: (index: number) => number): Measurements;
|
|
22
|
+
/**
|
|
23
|
+
* The start edge of the item at `index`. Reading `count` returns the total size (the tail entry); indices
|
|
24
|
+
* outside `[0, count]` clamp rather than throw, so a stale index from a shrinking list degrades quietly.
|
|
25
|
+
*
|
|
26
|
+
* @param measurements The geometry to read.
|
|
27
|
+
* @param index The item index, or `count` for the list's end edge.
|
|
28
|
+
* @returns The cumulative offset in pixels.
|
|
29
|
+
*/
|
|
30
|
+
export declare function itemOffset(measurements: Measurements, index: number): number;
|
|
31
|
+
/**
|
|
32
|
+
* The size of the item at `index`, derived from its own start edge and the next one.
|
|
33
|
+
*
|
|
34
|
+
* @param measurements The geometry to read.
|
|
35
|
+
* @param index The item index.
|
|
36
|
+
* @returns The item's size in pixels, or 0 when the index is out of range.
|
|
37
|
+
*/
|
|
38
|
+
export declare function itemSize(measurements: Measurements, index: number): number;
|
|
39
|
+
/**
|
|
40
|
+
* The list's total size — the tail entry of the prefix sum.
|
|
41
|
+
*
|
|
42
|
+
* @param measurements The geometry to read.
|
|
43
|
+
* @returns The summed size of every item in pixels.
|
|
44
|
+
*/
|
|
45
|
+
export declare function measurementsTotalSize(measurements: Measurements): number;
|
|
46
|
+
/**
|
|
47
|
+
* Binary-searches a non-decreasing offset accessor for the last index whose start edge is at or before `offset`
|
|
48
|
+
* — i.e. the item occupying that pixel. The accessor form (rather than an array) lets the fixed-size path search
|
|
49
|
+
* a computed `index * itemSize` without materializing anything.
|
|
50
|
+
*
|
|
51
|
+
* Zero-size items share a start edge; the search resolves such a tie to the LAST of them, which keeps it
|
|
52
|
+
* consistent with the fixed-size arithmetic path in `Windowing`.
|
|
53
|
+
*
|
|
54
|
+
* @param offsetAt Non-decreasing accessor returning the start edge of an index.
|
|
55
|
+
* @param count How many items are searchable (indices `0 .. count - 1`).
|
|
56
|
+
* @param offset The pixel offset to locate. Negative values are treated as 0.
|
|
57
|
+
* @returns The item index at that offset, or `-1` when there are no items.
|
|
58
|
+
*/
|
|
59
|
+
export declare function findIndexByOffsetAccessor(offsetAt: (index: number) => number, count: number, offset: number): number;
|
|
60
|
+
/**
|
|
61
|
+
* Locates the item occupying `offset` in O(log n).
|
|
62
|
+
*
|
|
63
|
+
* @param measurements The geometry to search.
|
|
64
|
+
* @param offset The pixel offset to locate. Negative values are treated as 0.
|
|
65
|
+
* @returns The item index at that offset, or `-1` for an empty list.
|
|
66
|
+
*/
|
|
67
|
+
export declare function findIndexAtOffset(measurements: Measurements, offset: number): number;
|
|
68
|
+
/**
|
|
69
|
+
* Records a real measured size for one item, shifting every later offset by the difference.
|
|
70
|
+
*
|
|
71
|
+
* Returns the SAME object when the size is unchanged or the index is out of range — consumers rely on that
|
|
72
|
+
* identity to skip work, and it is what breaks the measure -> render -> measure cycle.
|
|
73
|
+
*
|
|
74
|
+
* @param measurements The geometry to update.
|
|
75
|
+
* @param index The item that was measured.
|
|
76
|
+
* @param size Its real size in pixels. Non-finite or negative values are floored to 0.
|
|
77
|
+
* @returns New measurements, or the original when nothing changed.
|
|
78
|
+
*/
|
|
79
|
+
export declare function withMeasuredSize(measurements: Measurements, index: number, size: number): Measurements;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { ComputedRef, MaybeRefOrGetter, ShallowRef } from 'vue';
|
|
2
|
+
import { ScrollAlignment, VirtualRange } from './Windowing';
|
|
3
|
+
/** One rendered row: where to put it and how big it is. */
|
|
4
|
+
export interface VirtualItem {
|
|
5
|
+
/** Index into the consumer's data array. */
|
|
6
|
+
readonly index: number;
|
|
7
|
+
/** Offset of the item's start edge from the list's start, in pixels — the value to position it at. */
|
|
8
|
+
readonly start: number;
|
|
9
|
+
/** The item's current size in pixels: its real measurement if one was recorded, otherwise the estimate. */
|
|
10
|
+
readonly size: number;
|
|
11
|
+
/** Stable key for `v-for` — `getItemKey(index)` when supplied, otherwise the index itself. */
|
|
12
|
+
readonly key: string | number;
|
|
13
|
+
}
|
|
14
|
+
/** Configures a `useVirtualList` binding. */
|
|
15
|
+
export interface UseVirtualListOptions {
|
|
16
|
+
/** How many items the full list has. */
|
|
17
|
+
readonly count: MaybeRefOrGetter<number>;
|
|
18
|
+
/**
|
|
19
|
+
* Estimated size of the item at an index, in pixels, used until a real measurement arrives. Read at build
|
|
20
|
+
* time — a CHANGED estimator only takes effect when `count` changes or an item is re-measured.
|
|
21
|
+
*/
|
|
22
|
+
readonly estimateSize: (index: number) => number;
|
|
23
|
+
/** The scrolling container, as a ref or getter. A `useTemplateRef` drops straight in. */
|
|
24
|
+
readonly target?: MaybeRefOrGetter<HTMLElement | null | undefined>;
|
|
25
|
+
/** Callback form of the same thing, for containers not held in a ref. Takes precedence over `target`. */
|
|
26
|
+
readonly getScrollElement?: () => HTMLElement | null;
|
|
27
|
+
/** Extra items rendered beyond each edge of the viewport. Defaults to {@link DEFAULT_OVERSCAN}. */
|
|
28
|
+
readonly overscan?: MaybeRefOrGetter<number | undefined>;
|
|
29
|
+
/** Whether the list scrolls horizontally (`scrollLeft`/`clientWidth`) instead of vertically. Defaults to `false`. */
|
|
30
|
+
readonly horizontal?: MaybeRefOrGetter<boolean | undefined>;
|
|
31
|
+
/** Viewport size assumed before the container is measured — set it to render a sensible first frame under SSR. Defaults to `0`. */
|
|
32
|
+
readonly initialViewportSize?: number;
|
|
33
|
+
/** Stable key for an item, for reordering data. Defaults to the index. */
|
|
34
|
+
readonly getItemKey?: (index: number) => string | number;
|
|
35
|
+
}
|
|
36
|
+
/** What a virtualized list hands back to its consumer. */
|
|
37
|
+
export interface VirtualList {
|
|
38
|
+
/** The items to render right now, in index order, overscan included. Empty when the list is empty. */
|
|
39
|
+
readonly virtualItems: ComputedRef<readonly VirtualItem[]>;
|
|
40
|
+
/** Combined size of every item — the size the scrollable spacer must have for the scrollbar to be honest. */
|
|
41
|
+
readonly totalSize: ComputedRef<number>;
|
|
42
|
+
/** The underlying window: rendered index bounds plus leading/trailing spacer sizes, for padding-based layouts. */
|
|
43
|
+
readonly range: ComputedRef<VirtualRange>;
|
|
44
|
+
/** Pixels of content skipped before the first rendered item. Same as `range.paddingStart`. */
|
|
45
|
+
readonly paddingStart: ComputedRef<number>;
|
|
46
|
+
/** Pixels of content skipped after the last rendered item. Same as `range.paddingEnd`. */
|
|
47
|
+
readonly paddingEnd: ComputedRef<number>;
|
|
48
|
+
/** The container's current scroll position along the list's axis, as the composable last observed it. */
|
|
49
|
+
readonly scrollOffset: Readonly<ShallowRef<number>>;
|
|
50
|
+
/** The container's measured viewport size along the list's axis. `0` until the container mounts. */
|
|
51
|
+
readonly viewportSize: Readonly<ShallowRef<number>>;
|
|
52
|
+
/**
|
|
53
|
+
* Scrolls the container so item `index` is in view.
|
|
54
|
+
*
|
|
55
|
+
* @param index Item to reveal; clamped into range.
|
|
56
|
+
* @param align Where it should land. Defaults to `'auto'` — a no-op when the item is already fully visible.
|
|
57
|
+
*/
|
|
58
|
+
scrollToIndex(index: number, align?: ScrollAlignment): void;
|
|
59
|
+
/**
|
|
60
|
+
* Records an item's real measured size, replacing its estimate. A no-op when the size is unchanged, so it is
|
|
61
|
+
* safe to call from a ResizeObserver or a post-flush watcher on every update.
|
|
62
|
+
*
|
|
63
|
+
* Preserves the visible content when the item sits above the fold — see this file's header.
|
|
64
|
+
*
|
|
65
|
+
* @param index The item that was measured.
|
|
66
|
+
* @param size Its real size in pixels.
|
|
67
|
+
*/
|
|
68
|
+
measureItem(index: number, size: number): void;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Virtualizes a list: subscribes to a scroll container and reports only the items overlapping its viewport.
|
|
72
|
+
*
|
|
73
|
+
* Headless by design — it produces geometry, never markup. The consumer renders a spacer sized `totalSize` and
|
|
74
|
+
* positions each `virtualItem` at its `start`. See the `foundation/virtualization` barrel for a usage sketch.
|
|
75
|
+
*
|
|
76
|
+
* @param options The item count, size estimator, and the container to watch.
|
|
77
|
+
* @returns The current window, total size, and the `scrollToIndex` / `measureItem` controls.
|
|
78
|
+
*/
|
|
79
|
+
export declare function useVirtualList(options: UseVirtualListOptions): VirtualList;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/** The default number of off-screen items kept mounted on each side — enough to cover a fast flick's first frames. */
|
|
2
|
+
export declare const DEFAULT_OVERSCAN = 3;
|
|
3
|
+
/** Where a `scrollToIndex` should land the target item within the viewport. */
|
|
4
|
+
export type ScrollAlignment =
|
|
5
|
+
/** Item's top edge at the viewport's top edge. */
|
|
6
|
+
'start'
|
|
7
|
+
/** Item centred in the viewport. */
|
|
8
|
+
| 'center'
|
|
9
|
+
/** Item's bottom edge at the viewport's bottom edge. */
|
|
10
|
+
| 'end'
|
|
11
|
+
/** Scroll the shortest distance to bring the item fully into view; do nothing if it already is. */
|
|
12
|
+
| 'auto';
|
|
13
|
+
/** The slice of a list that must be rendered, plus the empty space standing in for everything else. */
|
|
14
|
+
export interface VirtualRange {
|
|
15
|
+
/** First item index to render, overscan included. `0` when nothing renders. */
|
|
16
|
+
readonly startIndex: number;
|
|
17
|
+
/**
|
|
18
|
+
* Last item index to render, INCLUSIVE and overscan included. `-1` when nothing renders (an empty list), so
|
|
19
|
+
* `endIndex < startIndex` is the emptiness test and `endIndex - startIndex + 1` is always the rendered count.
|
|
20
|
+
*/
|
|
21
|
+
readonly endIndex: number;
|
|
22
|
+
/** Pixels of skipped content before `startIndex` — the leading spacer's size. */
|
|
23
|
+
readonly paddingStart: number;
|
|
24
|
+
/** Pixels of skipped content after `endIndex` — the trailing spacer's size. */
|
|
25
|
+
readonly paddingEnd: number;
|
|
26
|
+
}
|
|
27
|
+
/** The empty-list range: renders nothing, reserves nothing. */
|
|
28
|
+
export declare const EMPTY_RANGE: VirtualRange;
|
|
29
|
+
/** Inputs to the windowing math. Supply `estimateSize` for a fixed list, `getOffset` for a variable one. */
|
|
30
|
+
export interface ComputeRangeOptions {
|
|
31
|
+
/** Current scroll position of the container along the list's axis, in pixels. Clamped into the scrollable range. */
|
|
32
|
+
readonly scrollOffset: number;
|
|
33
|
+
/** Visible size of the container along the list's axis, in pixels (`clientHeight`, or `clientWidth` when horizontal). */
|
|
34
|
+
readonly viewportSize: number;
|
|
35
|
+
/** How many items the list has. Floored to a non-negative integer. */
|
|
36
|
+
readonly itemCount: number;
|
|
37
|
+
/**
|
|
38
|
+
* Item sizing. A NUMBER selects the fixed-size fast path (O(1), no search). A FUNCTION is a per-index
|
|
39
|
+
* estimate and forces an O(n) prefix-sum build here, so pass `getOffset` instead on any hot path — that is
|
|
40
|
+
* exactly what `useVirtualList` does. Omit entirely only alongside `getOffset`.
|
|
41
|
+
*/
|
|
42
|
+
readonly estimateSize?: number | ((index: number) => number);
|
|
43
|
+
/** Extra items rendered beyond each edge of the viewport. Defaults to `0` here; `useVirtualList` defaults it to {@link DEFAULT_OVERSCAN}. */
|
|
44
|
+
readonly overscan?: number;
|
|
45
|
+
/**
|
|
46
|
+
* Cumulative start-offset accessor, defined for `0 .. itemCount` (where `itemCount` yields the total size).
|
|
47
|
+
* Supplying it selects the variable-size path — the binary search. Takes precedence over `estimateSize`.
|
|
48
|
+
*/
|
|
49
|
+
readonly getOffset?: (index: number) => number;
|
|
50
|
+
}
|
|
51
|
+
/** Inputs to {@link computeScrollOffset} — the same geometry, plus which item to reveal and how. */
|
|
52
|
+
export interface ComputeScrollOffsetOptions extends ComputeRangeOptions {
|
|
53
|
+
/** The item to bring into view. Clamped into `[0, itemCount - 1]`. */
|
|
54
|
+
readonly index: number;
|
|
55
|
+
/** Where the item should land. Defaults to `'auto'`. */
|
|
56
|
+
readonly align?: ScrollAlignment;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Computes the slice of items overlapping the viewport, widened by `overscan` and clamped to the list.
|
|
60
|
+
*
|
|
61
|
+
* Boundary rule: an item whose start edge sits EXACTLY on the viewport's bottom edge is not visible and is not
|
|
62
|
+
* included (before overscan). Both sizing paths implement that identically.
|
|
63
|
+
*
|
|
64
|
+
* @param options Scroll position, viewport size, item count, and the sizing input.
|
|
65
|
+
* @returns The indices to render plus the leading/trailing spacer sizes. `paddingStart` + the rendered items'
|
|
66
|
+
* combined size + `paddingEnd` always equals the list's total size.
|
|
67
|
+
*/
|
|
68
|
+
export declare function computeRange(options: ComputeRangeOptions): VirtualRange;
|
|
69
|
+
/**
|
|
70
|
+
* Computes the scroll offset that brings `index` into view under a given alignment.
|
|
71
|
+
*
|
|
72
|
+
* `'auto'` is a no-op when the item is already fully visible (or already spans the whole viewport), which is
|
|
73
|
+
* what makes it safe to call on every selection change without fighting the user's scrolling.
|
|
74
|
+
*
|
|
75
|
+
* @param options Geometry plus the target `index` and `align`.
|
|
76
|
+
* @returns The offset to assign to the container, clamped to `[0, totalSize - viewportSize]`.
|
|
77
|
+
*/
|
|
78
|
+
export declare function computeScrollOffset(options: ComputeScrollOffsetOptions): number;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { buildMeasurements, findIndexAtOffset, findIndexByOffsetAccessor, itemOffset, itemSize, measurementsTotalSize, withMeasuredSize, EMPTY_MEASUREMENTS, type Measurements, } from './Measurements';
|
|
2
|
+
export { computeRange, computeScrollOffset, DEFAULT_OVERSCAN, EMPTY_RANGE, type ComputeRangeOptions, type ComputeScrollOffsetOptions, type ScrollAlignment, type VirtualRange, } from './Windowing';
|
|
3
|
+
export { useVirtualList, type UseVirtualListOptions, type VirtualItem, type VirtualList, } from './UseVirtualList';
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
import { computed, toValue, shallowRef, watchPostEffect, watch } from "vue";
|
|
2
|
+
import { u as useResizeObserver } from "../../chunks/useResizeObserver-BUU7lC-n.js";
|
|
3
|
+
function normalizeSize(size) {
|
|
4
|
+
return Number.isFinite(size) && size > 0 ? size : 0;
|
|
5
|
+
}
|
|
6
|
+
const EMPTY_MEASUREMENTS = { offsets: [0], count: 0 };
|
|
7
|
+
function buildMeasurements(count, sizeAt) {
|
|
8
|
+
const safeCount = Number.isFinite(count) ? Math.max(0, Math.floor(count)) : 0;
|
|
9
|
+
if (safeCount === 0) return EMPTY_MEASUREMENTS;
|
|
10
|
+
const offsets = new Array(safeCount + 1);
|
|
11
|
+
offsets[0] = 0;
|
|
12
|
+
let running = 0;
|
|
13
|
+
for (let index = 0; index < safeCount; index += 1) {
|
|
14
|
+
running += normalizeSize(sizeAt(index));
|
|
15
|
+
offsets[index + 1] = running;
|
|
16
|
+
}
|
|
17
|
+
return { offsets, count: safeCount };
|
|
18
|
+
}
|
|
19
|
+
function itemOffset(measurements, index) {
|
|
20
|
+
const clamped = Math.min(Math.max(Math.floor(index), 0), measurements.count);
|
|
21
|
+
return measurements.offsets[clamped] ?? 0;
|
|
22
|
+
}
|
|
23
|
+
function itemSize(measurements, index) {
|
|
24
|
+
if (index < 0 || index >= measurements.count) return 0;
|
|
25
|
+
return itemOffset(measurements, index + 1) - itemOffset(measurements, index);
|
|
26
|
+
}
|
|
27
|
+
function measurementsTotalSize(measurements) {
|
|
28
|
+
return itemOffset(measurements, measurements.count);
|
|
29
|
+
}
|
|
30
|
+
function findIndexByOffsetAccessor(offsetAt, count, offset) {
|
|
31
|
+
if (count <= 0) return -1;
|
|
32
|
+
const target = Number.isFinite(offset) ? Math.max(0, offset) : 0;
|
|
33
|
+
let low = 0;
|
|
34
|
+
let high = count - 1;
|
|
35
|
+
let best = 0;
|
|
36
|
+
while (low <= high) {
|
|
37
|
+
const mid = low + high >>> 1;
|
|
38
|
+
if (offsetAt(mid) <= target) {
|
|
39
|
+
best = mid;
|
|
40
|
+
low = mid + 1;
|
|
41
|
+
} else {
|
|
42
|
+
high = mid - 1;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return best;
|
|
46
|
+
}
|
|
47
|
+
function findIndexAtOffset(measurements, offset) {
|
|
48
|
+
return findIndexByOffsetAccessor(
|
|
49
|
+
(index) => itemOffset(measurements, index),
|
|
50
|
+
measurements.count,
|
|
51
|
+
offset
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
function withMeasuredSize(measurements, index, size) {
|
|
55
|
+
if (index < 0 || index >= measurements.count) return measurements;
|
|
56
|
+
const next = normalizeSize(size);
|
|
57
|
+
const delta = next - itemSize(measurements, index);
|
|
58
|
+
if (delta === 0) return measurements;
|
|
59
|
+
const offsets = measurements.offsets.slice();
|
|
60
|
+
for (let cursor = index + 1; cursor <= measurements.count; cursor += 1) {
|
|
61
|
+
offsets[cursor] = (offsets[cursor] ?? 0) + delta;
|
|
62
|
+
}
|
|
63
|
+
return { offsets, count: measurements.count };
|
|
64
|
+
}
|
|
65
|
+
const DEFAULT_OVERSCAN = 3;
|
|
66
|
+
const EMPTY_RANGE = {
|
|
67
|
+
startIndex: 0,
|
|
68
|
+
endIndex: -1,
|
|
69
|
+
paddingStart: 0,
|
|
70
|
+
paddingEnd: 0
|
|
71
|
+
};
|
|
72
|
+
function finite(value) {
|
|
73
|
+
return Number.isFinite(value) ? value : 0;
|
|
74
|
+
}
|
|
75
|
+
function clamp(value, min, max) {
|
|
76
|
+
return Math.min(Math.max(value, min), max);
|
|
77
|
+
}
|
|
78
|
+
function resolveOffsetAt(options, itemCount) {
|
|
79
|
+
const { getOffset, estimateSize } = options;
|
|
80
|
+
if (getOffset) {
|
|
81
|
+
return (index) => finite(getOffset(clamp(Math.floor(index), 0, itemCount)));
|
|
82
|
+
}
|
|
83
|
+
if (typeof estimateSize === "number") {
|
|
84
|
+
const size = Math.max(0, finite(estimateSize));
|
|
85
|
+
return (index) => clamp(Math.floor(index), 0, itemCount) * size;
|
|
86
|
+
}
|
|
87
|
+
if (typeof estimateSize === "function") {
|
|
88
|
+
const offsets = new Array(itemCount + 1);
|
|
89
|
+
offsets[0] = 0;
|
|
90
|
+
let running = 0;
|
|
91
|
+
for (let index = 0; index < itemCount; index += 1) {
|
|
92
|
+
running += Math.max(0, finite(estimateSize(index)));
|
|
93
|
+
offsets[index + 1] = running;
|
|
94
|
+
}
|
|
95
|
+
return (index) => offsets[clamp(Math.floor(index), 0, itemCount)] ?? 0;
|
|
96
|
+
}
|
|
97
|
+
return () => 0;
|
|
98
|
+
}
|
|
99
|
+
function computeRange(options) {
|
|
100
|
+
const itemCount = Number.isFinite(options.itemCount) ? Math.max(0, Math.floor(options.itemCount)) : 0;
|
|
101
|
+
if (itemCount === 0) return EMPTY_RANGE;
|
|
102
|
+
const overscan = Math.max(0, Math.floor(finite(options.overscan ?? 0)));
|
|
103
|
+
const viewportSize = Math.max(0, finite(options.viewportSize));
|
|
104
|
+
const offsetAt = resolveOffsetAt(options, itemCount);
|
|
105
|
+
const totalSize = offsetAt(itemCount);
|
|
106
|
+
const maxScroll = Math.max(0, totalSize - viewportSize);
|
|
107
|
+
const scrollOffset = clamp(finite(options.scrollOffset), 0, maxScroll);
|
|
108
|
+
const bottomEdge = scrollOffset + viewportSize;
|
|
109
|
+
const uniformSize = !options.getOffset && typeof options.estimateSize === "number" ? Math.max(0, finite(options.estimateSize)) : 0;
|
|
110
|
+
let firstVisible;
|
|
111
|
+
let lastVisible;
|
|
112
|
+
if (uniformSize > 0) {
|
|
113
|
+
firstVisible = clamp(Math.floor(scrollOffset / uniformSize), 0, itemCount - 1);
|
|
114
|
+
lastVisible = clamp(Math.ceil(bottomEdge / uniformSize) - 1, 0, itemCount - 1);
|
|
115
|
+
if (lastVisible < firstVisible) lastVisible = firstVisible;
|
|
116
|
+
} else {
|
|
117
|
+
firstVisible = findIndexByOffsetAccessor(offsetAt, itemCount, scrollOffset);
|
|
118
|
+
lastVisible = findIndexByOffsetAccessor(offsetAt, itemCount, bottomEdge);
|
|
119
|
+
if (lastVisible > firstVisible && offsetAt(lastVisible) >= bottomEdge) lastVisible -= 1;
|
|
120
|
+
}
|
|
121
|
+
const startIndex = Math.max(0, firstVisible - overscan);
|
|
122
|
+
const endIndex = Math.min(itemCount - 1, lastVisible + overscan);
|
|
123
|
+
return {
|
|
124
|
+
startIndex,
|
|
125
|
+
endIndex,
|
|
126
|
+
paddingStart: Math.max(0, offsetAt(startIndex)),
|
|
127
|
+
paddingEnd: Math.max(0, totalSize - offsetAt(endIndex + 1))
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
function alignedOffset(align, start, end, viewportSize, current) {
|
|
131
|
+
switch (align) {
|
|
132
|
+
case "start":
|
|
133
|
+
return start;
|
|
134
|
+
case "end":
|
|
135
|
+
return end - viewportSize;
|
|
136
|
+
case "center":
|
|
137
|
+
return start + (end - start) / 2 - viewportSize / 2;
|
|
138
|
+
case "auto": {
|
|
139
|
+
if (start >= current && end <= current + viewportSize) return current;
|
|
140
|
+
if (start <= current && end >= current + viewportSize) return current;
|
|
141
|
+
if (end - start >= viewportSize) return start;
|
|
142
|
+
return start < current ? start : end - viewportSize;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
function computeScrollOffset(options) {
|
|
147
|
+
const itemCount = Number.isFinite(options.itemCount) ? Math.max(0, Math.floor(options.itemCount)) : 0;
|
|
148
|
+
if (itemCount === 0) return 0;
|
|
149
|
+
const viewportSize = Math.max(0, finite(options.viewportSize));
|
|
150
|
+
const offsetAt = resolveOffsetAt(options, itemCount);
|
|
151
|
+
const totalSize = offsetAt(itemCount);
|
|
152
|
+
const maxScroll = Math.max(0, totalSize - viewportSize);
|
|
153
|
+
const current = clamp(finite(options.scrollOffset), 0, maxScroll);
|
|
154
|
+
const index = clamp(Math.floor(finite(options.index)), 0, itemCount - 1);
|
|
155
|
+
const start = offsetAt(index);
|
|
156
|
+
const end = offsetAt(index + 1);
|
|
157
|
+
return clamp(alignedOffset(options.align ?? "auto", start, end, viewportSize, current), 0, maxScroll);
|
|
158
|
+
}
|
|
159
|
+
function useVirtualList(options) {
|
|
160
|
+
const horizontal = computed(() => toValue(options.horizontal) ?? false);
|
|
161
|
+
const count = computed(() => toValue(options.count));
|
|
162
|
+
const overscan = computed(() => toValue(options.overscan) ?? DEFAULT_OVERSCAN);
|
|
163
|
+
const scrollOffset = shallowRef(0);
|
|
164
|
+
const viewportSize = shallowRef(Math.max(0, options.initialViewportSize ?? 0));
|
|
165
|
+
const measurementVersion = shallowRef(0);
|
|
166
|
+
const scrollElement = computed(
|
|
167
|
+
() => options.getScrollElement?.() ?? toValue(options.target) ?? null
|
|
168
|
+
);
|
|
169
|
+
const measuredSizes = /* @__PURE__ */ new Map();
|
|
170
|
+
let pendingScrollDelta = 0;
|
|
171
|
+
const measurements = computed(() => {
|
|
172
|
+
void measurementVersion.value;
|
|
173
|
+
return buildMeasurements(count.value, (index) => {
|
|
174
|
+
const measured = measuredSizes.get(index);
|
|
175
|
+
return measured ?? options.estimateSize(index);
|
|
176
|
+
});
|
|
177
|
+
});
|
|
178
|
+
const totalSize = computed(() => measurementsTotalSize(measurements.value));
|
|
179
|
+
watchPostEffect((onCleanup) => {
|
|
180
|
+
const element = scrollElement.value;
|
|
181
|
+
if (!element) return;
|
|
182
|
+
const isHorizontal = horizontal.value;
|
|
183
|
+
const sync = () => {
|
|
184
|
+
const next = isHorizontal ? element.scrollLeft : element.scrollTop;
|
|
185
|
+
if (scrollOffset.value !== next) scrollOffset.value = next;
|
|
186
|
+
};
|
|
187
|
+
sync();
|
|
188
|
+
element.addEventListener("scroll", sync, { passive: true });
|
|
189
|
+
onCleanup(() => element.removeEventListener("scroll", sync));
|
|
190
|
+
});
|
|
191
|
+
function readViewportSize() {
|
|
192
|
+
const element = scrollElement.value;
|
|
193
|
+
if (!element) return;
|
|
194
|
+
const next = horizontal.value ? element.clientWidth : element.clientHeight;
|
|
195
|
+
if (viewportSize.value !== next) viewportSize.value = next;
|
|
196
|
+
}
|
|
197
|
+
useResizeObserver(scrollElement, readViewportSize, () => scrollElement.value !== null);
|
|
198
|
+
watchPostEffect(readViewportSize);
|
|
199
|
+
watch(
|
|
200
|
+
[measurementVersion, horizontal],
|
|
201
|
+
() => {
|
|
202
|
+
const delta = pendingScrollDelta;
|
|
203
|
+
if (delta === 0) return;
|
|
204
|
+
pendingScrollDelta = 0;
|
|
205
|
+
const element = scrollElement.value;
|
|
206
|
+
if (!element) return;
|
|
207
|
+
const isHorizontal = horizontal.value;
|
|
208
|
+
const currentPosition = isHorizontal ? element.scrollLeft : element.scrollTop;
|
|
209
|
+
const next = Math.max(0, currentPosition + delta);
|
|
210
|
+
if (isHorizontal) element.scrollLeft = next;
|
|
211
|
+
else element.scrollTop = next;
|
|
212
|
+
const applied = isHorizontal ? element.scrollLeft : element.scrollTop;
|
|
213
|
+
if (scrollOffset.value !== applied) scrollOffset.value = applied;
|
|
214
|
+
},
|
|
215
|
+
{ flush: "post" }
|
|
216
|
+
);
|
|
217
|
+
const range = computed(
|
|
218
|
+
() => computeRange({
|
|
219
|
+
scrollOffset: scrollOffset.value,
|
|
220
|
+
viewportSize: viewportSize.value,
|
|
221
|
+
itemCount: count.value,
|
|
222
|
+
overscan: overscan.value,
|
|
223
|
+
// Always the variable-size path: measured sizes can make any list non-uniform at any time, and the
|
|
224
|
+
// binary search over the prefix sum is O(log n) either way.
|
|
225
|
+
getOffset: (index) => itemOffset(measurements.value, index)
|
|
226
|
+
})
|
|
227
|
+
);
|
|
228
|
+
const virtualItems = computed(() => {
|
|
229
|
+
const window = range.value;
|
|
230
|
+
if (window.endIndex < window.startIndex) return [];
|
|
231
|
+
const { getItemKey } = options;
|
|
232
|
+
const current = measurements.value;
|
|
233
|
+
const items = [];
|
|
234
|
+
for (let index = window.startIndex; index <= window.endIndex; index += 1) {
|
|
235
|
+
items.push({
|
|
236
|
+
index,
|
|
237
|
+
start: itemOffset(current, index),
|
|
238
|
+
size: itemSize(current, index),
|
|
239
|
+
key: getItemKey ? getItemKey(index) : index
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
return items;
|
|
243
|
+
});
|
|
244
|
+
function measureItem(index, size) {
|
|
245
|
+
if (!Number.isFinite(size) || size < 0) return;
|
|
246
|
+
const current = measurements.value;
|
|
247
|
+
if (index < 0 || index >= current.count) return;
|
|
248
|
+
const previous = itemSize(current, index);
|
|
249
|
+
if (previous === size) return;
|
|
250
|
+
measuredSizes.set(index, size);
|
|
251
|
+
const endsAboveFold = itemOffset(current, index) + previous <= scrollOffset.value;
|
|
252
|
+
if (endsAboveFold) pendingScrollDelta += size - previous;
|
|
253
|
+
measurementVersion.value += 1;
|
|
254
|
+
}
|
|
255
|
+
function scrollToIndex(index, align = "auto") {
|
|
256
|
+
const element = scrollElement.value;
|
|
257
|
+
if (!element) return;
|
|
258
|
+
const isHorizontal = horizontal.value;
|
|
259
|
+
const current = measurements.value;
|
|
260
|
+
const next = computeScrollOffset({
|
|
261
|
+
index,
|
|
262
|
+
align,
|
|
263
|
+
scrollOffset: isHorizontal ? element.scrollLeft : element.scrollTop,
|
|
264
|
+
viewportSize: isHorizontal ? element.clientWidth : element.clientHeight,
|
|
265
|
+
itemCount: current.count,
|
|
266
|
+
getOffset: (target) => itemOffset(current, target)
|
|
267
|
+
});
|
|
268
|
+
if (isHorizontal) element.scrollLeft = next;
|
|
269
|
+
else element.scrollTop = next;
|
|
270
|
+
const applied = isHorizontal ? element.scrollLeft : element.scrollTop;
|
|
271
|
+
if (scrollOffset.value !== applied) scrollOffset.value = applied;
|
|
272
|
+
}
|
|
273
|
+
return {
|
|
274
|
+
virtualItems,
|
|
275
|
+
totalSize,
|
|
276
|
+
range,
|
|
277
|
+
paddingStart: computed(() => range.value.paddingStart),
|
|
278
|
+
paddingEnd: computed(() => range.value.paddingEnd),
|
|
279
|
+
scrollOffset,
|
|
280
|
+
viewportSize,
|
|
281
|
+
scrollToIndex,
|
|
282
|
+
measureItem
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
export {
|
|
286
|
+
DEFAULT_OVERSCAN,
|
|
287
|
+
EMPTY_MEASUREMENTS,
|
|
288
|
+
EMPTY_RANGE,
|
|
289
|
+
buildMeasurements,
|
|
290
|
+
computeRange,
|
|
291
|
+
computeScrollOffset,
|
|
292
|
+
findIndexAtOffset,
|
|
293
|
+
findIndexByOffsetAccessor,
|
|
294
|
+
itemOffset,
|
|
295
|
+
itemSize,
|
|
296
|
+
measurementsTotalSize,
|
|
297
|
+
useVirtualList,
|
|
298
|
+
withMeasuredSize
|
|
299
|
+
};
|
|
300
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/foundation/virtualization/Measurements.ts","../../../src/foundation/virtualization/Windowing.ts","../../../src/foundation/virtualization/UseVirtualList.ts"],"sourcesContent":["// The item-geometry model the windowing math runs on: a prefix-sum array of cumulative start offsets, plus the\n// binary search that turns a scroll offset back into an item index.\n//\n// WHY A PREFIX SUM AND NOT AN ARRAY OF SIZES — this is the whole reason the file exists. A virtual list answers\n// exactly one question on every scroll frame: \"which item is at pixel X?\". Held as per-item sizes that question\n// is a running total, i.e. a linear scan: O(n) per frame, and at 100k rows it is precisely the cost\n// virtualization was introduced to remove. Held as CUMULATIVE offsets the array is sorted by construction, so\n// the same question is a binary search over it: O(log n) — ~17 comparisons at 100k items, and flat as the list\n// grows. Every read below is written against that invariant; nothing here may scan.\n//\n// LAYOUT: `offsets` has length `count + 1`. `offsets[i]` is item `i`'s start edge, and the extra tail entry\n// `offsets[count]` is the total size. That tail is not padding — it is what makes `size(i)` = `offsets[i + 1] -\n// offsets[i]` and `paddingEnd` = `total - offsets[endIndex + 1]` index-safe with no special case for the last\n// item, which is where off-by-one bugs in this kind of code normally live.\n//\n// IMMUTABILITY: every update returns a NEW `Measurements`, and returns the SAME object when nothing actually\n// changed. Consumers key work off that identity, and the no-op case is what stops a\n// measure -> render -> measure feedback loop from spinning.\n//\n// KNOWN COST: `withMeasuredSize` shifts every later offset, so recording one measured size is O(n). That is a\n// deliberate trade — measurements are rare (an item resizes) while searches are per-frame, so the cheap side is\n// the one that had to be O(log n). A Fenwick/BIT would make updates O(log n) too; it is the documented upgrade\n// path if a list ever re-measures thousands of rows per frame.\n\n/** A non-finite or negative size would break the array's monotonicity, so it is floored to 0 at the boundary. */\nfunction normalizeSize(size: number): number {\n return Number.isFinite(size) && size > 0 ? size : 0;\n}\n\n/** Cumulative item geometry for a list of a known length. Treat as immutable — build a new one to change it. */\nexport interface Measurements {\n /**\n * Cumulative start offsets, length `count + 1` and non-decreasing. `offsets[i]` is item `i`'s start edge;\n * `offsets[count]` is the list's total size.\n */\n readonly offsets: readonly number[];\n\n /** The number of items described. Always a non-negative integer. */\n readonly count: number;\n}\n\n/** The zero-item measurements — a shared, identity-stable empty value. */\nexport const EMPTY_MEASUREMENTS: Measurements = { offsets: [0], count: 0 };\n\n/**\n * Builds cumulative offsets by running `sizeAt` once per item. O(n), and the only O(n) pass in a steady-state\n * list: it runs on mount and when `count` changes, never per scroll frame.\n *\n * @param count How many items the list has. Non-integer or negative values are floored to a safe count.\n * @param sizeAt Size of the item at an index — a real measurement if one exists, otherwise an estimate.\n * @returns Measurements whose `offsets` are non-decreasing and whose tail entry is the total size.\n */\nexport function buildMeasurements(count: number, sizeAt: (index: number) => number): Measurements {\n const safeCount = Number.isFinite(count) ? Math.max(0, Math.floor(count)) : 0;\n if (safeCount === 0) return EMPTY_MEASUREMENTS;\n\n const offsets = new Array<number>(safeCount + 1);\n offsets[0] = 0;\n let running = 0;\n for (let index = 0; index < safeCount; index += 1) {\n running += normalizeSize(sizeAt(index));\n offsets[index + 1] = running;\n }\n return { offsets, count: safeCount };\n}\n\n/**\n * The start edge of the item at `index`. Reading `count` returns the total size (the tail entry); indices\n * outside `[0, count]` clamp rather than throw, so a stale index from a shrinking list degrades quietly.\n *\n * @param measurements The geometry to read.\n * @param index The item index, or `count` for the list's end edge.\n * @returns The cumulative offset in pixels.\n */\nexport function itemOffset(measurements: Measurements, index: number): number {\n const clamped = Math.min(Math.max(Math.floor(index), 0), measurements.count);\n // `offsets` always holds `count + 1` entries and `clamped` is inside that range, so the `?? 0` only exists to\n // satisfy `noUncheckedIndexedAccess` — it cannot mask a real out-of-bounds read.\n return measurements.offsets[clamped] ?? 0;\n}\n\n/**\n * The size of the item at `index`, derived from its own start edge and the next one.\n *\n * @param measurements The geometry to read.\n * @param index The item index.\n * @returns The item's size in pixels, or 0 when the index is out of range.\n */\nexport function itemSize(measurements: Measurements, index: number): number {\n if (index < 0 || index >= measurements.count) return 0;\n return itemOffset(measurements, index + 1) - itemOffset(measurements, index);\n}\n\n/**\n * The list's total size — the tail entry of the prefix sum.\n *\n * @param measurements The geometry to read.\n * @returns The summed size of every item in pixels.\n */\nexport function measurementsTotalSize(measurements: Measurements): number {\n return itemOffset(measurements, measurements.count);\n}\n\n/**\n * Binary-searches a non-decreasing offset accessor for the last index whose start edge is at or before `offset`\n * — i.e. the item occupying that pixel. The accessor form (rather than an array) lets the fixed-size path search\n * a computed `index * itemSize` without materializing anything.\n *\n * Zero-size items share a start edge; the search resolves such a tie to the LAST of them, which keeps it\n * consistent with the fixed-size arithmetic path in `Windowing`.\n *\n * @param offsetAt Non-decreasing accessor returning the start edge of an index.\n * @param count How many items are searchable (indices `0 .. count - 1`).\n * @param offset The pixel offset to locate. Negative values are treated as 0.\n * @returns The item index at that offset, or `-1` when there are no items.\n */\nexport function findIndexByOffsetAccessor(\n offsetAt: (index: number) => number,\n count: number,\n offset: number,\n): number {\n if (count <= 0) return -1;\n const target = Number.isFinite(offset) ? Math.max(0, offset) : 0;\n\n let low = 0;\n let high = count - 1;\n // Item 0 starts at 0 and `target >= 0`, so index 0 always satisfies the predicate — the seed is never wrong.\n let best = 0;\n while (low <= high) {\n const mid = (low + high) >>> 1;\n if (offsetAt(mid) <= target) {\n best = mid;\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n return best;\n}\n\n/**\n * Locates the item occupying `offset` in O(log n).\n *\n * @param measurements The geometry to search.\n * @param offset The pixel offset to locate. Negative values are treated as 0.\n * @returns The item index at that offset, or `-1` for an empty list.\n */\nexport function findIndexAtOffset(measurements: Measurements, offset: number): number {\n return findIndexByOffsetAccessor(\n (index) => itemOffset(measurements, index),\n measurements.count,\n offset,\n );\n}\n\n/**\n * Records a real measured size for one item, shifting every later offset by the difference.\n *\n * Returns the SAME object when the size is unchanged or the index is out of range — consumers rely on that\n * identity to skip work, and it is what breaks the measure -> render -> measure cycle.\n *\n * @param measurements The geometry to update.\n * @param index The item that was measured.\n * @param size Its real size in pixels. Non-finite or negative values are floored to 0.\n * @returns New measurements, or the original when nothing changed.\n */\nexport function withMeasuredSize(\n measurements: Measurements,\n index: number,\n size: number,\n): Measurements {\n if (index < 0 || index >= measurements.count) return measurements;\n\n const next = normalizeSize(size);\n const delta = next - itemSize(measurements, index);\n if (delta === 0) return measurements;\n\n const offsets = measurements.offsets.slice();\n for (let cursor = index + 1; cursor <= measurements.count; cursor += 1) {\n offsets[cursor] = (offsets[cursor] ?? 0) + delta;\n }\n return { offsets, count: measurements.count };\n}\n","// The windowing math: given where the list is scrolled and how big the viewport is, which slice of items must\n// actually exist in the DOM, and how much empty space stands in for the rest.\n//\n// Everything here is a PURE FUNCTION of numbers — no Vue, no DOM, no time. That is deliberate: this is the\n// part with the off-by-one edges (boundary-exact scroll positions, overscan clamping, an empty list, a viewport\n// larger than the content), so it has to be exhaustively testable in node without a layout engine. The Vue\n// composable is a thin shell over these two functions.\n//\n// TWO PATHS, ONE ANSWER:\n//\n// - FIXED SIZE (`estimateSize` is a number, no `getOffset`) — the index at a pixel is a division. O(1), no\n// search, no array. The overwhelmingly common list.\n// - VARIABLE SIZE (`getOffset` supplied) — the index at a pixel is a binary search over cumulative offsets,\n// O(log n) (`Measurements.findIndexByOffsetAccessor`). A linear scan would be O(n) on EVERY scroll frame,\n// which is the exact cost virtualization exists to remove, so it is not an option here.\n//\n// Both paths are defined to return the same thing: the last item whose start edge is at or before the pixel.\n// The tests assert they agree, because a silent divergence between them would only show up as a one-row flicker\n// at certain scroll positions.\n//\n// CLAMPING IS PART OF THE CONTRACT, not defensive noise. Real scroll containers report values this math must\n// survive: negative offsets during macOS rubber-band overscroll, offsets past the end during a bounce, a\n// viewport taller than the content, `count` dropping to 0 mid-flight. Each is clamped to the nearest sane\n// window rather than producing a NaN range that renders nothing.\n\nimport { findIndexByOffsetAccessor } from './Measurements';\n\n/** The default number of off-screen items kept mounted on each side — enough to cover a fast flick's first frames. */\nexport const DEFAULT_OVERSCAN = 3;\n\n/** Where a `scrollToIndex` should land the target item within the viewport. */\nexport type ScrollAlignment =\n /** Item's top edge at the viewport's top edge. */\n | 'start'\n /** Item centred in the viewport. */\n | 'center'\n /** Item's bottom edge at the viewport's bottom edge. */\n | 'end'\n /** Scroll the shortest distance to bring the item fully into view; do nothing if it already is. */\n | 'auto';\n\n/** The slice of a list that must be rendered, plus the empty space standing in for everything else. */\nexport interface VirtualRange {\n /** First item index to render, overscan included. `0` when nothing renders. */\n readonly startIndex: number;\n\n /**\n * Last item index to render, INCLUSIVE and overscan included. `-1` when nothing renders (an empty list), so\n * `endIndex < startIndex` is the emptiness test and `endIndex - startIndex + 1` is always the rendered count.\n */\n readonly endIndex: number;\n\n /** Pixels of skipped content before `startIndex` — the leading spacer's size. */\n readonly paddingStart: number;\n\n /** Pixels of skipped content after `endIndex` — the trailing spacer's size. */\n readonly paddingEnd: number;\n}\n\n/** The empty-list range: renders nothing, reserves nothing. */\nexport const EMPTY_RANGE: VirtualRange = {\n startIndex: 0,\n endIndex: -1,\n paddingStart: 0,\n paddingEnd: 0,\n};\n\n/** Inputs to the windowing math. Supply `estimateSize` for a fixed list, `getOffset` for a variable one. */\nexport interface ComputeRangeOptions {\n /** Current scroll position of the container along the list's axis, in pixels. Clamped into the scrollable range. */\n readonly scrollOffset: number;\n\n /** Visible size of the container along the list's axis, in pixels (`clientHeight`, or `clientWidth` when horizontal). */\n readonly viewportSize: number;\n\n /** How many items the list has. Floored to a non-negative integer. */\n readonly itemCount: number;\n\n /**\n * Item sizing. A NUMBER selects the fixed-size fast path (O(1), no search). A FUNCTION is a per-index\n * estimate and forces an O(n) prefix-sum build here, so pass `getOffset` instead on any hot path — that is\n * exactly what `useVirtualList` does. Omit entirely only alongside `getOffset`.\n */\n readonly estimateSize?: number | ((index: number) => number);\n\n /** Extra items rendered beyond each edge of the viewport. Defaults to `0` here; `useVirtualList` defaults it to {@link DEFAULT_OVERSCAN}. */\n readonly overscan?: number;\n\n /**\n * Cumulative start-offset accessor, defined for `0 .. itemCount` (where `itemCount` yields the total size).\n * Supplying it selects the variable-size path — the binary search. Takes precedence over `estimateSize`.\n */\n readonly getOffset?: (index: number) => number;\n}\n\n/** Inputs to {@link computeScrollOffset} — the same geometry, plus which item to reveal and how. */\nexport interface ComputeScrollOffsetOptions extends ComputeRangeOptions {\n /** The item to bring into view. Clamped into `[0, itemCount - 1]`. */\n readonly index: number;\n\n /** Where the item should land. Defaults to `'auto'`. */\n readonly align?: ScrollAlignment;\n}\n\n/** Replaces NaN/Infinity with 0 so one bad input can never poison the arithmetic downstream. */\nfunction finite(value: number): number {\n return Number.isFinite(value) ? value : 0;\n}\n\n/** Constrains `value` to `[min, max]`. */\nfunction clamp(value: number, min: number, max: number): number {\n return Math.min(Math.max(value, min), max);\n}\n\n/**\n * Resolves the options bag to a single non-decreasing offset accessor over `0 .. itemCount`, so the range math\n * below never has to branch on how the list is sized. The `estimateSize`-as-function case materializes a prefix\n * sum (O(n)) — see the `estimateSize` docs for why that path is a convenience, not a hot path.\n */\nfunction resolveOffsetAt(\n options: ComputeRangeOptions,\n itemCount: number,\n): (index: number) => number {\n const { getOffset, estimateSize } = options;\n\n if (getOffset) {\n return (index) => finite(getOffset(clamp(Math.floor(index), 0, itemCount)));\n }\n\n if (typeof estimateSize === 'number') {\n const size = Math.max(0, finite(estimateSize));\n return (index) => clamp(Math.floor(index), 0, itemCount) * size;\n }\n\n if (typeof estimateSize === 'function') {\n const offsets = new Array<number>(itemCount + 1);\n offsets[0] = 0;\n let running = 0;\n for (let index = 0; index < itemCount; index += 1) {\n running += Math.max(0, finite(estimateSize(index)));\n offsets[index + 1] = running;\n }\n return (index) => offsets[clamp(Math.floor(index), 0, itemCount)] ?? 0;\n }\n\n // Neither sizing input given — every item is zero-sized. Degenerate but total, never NaN.\n return () => 0;\n}\n\n/**\n * Computes the slice of items overlapping the viewport, widened by `overscan` and clamped to the list.\n *\n * Boundary rule: an item whose start edge sits EXACTLY on the viewport's bottom edge is not visible and is not\n * included (before overscan). Both sizing paths implement that identically.\n *\n * @param options Scroll position, viewport size, item count, and the sizing input.\n * @returns The indices to render plus the leading/trailing spacer sizes. `paddingStart` + the rendered items'\n * combined size + `paddingEnd` always equals the list's total size.\n */\nexport function computeRange(options: ComputeRangeOptions): VirtualRange {\n const itemCount = Number.isFinite(options.itemCount)\n ? Math.max(0, Math.floor(options.itemCount))\n : 0;\n if (itemCount === 0) return EMPTY_RANGE;\n\n const overscan = Math.max(0, Math.floor(finite(options.overscan ?? 0)));\n const viewportSize = Math.max(0, finite(options.viewportSize));\n\n const offsetAt = resolveOffsetAt(options, itemCount);\n const totalSize = offsetAt(itemCount);\n\n // The container cannot scroll past its own content; a bounce or a stale offset lands on the last window\n // rather than on an empty one. This also collapses the \"viewport bigger than content\" case to offset 0.\n const maxScroll = Math.max(0, totalSize - viewportSize);\n const scrollOffset = clamp(finite(options.scrollOffset), 0, maxScroll);\n const bottomEdge = scrollOffset + viewportSize;\n\n // The fixed path is arithmetic only when the uniform size is positive; a zero/degenerate size falls through\n // to the search so both paths still agree on the answer.\n const uniformSize =\n !options.getOffset && typeof options.estimateSize === 'number'\n ? Math.max(0, finite(options.estimateSize))\n : 0;\n\n let firstVisible: number;\n let lastVisible: number;\n\n if (uniformSize > 0) {\n firstVisible = clamp(Math.floor(scrollOffset / uniformSize), 0, itemCount - 1);\n // `ceil(edge / size) - 1` is the last item STARTING before the bottom edge, which is the boundary rule.\n lastVisible = clamp(Math.ceil(bottomEdge / uniformSize) - 1, 0, itemCount - 1);\n if (lastVisible < firstVisible) lastVisible = firstVisible;\n } else {\n firstVisible = findIndexByOffsetAccessor(offsetAt, itemCount, scrollOffset);\n lastVisible = findIndexByOffsetAccessor(offsetAt, itemCount, bottomEdge);\n // The search is inclusive of `<= bottomEdge`; an item starting exactly ON the edge is off-screen. Only\n // step back when doing so still leaves something rendered.\n if (lastVisible > firstVisible && offsetAt(lastVisible) >= bottomEdge) lastVisible -= 1;\n }\n\n const startIndex = Math.max(0, firstVisible - overscan);\n const endIndex = Math.min(itemCount - 1, lastVisible + overscan);\n\n return {\n startIndex,\n endIndex,\n paddingStart: Math.max(0, offsetAt(startIndex)),\n paddingEnd: Math.max(0, totalSize - offsetAt(endIndex + 1)),\n };\n}\n\n/** The target offset for a given alignment, before clamping into the scrollable range. */\nfunction alignedOffset(\n align: ScrollAlignment,\n start: number,\n end: number,\n viewportSize: number,\n current: number,\n): number {\n switch (align) {\n case 'start':\n return start;\n case 'end':\n return end - viewportSize;\n case 'center':\n return start + (end - start) / 2 - viewportSize / 2;\n case 'auto': {\n // Already fully visible, or already covering the whole viewport (an item taller than it) — hold still.\n // Moving here would be the jump `auto` exists to avoid.\n if (start >= current && end <= current + viewportSize) return current;\n if (start <= current && end >= current + viewportSize) return current;\n // An item that cannot fit pins its top edge; otherwise take the shorter of the two edges.\n if (end - start >= viewportSize) return start;\n return start < current ? start : end - viewportSize;\n }\n }\n}\n\n/**\n * Computes the scroll offset that brings `index` into view under a given alignment.\n *\n * `'auto'` is a no-op when the item is already fully visible (or already spans the whole viewport), which is\n * what makes it safe to call on every selection change without fighting the user's scrolling.\n *\n * @param options Geometry plus the target `index` and `align`.\n * @returns The offset to assign to the container, clamped to `[0, totalSize - viewportSize]`.\n */\nexport function computeScrollOffset(options: ComputeScrollOffsetOptions): number {\n const itemCount = Number.isFinite(options.itemCount)\n ? Math.max(0, Math.floor(options.itemCount))\n : 0;\n if (itemCount === 0) return 0;\n\n const viewportSize = Math.max(0, finite(options.viewportSize));\n const offsetAt = resolveOffsetAt(options, itemCount);\n const totalSize = offsetAt(itemCount);\n\n const maxScroll = Math.max(0, totalSize - viewportSize);\n const current = clamp(finite(options.scrollOffset), 0, maxScroll);\n\n const index = clamp(Math.floor(finite(options.index)), 0, itemCount - 1);\n const start = offsetAt(index);\n const end = offsetAt(index + 1);\n\n return clamp(alignedOffset(options.align ?? 'auto', start, end, viewportSize, current), 0, maxScroll);\n}\n","// The Vue binding for the windowing math: watch a scroll container, and hand back only the items that need to\n// exist in the DOM. Headless — it renders nothing and dictates no markup; it returns numbers.\n//\n// WHAT THE COMPOSABLE ACTUALLY OWNS: three pieces of state (scroll offset, viewport size, a measurement\n// version) and the watchers that keep them true. Everything geometric is delegated to\n// `Windowing`/`Measurements`, which stay pure and node-testable. If a change is about \"which items\", it\n// belongs there, not here.\n//\n// THE CONTAINER IS RESOLVED REACTIVELY, which deletes the original's re-resolve-on-every-commit effect. A\n// template ref is itself reactive, so a swapped, unmounted, or conditionally rendered container simply\n// re-triggers the computed. `getScrollElement` is still supported for a container held outside a ref, but it\n// is only re-read when something else in the same computed changes — prefer `target` when the node can move.\n//\n// SCROLL ANCHORING — the hard part, and the reason this composable is more than 40 lines:\n//\n// When an item ABOVE the fold turns out to be taller than its estimate, every pixel below it shifts down by\n// the difference. The user is looking at those pixels, so the list visibly jumps under them — the classic\n// \"content leaps while you're reading\" bug in every hand-rolled virtual list. The fix is to add the same\n// delta to the scroll position, which cancels the shift exactly: same content, same pixels.\n//\n// Two details make it actually work:\n//\n// 1. WHEN to compensate. Only when the re-measured item ends AT OR ABOVE the viewport's top edge. If it\n// merely straddles that edge, its own top is pinned above the fold and does not move, so the content the\n// user is reading is already stable — compensating there would CAUSE the jump instead of preventing it.\n// Below the fold, nothing visible moves at all.\n//\n// 2. WHEN to apply it. Not inside `measureItem`: at that moment the container is still its old height, so\n// assigning a larger `scrollTop` gets silently clamped by the browser and the correction is lost. It is\n// staged as an accumulated delta and applied from a `flush: 'post'` WATCHER — after Vue patches the taller\n// spacer, before the browser paints. The applied value is then read back from the DOM, because the browser\n// is the authority on how far the container can actually scroll.\n//\n// Deltas accumulate rather than overwrite: several items commonly re-measure in one flush, and each must\n// contribute.\n//\n// LOOP SAFETY: `measureItem` is a no-op when the size is unchanged. That single guard is what keeps a consumer\n// wiring it to a ResizeObserver from spinning measure -> render -> measure forever.\n//\n// SSR: every DOM read sits behind a resolved-element guard inside a post-flush watcher, and `target` resolves\n// to `null` on the server, so nothing here touches `scrollTop`, `clientHeight`, or `ResizeObserver` during a\n// server render. The reported window is the one implied by `initialViewportSize`.\n\nimport {\n computed,\n shallowRef,\n toValue,\n watch,\n watchPostEffect,\n type ComputedRef,\n type MaybeRefOrGetter,\n type ShallowRef,\n} from 'vue';\n\nimport { useResizeObserver } from '../hooks';\n\nimport {\n buildMeasurements,\n itemOffset,\n itemSize,\n measurementsTotalSize,\n type Measurements,\n} from './Measurements';\nimport {\n DEFAULT_OVERSCAN,\n computeRange,\n computeScrollOffset,\n type ScrollAlignment,\n type VirtualRange,\n} from './Windowing';\n\n/** One rendered row: where to put it and how big it is. */\nexport interface VirtualItem {\n /** Index into the consumer's data array. */\n readonly index: number;\n\n /** Offset of the item's start edge from the list's start, in pixels — the value to position it at. */\n readonly start: number;\n\n /** The item's current size in pixels: its real measurement if one was recorded, otherwise the estimate. */\n readonly size: number;\n\n /** Stable key for `v-for` — `getItemKey(index)` when supplied, otherwise the index itself. */\n readonly key: string | number;\n}\n\n/** Configures a `useVirtualList` binding. */\nexport interface UseVirtualListOptions {\n /** How many items the full list has. */\n readonly count: MaybeRefOrGetter<number>;\n\n /**\n * Estimated size of the item at an index, in pixels, used until a real measurement arrives. Read at build\n * time — a CHANGED estimator only takes effect when `count` changes or an item is re-measured.\n */\n readonly estimateSize: (index: number) => number;\n\n /** The scrolling container, as a ref or getter. A `useTemplateRef` drops straight in. */\n readonly target?: MaybeRefOrGetter<HTMLElement | null | undefined>;\n\n /** Callback form of the same thing, for containers not held in a ref. Takes precedence over `target`. */\n readonly getScrollElement?: () => HTMLElement | null;\n\n /** Extra items rendered beyond each edge of the viewport. Defaults to {@link DEFAULT_OVERSCAN}. */\n readonly overscan?: MaybeRefOrGetter<number | undefined>;\n\n /** Whether the list scrolls horizontally (`scrollLeft`/`clientWidth`) instead of vertically. Defaults to `false`. */\n readonly horizontal?: MaybeRefOrGetter<boolean | undefined>;\n\n /** Viewport size assumed before the container is measured — set it to render a sensible first frame under SSR. Defaults to `0`. */\n readonly initialViewportSize?: number;\n\n /** Stable key for an item, for reordering data. Defaults to the index. */\n readonly getItemKey?: (index: number) => string | number;\n}\n\n/** What a virtualized list hands back to its consumer. */\nexport interface VirtualList {\n /** The items to render right now, in index order, overscan included. Empty when the list is empty. */\n readonly virtualItems: ComputedRef<readonly VirtualItem[]>;\n\n /** Combined size of every item — the size the scrollable spacer must have for the scrollbar to be honest. */\n readonly totalSize: ComputedRef<number>;\n\n /** The underlying window: rendered index bounds plus leading/trailing spacer sizes, for padding-based layouts. */\n readonly range: ComputedRef<VirtualRange>;\n\n /** Pixels of content skipped before the first rendered item. Same as `range.paddingStart`. */\n readonly paddingStart: ComputedRef<number>;\n\n /** Pixels of content skipped after the last rendered item. Same as `range.paddingEnd`. */\n readonly paddingEnd: ComputedRef<number>;\n\n /** The container's current scroll position along the list's axis, as the composable last observed it. */\n readonly scrollOffset: Readonly<ShallowRef<number>>;\n\n /** The container's measured viewport size along the list's axis. `0` until the container mounts. */\n readonly viewportSize: Readonly<ShallowRef<number>>;\n\n /**\n * Scrolls the container so item `index` is in view.\n *\n * @param index Item to reveal; clamped into range.\n * @param align Where it should land. Defaults to `'auto'` — a no-op when the item is already fully visible.\n */\n scrollToIndex(index: number, align?: ScrollAlignment): void;\n\n /**\n * Records an item's real measured size, replacing its estimate. A no-op when the size is unchanged, so it is\n * safe to call from a ResizeObserver or a post-flush watcher on every update.\n *\n * Preserves the visible content when the item sits above the fold — see this file's header.\n *\n * @param index The item that was measured.\n * @param size Its real size in pixels.\n */\n measureItem(index: number, size: number): void;\n}\n\n/**\n * Virtualizes a list: subscribes to a scroll container and reports only the items overlapping its viewport.\n *\n * Headless by design — it produces geometry, never markup. The consumer renders a spacer sized `totalSize` and\n * positions each `virtualItem` at its `start`. See the `foundation/virtualization` barrel for a usage sketch.\n *\n * @param options The item count, size estimator, and the container to watch.\n * @returns The current window, total size, and the `scrollToIndex` / `measureItem` controls.\n */\nexport function useVirtualList(options: UseVirtualListOptions): VirtualList {\n const horizontal = computed(() => toValue(options.horizontal) ?? false);\n const count = computed(() => toValue(options.count));\n const overscan = computed(() => toValue(options.overscan) ?? DEFAULT_OVERSCAN);\n\n const scrollOffset = shallowRef(0);\n const viewportSize = shallowRef(Math.max(0, options.initialViewportSize ?? 0));\n const measurementVersion = shallowRef(0);\n\n const scrollElement = computed<HTMLElement | null>(\n () => options.getScrollElement?.() ?? toValue(options.target) ?? null,\n );\n\n /** Real sizes reported through `measureItem`, keyed by index; absent entries fall back to the estimate. */\n const measuredSizes = new Map<number, number>();\n\n /** Scroll correction owed to items that grew/shrank above the fold, applied after the next patch. */\n let pendingScrollDelta = 0;\n\n const measurements = computed<Measurements>(() => {\n // `measurementVersion` is the content key for the measured-size map, which is a plain `Map` and therefore\n // cannot be tracked itself. `estimateSize` is read at build time on purpose: making it reactive would\n // rebuild every offset whenever an inline arrow was re-created.\n void measurementVersion.value;\n return buildMeasurements(count.value, (index) => {\n const measured = measuredSizes.get(index);\n return measured ?? options.estimateSize(index);\n });\n });\n\n const totalSize = computed(() => measurementsTotalSize(measurements.value));\n\n // Track the container's scroll position. `passive` because this listener never calls `preventDefault`, so the\n // browser may keep scrolling on its own thread. Post-flush and element-guarded, so nothing runs on the server.\n watchPostEffect((onCleanup) => {\n const element = scrollElement.value;\n if (!element) return;\n const isHorizontal = horizontal.value;\n\n const sync = (): void => {\n const next = isHorizontal ? element.scrollLeft : element.scrollTop;\n if (scrollOffset.value !== next) scrollOffset.value = next;\n };\n\n // Adopt the position the container already has — a restored scroll or a deep link would otherwise render\n // the top of the list until the user's first scroll.\n sync();\n element.addEventListener('scroll', sync, { passive: true });\n onCleanup(() => element.removeEventListener('scroll', sync));\n });\n\n function readViewportSize(): void {\n const element = scrollElement.value;\n if (!element) return;\n // `clientHeight`/`clientWidth`, not the observer's `contentRect`: the scrollable viewport includes padding\n // and excludes the scrollbar, which is exactly what these report and `contentRect` does not.\n const next = horizontal.value ? element.clientWidth : element.clientHeight;\n if (viewportSize.value !== next) viewportSize.value = next;\n }\n\n useResizeObserver(scrollElement, readViewportSize, () => scrollElement.value !== null);\n\n // Seed the size before the first paint. The observer also fires on attach, but that lands a frame later — long\n // enough to paint one frame of an unwindowed (or empty) list.\n watchPostEffect(readViewportSize);\n\n // Apply the anchoring correction owed from the last `measureItem` batch. Runs AFTER the patch that resized\n // the spacer, so the container can actually reach the new offset, and BEFORE paint, so nothing jumps.\n // Non-immediate: there is nothing to correct on the first pass, and the server has no container.\n watch(\n [measurementVersion, horizontal],\n () => {\n const delta = pendingScrollDelta;\n if (delta === 0) return;\n pendingScrollDelta = 0;\n\n const element = scrollElement.value;\n if (!element) return;\n\n const isHorizontal = horizontal.value;\n const currentPosition = isHorizontal ? element.scrollLeft : element.scrollTop;\n const next = Math.max(0, currentPosition + delta);\n if (isHorizontal) element.scrollLeft = next;\n else element.scrollTop = next;\n\n // Read back rather than trusting the arithmetic — the browser clamps to the container's real scroll range.\n const applied = isHorizontal ? element.scrollLeft : element.scrollTop;\n if (scrollOffset.value !== applied) scrollOffset.value = applied;\n },\n { flush: 'post' },\n );\n\n const range = computed<VirtualRange>(() =>\n computeRange({\n scrollOffset: scrollOffset.value,\n viewportSize: viewportSize.value,\n itemCount: count.value,\n overscan: overscan.value,\n // Always the variable-size path: measured sizes can make any list non-uniform at any time, and the\n // binary search over the prefix sum is O(log n) either way.\n getOffset: (index) => itemOffset(measurements.value, index),\n }),\n );\n\n const virtualItems = computed<readonly VirtualItem[]>(() => {\n const window = range.value;\n if (window.endIndex < window.startIndex) return [];\n\n const { getItemKey } = options;\n const current = measurements.value;\n const items: VirtualItem[] = [];\n for (let index = window.startIndex; index <= window.endIndex; index += 1) {\n items.push({\n index,\n start: itemOffset(current, index),\n size: itemSize(current, index),\n key: getItemKey ? getItemKey(index) : index,\n });\n }\n return items;\n });\n\n function measureItem(index: number, size: number): void {\n if (!Number.isFinite(size) || size < 0) return;\n\n const current = measurements.value;\n if (index < 0 || index >= current.count) return;\n\n const previous = itemSize(current, index);\n // The guard that stops a measure -> render -> measure loop dead. Everything below re-derives.\n if (previous === size) return;\n\n measuredSizes.set(index, size);\n\n // Compensate only for an item entirely above the viewport's top edge — see this file's header for why a\n // straddling item must NOT be compensated. Accumulate: a whole batch of items can re-measure in one flush.\n const endsAboveFold = itemOffset(current, index) + previous <= scrollOffset.value;\n if (endsAboveFold) pendingScrollDelta += size - previous;\n\n measurementVersion.value += 1;\n }\n\n function scrollToIndex(index: number, align: ScrollAlignment = 'auto'): void {\n const element = scrollElement.value;\n if (!element) return;\n\n const isHorizontal = horizontal.value;\n const current = measurements.value;\n // Read position and size live off the DOM: `scrollToIndex` is often called right after a mutation, before\n // the composable's state has caught up, and the stale value would land the item in the wrong place.\n const next = computeScrollOffset({\n index,\n align,\n scrollOffset: isHorizontal ? element.scrollLeft : element.scrollTop,\n viewportSize: isHorizontal ? element.clientWidth : element.clientHeight,\n itemCount: current.count,\n getOffset: (target) => itemOffset(current, target),\n });\n\n if (isHorizontal) element.scrollLeft = next;\n else element.scrollTop = next;\n\n const applied = isHorizontal ? element.scrollLeft : element.scrollTop;\n if (scrollOffset.value !== applied) scrollOffset.value = applied;\n }\n\n return {\n virtualItems,\n totalSize,\n range,\n paddingStart: computed(() => range.value.paddingStart),\n paddingEnd: computed(() => range.value.paddingEnd),\n scrollOffset,\n viewportSize,\n scrollToIndex,\n measureItem,\n };\n}\n"],"names":[],"mappings":"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"}
|