@evance/evance-ui 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -0
- package/dist/components/EvAvatar/EvAvatar.d.ts +83 -0
- package/dist/components/EvAvatar/EvAvatar.vue.d.ts +69 -0
- package/dist/components/EvAvatar/index.d.ts +2 -0
- package/dist/components/EvBadge/EvBadge.d.ts +135 -0
- package/dist/components/EvBadge/EvBadge.vue.d.ts +104 -0
- package/dist/components/EvBadge/index.d.ts +2 -0
- package/dist/components/EvButton/EvButton.d.ts +178 -0
- package/dist/components/EvButton/EvButton.vue.d.ts +111 -0
- package/dist/components/EvButton/index.d.ts +2 -0
- package/dist/components/EvButtonGroup/EvButtonGroup.d.ts +66 -0
- package/dist/components/EvButtonGroup/EvButtonGroup.vue.d.ts +56 -0
- package/dist/components/EvButtonGroup/index.d.ts +2 -0
- package/dist/components/EvButtonToggle/EvButtonToggle.d.ts +133 -0
- package/dist/components/EvButtonToggle/EvButtonToggle.vue.d.ts +102 -0
- package/dist/components/EvButtonToggle/index.d.ts +2 -0
- package/dist/components/EvCheckbox/EvCheckbox.d.ts +123 -0
- package/dist/components/EvCheckbox/EvCheckbox.vue.d.ts +84 -0
- package/dist/components/EvCheckbox/index.d.ts +2 -0
- package/dist/components/EvDateField/EvDateField.d.ts +237 -0
- package/dist/components/EvDateField/EvDateField.vue.d.ts +158 -0
- package/dist/components/EvDateField/index.d.ts +2 -0
- package/dist/components/EvDatePicker/EvDatePicker.d.ts +68 -0
- package/dist/components/EvDatePicker/EvDatePicker.vue.d.ts +55 -0
- package/dist/components/EvDatePicker/EvDatePickerMonth/EvDatePickerMonth.d.ts +81 -0
- package/dist/components/EvDatePicker/EvDatePickerMonth/EvDatePickerMonth.vue.d.ts +44 -0
- package/dist/components/EvDatePicker/EvDatePickerMonth/index.d.ts +2 -0
- package/dist/components/EvDatePicker/EvDatePickerMonths/EvDatePickerMonths.d.ts +8 -0
- package/dist/components/EvDatePicker/EvDatePickerMonths/EvDatePickerMonths.vue.d.ts +11 -0
- package/dist/components/EvDatePicker/EvDatePickerMonths/index.d.ts +2 -0
- package/dist/components/EvDatePicker/EvDatePickerYears/EvDatePickerYears.d.ts +20 -0
- package/dist/components/EvDatePicker/EvDatePickerYears/EvDatePickerYears.vue.d.ts +15 -0
- package/dist/components/EvDatePicker/EvDatePickerYears/index.d.ts +2 -0
- package/dist/components/EvDatePicker/index.d.ts +2 -0
- package/dist/components/EvDefaultsProvider/EvDefaultsProvider.d.ts +37 -0
- package/dist/components/EvDefaultsProvider/EvDefaultsProvider.vue.d.ts +24 -0
- package/dist/components/EvDefaultsProvider/index.d.ts +2 -0
- package/dist/components/EvDialog/EvDialog.d.ts +362 -0
- package/dist/components/EvDialog/EvDialog.vue.d.ts +266 -0
- package/dist/components/EvDialog/EvDialogBody.vue.d.ts +9 -0
- package/dist/components/EvDialog/EvDialogFooter.vue.d.ts +9 -0
- package/dist/components/EvDialog/EvDialogHeader.vue.d.ts +23 -0
- package/dist/components/EvDialog/EvDialogInstance.d.ts +12 -0
- package/dist/components/EvDialog/EvDialogRenderer.d.ts +61 -0
- package/dist/components/EvDialog/EvDialogServiceOpener.d.ts +36 -0
- package/dist/components/EvDialog/EvDialogTransition.vue.d.ts +27 -0
- package/dist/components/EvDialog/index.d.ts +2 -0
- package/dist/components/EvDivider/EvDivider.vue.d.ts +60 -0
- package/dist/components/EvDivider/index.d.ts +1 -0
- package/dist/components/EvDrawer/EvDrawer.d.ts +317 -0
- package/dist/components/EvDrawer/EvDrawer.vue.d.ts +227 -0
- package/dist/components/EvDrawer/EvDrawerInstance.d.ts +12 -0
- package/dist/components/EvDrawer/EvDrawerRenderer.d.ts +61 -0
- package/dist/components/EvDrawer/EvDrawerServiceOpener.d.ts +22 -0
- package/dist/components/EvDrawer/index.d.ts +2 -0
- package/dist/components/EvErrors/EvErrors.d.ts +37 -0
- package/dist/components/EvErrors/EvErrors.vue.d.ts +29 -0
- package/dist/components/EvErrors/index.d.ts +2 -0
- package/dist/components/EvForm/EvForm.d.ts +51 -0
- package/dist/components/EvForm/EvForm.vue.d.ts +60 -0
- package/dist/components/EvForm/index.d.ts +2 -0
- package/dist/components/EvGrid/EvBlock/EvBlock.d.ts +101 -0
- package/dist/components/EvGrid/EvBlock/EvBlock.vue.d.ts +50 -0
- package/dist/components/EvGrid/EvBlock/index.d.ts +2 -0
- package/dist/components/EvGrid/EvContainer/EvContainer.d.ts +67 -0
- package/dist/components/EvGrid/EvContainer/EvContainer.vue.d.ts +51 -0
- package/dist/components/EvGrid/EvContainer/index.d.ts +2 -0
- package/dist/components/EvGrid/EvLayout/EvLayout.d.ts +105 -0
- package/dist/components/EvGrid/EvLayout/EvLayout.vue.d.ts +53 -0
- package/dist/components/EvGrid/EvLayout/index.d.ts +2 -0
- package/dist/components/EvGrid/EvSpacer/EvSpacer.d.ts +22 -0
- package/dist/components/EvGrid/EvSpacer/EvSpacer.vue.d.ts +24 -0
- package/dist/components/EvGrid/EvSpacer/index.d.ts +2 -0
- package/dist/components/EvGrid/index.d.ts +4 -0
- package/dist/components/EvIcon/EvIcon.d.ts +47 -0
- package/dist/components/EvIcon/EvIcon.vue.d.ts +29 -0
- package/dist/components/EvIcon/index.d.ts +2 -0
- package/dist/components/EvImg/EvImg.d.ts +180 -0
- package/dist/components/EvImg/EvImg.vue.d.ts +121 -0
- package/dist/components/EvImg/index.d.ts +2 -0
- package/dist/components/EvKbd/EvKbd.d.ts +32 -0
- package/dist/components/EvKbd/EvKbd.vue.d.ts +28 -0
- package/dist/components/EvKbd/index.d.ts +2 -0
- package/dist/components/EvLabel/EvLabel.d.ts +29 -0
- package/dist/components/EvLabel/EvLabel.vue.d.ts +29 -0
- package/dist/components/EvLabel/index.d.ts +2 -0
- package/dist/components/EvList/EvList.d.ts +211 -0
- package/dist/components/EvList/EvList.vue.d.ts +147 -0
- package/dist/components/EvList/EvListChildren.vue.d.ts +21 -0
- package/dist/components/EvList/index.d.ts +2 -0
- package/dist/components/EvListItem/EvListItem.d.ts +108 -0
- package/dist/components/EvListItem/EvListItem.vue.d.ts +87 -0
- package/dist/components/EvListItem/index.d.ts +2 -0
- package/dist/components/EvLozenge/EvLozenge.vue.d.ts +48 -0
- package/dist/components/EvLozenge/index.d.ts +1 -0
- package/dist/components/EvMenu/EvMenu.d.ts +336 -0
- package/dist/components/EvMenu/EvMenu.vue.d.ts +256 -0
- package/dist/components/EvMenu/EvMenuTransition.vue.d.ts +15 -0
- package/dist/components/EvMenu/index.d.ts +3 -0
- package/dist/components/EvMenu/shared.d.ts +9 -0
- package/dist/components/EvMessage/EvMessage.d.ts +147 -0
- package/dist/components/EvMessage/EvMessage.vue.d.ts +107 -0
- package/dist/components/EvMessage/index.d.ts +2 -0
- package/dist/components/EvNotification/EvNotification.d.ts +169 -0
- package/dist/components/EvNotification/EvNotification.vue.d.ts +138 -0
- package/dist/components/EvNotification/index.d.ts +2 -0
- package/dist/components/EvNotifications/EvNotifications.d.ts +14 -0
- package/dist/components/EvNotifications/EvNotifications.vue.d.ts +3 -0
- package/dist/components/EvNotifications/EvNotificationsManager.d.ts +92 -0
- package/dist/components/EvNotifications/index.d.ts +3 -0
- package/dist/components/EvNumberField/EvNumberField.d.ts +389 -0
- package/dist/components/EvNumberField/EvNumberField.vue.d.ts +177 -0
- package/dist/components/EvNumberField/index.d.ts +2 -0
- package/dist/components/EvOverlay/EvOverlay.d.ts +264 -0
- package/dist/components/EvOverlay/EvOverlay.vue.d.ts +196 -0
- package/dist/components/EvOverlay/activator.d.ts +227 -0
- package/dist/components/EvOverlay/index.d.ts +5 -0
- package/dist/components/EvOverlay/position-strategy/connected-position.d.ts +15 -0
- package/dist/components/EvOverlay/position-strategy/index.d.ts +2 -0
- package/dist/components/EvOverlay/position-strategy/static-position.d.ts +10 -0
- package/dist/components/EvOverlay/position.d.ts +81 -0
- package/dist/components/EvOverlay/scroll-strategy/block-scroll.d.ts +8 -0
- package/dist/components/EvOverlay/scroll-strategy/close-scroll.d.ts +7 -0
- package/dist/components/EvOverlay/scroll-strategy/index.d.ts +3 -0
- package/dist/components/EvOverlay/scroll-strategy/reposition-scroll.d.ts +10 -0
- package/dist/components/EvOverlay/scroll.d.ts +47 -0
- package/dist/components/EvProgress/EvProgress.vue.d.ts +42 -0
- package/dist/components/EvProgress/index.d.ts +1 -0
- package/dist/components/EvProgressCircular/EvProgressCircular.vue.d.ts +58 -0
- package/dist/components/EvProgressCircular/index.d.ts +1 -0
- package/dist/components/EvQuickfind/EvQuickfind.vue.d.ts +35 -0
- package/dist/components/EvQuickfind/index.d.ts +1 -0
- package/dist/components/EvRadio/EvRadio.d.ts +90 -0
- package/dist/components/EvRadio/EvRadio.vue.d.ts +74 -0
- package/dist/components/EvRadio/index.d.ts +2 -0
- package/dist/components/EvRadioGroup/EvRadioGroup.d.ts +91 -0
- package/dist/components/EvRadioGroup/EvRadioGroup.vue.d.ts +65 -0
- package/dist/components/EvRadioGroup/index.d.ts +2 -0
- package/dist/components/EvResponsive/EvResponsive.d.ts +85 -0
- package/dist/components/EvResponsive/EvResponsive.vue.d.ts +44 -0
- package/dist/components/EvResponsive/index.d.ts +2 -0
- package/dist/components/EvSelect/EvSelect.d.ts +378 -0
- package/dist/components/EvSelect/EvSelect.vue.d.ts +288 -0
- package/dist/components/EvSelect/index.d.ts +2 -0
- package/dist/components/EvSelect/useScrolling.d.ts +14 -0
- package/dist/components/EvSlideGroup/EvSlideGroup.d.ts +151 -0
- package/dist/components/EvSlideGroup/EvSlideGroup.vue.d.ts +100 -0
- package/dist/components/EvSlideGroup/EvSlideGroupItem.vue.d.ts +36 -0
- package/dist/components/EvSlideGroup/helpers.d.ts +40 -0
- package/dist/components/EvSlideGroup/index.d.ts +3 -0
- package/dist/components/EvSurface/EvSurface.d.ts +84 -0
- package/dist/components/EvSurface/EvSurface.vue.d.ts +52 -0
- package/dist/components/EvSurface/index.d.ts +2 -0
- package/dist/components/EvSwitch/EvSwitch.d.ts +106 -0
- package/dist/components/EvSwitch/EvSwitch.vue.d.ts +84 -0
- package/dist/components/EvSwitch/index.d.ts +2 -0
- package/dist/components/EvTabs/EvTab/EvTab.d.ts +166 -0
- package/dist/components/EvTabs/EvTab/EvTab.vue.d.ts +118 -0
- package/dist/components/EvTabs/EvTab/index.d.ts +2 -0
- package/dist/components/EvTabs/EvTabs.d.ts +179 -0
- package/dist/components/EvTabs/EvTabs.vue.d.ts +132 -0
- package/dist/components/EvTabs/index.d.ts +3 -0
- package/dist/components/EvTag/EvTag.d.ts +199 -0
- package/dist/components/EvTag/EvTag.vue.d.ts +138 -0
- package/dist/components/EvTag/index.d.ts +2 -0
- package/dist/components/EvTagGroup/EvTagGroup.d.ts +184 -0
- package/dist/components/EvTagGroup/EvTagGroup.vue.d.ts +129 -0
- package/dist/components/EvTagGroup/index.d.ts +2 -0
- package/dist/components/EvTextarea/EvTextarea.d.ts +132 -0
- package/dist/components/EvTextarea/EvTextarea.vue.d.ts +110 -0
- package/dist/components/EvTextarea/index.d.ts +2 -0
- package/dist/components/EvTextfield/EvTextfield.d.ts +187 -0
- package/dist/components/EvTextfield/EvTextfield.vue.d.ts +147 -0
- package/dist/components/EvTextfield/index.d.ts +2 -0
- package/dist/components/EvTooltip/EvTooltip.d.ts +336 -0
- package/dist/components/EvTooltip/EvTooltip.vue.d.ts +261 -0
- package/dist/components/EvTooltip/index.d.ts +2 -0
- package/dist/components/EvTransition/EvTransition.d.ts +50 -0
- package/dist/components/EvTransition/index.d.ts +1 -0
- package/dist/components/EvTransition/transitions/createTransition.d.ts +11 -0
- package/dist/components/EvTransition/transitions/expandTransition.d.ts +47 -0
- package/dist/components/EvTransition/transitions/index.d.ts +6 -0
- package/dist/components/EvVirtualScroll/EvVirtualScroll.d.ts +112 -0
- package/dist/components/EvVirtualScroll/EvVirtualScroll.vue.d.ts +64 -0
- package/dist/components/EvVirtualScroll/EvVirtualScrollItem.vue.d.ts +34 -0
- package/dist/components/EvVirtualScroll/index.d.ts +2 -0
- package/dist/components/EvWindow/EvWindow.d.ts +146 -0
- package/dist/components/EvWindow/EvWindow.vue.d.ts +125 -0
- package/dist/components/EvWindow/EvWindowItem/EvWindowItem.d.ts +71 -0
- package/dist/components/EvWindow/EvWindowItem/EvWindowItem.vue.d.ts +55 -0
- package/dist/components/EvWindow/EvWindowItem/index.d.ts +2 -0
- package/dist/components/EvWindow/index.d.ts +3 -0
- package/dist/components/index.d.ts +47 -0
- package/dist/composables/component.d.ts +26 -0
- package/dist/composables/date/DateAdapter.d.ts +33 -0
- package/dist/composables/date/DefaultDateAdapter.d.ts +194 -0
- package/dist/composables/date/date.d.ts +68 -0
- package/dist/composables/date/index.d.ts +3 -0
- package/dist/composables/defaults.d.ts +46 -0
- package/dist/composables/delay.d.ts +28 -0
- package/dist/composables/dialog.d.ts +21 -0
- package/dist/composables/dimensions.d.ts +59 -0
- package/dist/composables/display.d.ts +157 -0
- package/dist/composables/drawer.d.ts +21 -0
- package/dist/composables/filter.d.ts +105 -0
- package/dist/composables/focus.d.ts +46 -0
- package/dist/composables/form.d.ts +78 -0
- package/dist/composables/group.d.ts +99 -0
- package/dist/composables/groupItem.d.ts +70 -0
- package/dist/composables/hasSlotWithContent.d.ts +13 -0
- package/dist/composables/icons.d.ts +12 -0
- package/dist/composables/index.d.ts +7 -0
- package/dist/composables/lazy.d.ts +23 -0
- package/dist/composables/lists/index.d.ts +6 -0
- package/dist/composables/lists/list-items.d.ts +159 -0
- package/dist/composables/lists/list.d.ts +26 -0
- package/dist/composables/lists/move-strategies.d.ts +0 -0
- package/dist/composables/lists/nested.d.ts +134 -0
- package/dist/composables/lists/open-strategies.d.ts +72 -0
- package/dist/composables/lists/open-strategy/index.d.ts +3 -0
- package/dist/composables/lists/open-strategy/list.d.ts +6 -0
- package/dist/composables/lists/open-strategy/multiple.d.ts +6 -0
- package/dist/composables/lists/open-strategy/single.d.ts +6 -0
- package/dist/composables/lists/select-strategies.d.ts +83 -0
- package/dist/composables/lists/select-strategy/cascade-leaf.d.ts +14 -0
- package/dist/composables/lists/select-strategy/index.d.ts +5 -0
- package/dist/composables/lists/select-strategy/multi-any.d.ts +10 -0
- package/dist/composables/lists/select-strategy/multi-leaf.d.ts +10 -0
- package/dist/composables/lists/select-strategy/single-any.d.ts +10 -0
- package/dist/composables/lists/select-strategy/single-leaf.d.ts +10 -0
- package/dist/composables/lists/sequenced.d.ts +11 -0
- package/dist/composables/locale.d.ts +31 -0
- package/dist/composables/modelProxy.d.ts +11 -0
- package/dist/composables/notification.d.ts +19 -0
- package/dist/composables/position.d.ts +19 -0
- package/dist/composables/resizeObserver.d.ts +13 -0
- package/dist/composables/rounded.d.ts +26 -0
- package/dist/composables/router.d.ts +75 -0
- package/dist/composables/scopeId.d.ts +5 -0
- package/dist/composables/selectLink.d.ts +9 -0
- package/dist/composables/size.d.ts +30 -0
- package/dist/composables/ssrBoot.d.ts +9 -0
- package/dist/composables/stack.d.ts +19 -0
- package/dist/composables/tag.d.ts +17 -0
- package/dist/composables/teleport.d.ts +13 -0
- package/dist/composables/toggleScope.d.ts +3 -0
- package/dist/composables/validation.d.ts +107 -0
- package/dist/composables/virtual.d.ts +43 -0
- package/dist/directives/click-outside.d.ts +50 -0
- package/dist/directives/index.d.ts +4 -0
- package/dist/directives/intersect.d.ts +32 -0
- package/dist/directives/slots.d.ts +7 -0
- package/dist/directives/touch.d.ts +52 -0
- package/dist/entry-bundler.d.ts +11 -0
- package/dist/evance-ui.cjs.js +5 -0
- package/dist/evance-ui.css +1 -0
- package/dist/evance-ui.es.d.ts +1 -0
- package/dist/evance-ui.es.js +10460 -0
- package/dist/evance-ui.umd.js +5 -0
- package/dist/framework.d.ts +27 -0
- package/dist/icons/brand/index.d.ts +20 -0
- package/dist/icons/editor/index.d.ts +105 -0
- package/dist/icons/index.d.ts +244 -0
- package/dist/locale/en.d.ts +25 -0
- package/dist/modules/Form/Form.d.ts +67 -0
- package/dist/modules/Form/FormField.d.ts +96 -0
- package/dist/modules/Locale/LocaleCode.d.ts +18 -0
- package/dist/modules/Locale/LocaleManager.d.ts +28 -0
- package/dist/modules/Locale/Localized.d.ts +40 -0
- package/dist/modules/NumberFormatter.d.ts +9 -0
- package/dist/modules/Translation/LanguagePack.d.ts +26 -0
- package/dist/modules/Translation/Pluralization.d.ts +30 -0
- package/dist/modules/Translation/Translatable.d.ts +21 -0
- package/dist/modules/Translation/TranslationCode.d.ts +28 -0
- package/dist/modules/Translation/Translator.d.ts +77 -0
- package/dist/services/dialog.d.ts +9 -0
- package/dist/services/drawer.d.ts +9 -0
- package/dist/services/index.d.ts +3 -0
- package/dist/services/notification.d.ts +9 -0
- package/dist/util/anchor.d.ts +62 -0
- package/dist/util/animate.d.ts +38 -0
- package/dist/util/appearance.d.ts +148 -0
- package/dist/util/array.d.ts +11 -0
- package/dist/util/bindProps.d.ts +12 -0
- package/dist/util/browser.d.ts +13 -0
- package/dist/util/children.d.ts +24 -0
- package/dist/util/components.d.ts +10 -0
- package/dist/util/console.d.ts +10 -0
- package/dist/util/dimensions.d.ts +92 -0
- package/dist/util/events.d.ts +68 -0
- package/dist/util/helpers.d.ts +161 -0
- package/dist/util/index.d.ts +23 -0
- package/dist/util/injectSelf.d.ts +3 -0
- package/dist/util/is-functions.d.ts +100 -0
- package/dist/util/isFixedPosition.d.ts +1 -0
- package/dist/util/keyboard.d.ts +24 -0
- package/dist/util/modifiers.d.ts +27 -0
- package/dist/util/numbers.d.ts +9 -0
- package/dist/util/props.d.ts +62 -0
- package/dist/util/scroll.d.ts +51 -0
- package/dist/util/strings.d.ts +91 -0
- package/dist/util/style.d.ts +7 -0
- package/dist/util/units.d.ts +24 -0
- package/package.json +77 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
export declare const axes: readonly ["x", "y"];
|
|
2
|
+
export type Axis = typeof axes[number];
|
|
3
|
+
/**
|
|
4
|
+
* # Coordinates
|
|
5
|
+
* Two-dimensional coordinates (x,y).
|
|
6
|
+
*/
|
|
7
|
+
export interface Coordinates {
|
|
8
|
+
x: number;
|
|
9
|
+
y: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* # Dimensions
|
|
13
|
+
*/
|
|
14
|
+
export interface Dimensions {
|
|
15
|
+
width: number;
|
|
16
|
+
height: number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* # Position
|
|
20
|
+
* Representative of an element's position attributes describing the bounding area of a box.
|
|
21
|
+
*/
|
|
22
|
+
export interface Position {
|
|
23
|
+
top: number;
|
|
24
|
+
right: number;
|
|
25
|
+
bottom: number;
|
|
26
|
+
left: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* # Margins
|
|
30
|
+
* Essentially the same as Position, but is intended to describe areas outside the box
|
|
31
|
+
* (same as CSS `margin`).
|
|
32
|
+
*/
|
|
33
|
+
export type Margins = Position;
|
|
34
|
+
export interface RectProps extends Coordinates, Dimensions {
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* # Rect
|
|
38
|
+
*
|
|
39
|
+
* Describes a bounding rectangle a bit like DOMRect, but not readonly.
|
|
40
|
+
*/
|
|
41
|
+
export declare class Rect implements Coordinates, Dimensions, Position {
|
|
42
|
+
x: number;
|
|
43
|
+
y: number;
|
|
44
|
+
width: number;
|
|
45
|
+
height: number;
|
|
46
|
+
constructor(x: number, y: number, width: number, height: number);
|
|
47
|
+
get top(): number;
|
|
48
|
+
get bottom(): number;
|
|
49
|
+
get left(): number;
|
|
50
|
+
get right(): number;
|
|
51
|
+
/**
|
|
52
|
+
* ## Add Offset
|
|
53
|
+
* @param offset
|
|
54
|
+
*/
|
|
55
|
+
addOffset(offset: Coordinates): Rect;
|
|
56
|
+
/**
|
|
57
|
+
* ## From Element
|
|
58
|
+
* @param el
|
|
59
|
+
* @param beforeTransforms
|
|
60
|
+
*/
|
|
61
|
+
static fromElement(el: HTMLElement, beforeTransforms?: boolean): Rect;
|
|
62
|
+
/**
|
|
63
|
+
* ## From Rect
|
|
64
|
+
* Kind of replicates DOMRect.fromRect()
|
|
65
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/DOMRect/fromRect_static
|
|
66
|
+
* @param rect
|
|
67
|
+
*/
|
|
68
|
+
static fromRect(rect: DOMRect | Rect | RectProps): Rect;
|
|
69
|
+
/**
|
|
70
|
+
* ## Get Overflow
|
|
71
|
+
* Returns the overflow margins based on a second Rect.
|
|
72
|
+
* @param b
|
|
73
|
+
*/
|
|
74
|
+
getOverflow(b: Rect): Margins;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* # Adjust Bounding Rect
|
|
78
|
+
*
|
|
79
|
+
* Calculate Bounding Rect before being transformed.
|
|
80
|
+
*
|
|
81
|
+
* This doesn't account for skew or rotate translations, but at least it produces correct edge positions
|
|
82
|
+
* when scale is used and does not impose much of a performance penalty when there is no transform.
|
|
83
|
+
*
|
|
84
|
+
* @see https://stackoverflow.com/a/57876601/2074736
|
|
85
|
+
*/
|
|
86
|
+
export declare function adjustedBoundingRect(el: HTMLElement): Rect;
|
|
87
|
+
/**
|
|
88
|
+
* # getTargetRect
|
|
89
|
+
*
|
|
90
|
+
* @param target
|
|
91
|
+
*/
|
|
92
|
+
export declare function getTargetRect(target: HTMLElement | [x: number, y: number]): Rect | DOMRect;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* # Click Event Listeners
|
|
5
|
+
* Standard listeners for click events.
|
|
6
|
+
*/
|
|
7
|
+
export interface ClickEventListeners {
|
|
8
|
+
onClick?: EventProp | undefined;
|
|
9
|
+
onClickOnce?: EventProp | undefined;
|
|
10
|
+
}
|
|
11
|
+
export type EventProp<T extends any[] = any[], F = (...args: T) => any> = F | F[];
|
|
12
|
+
export declare const EventProp: <T extends any[] = any[]>() => PropType<EventProp<T, (...args: T) => any>>;
|
|
13
|
+
/**
|
|
14
|
+
* # Call Event
|
|
15
|
+
* @param eventHandler
|
|
16
|
+
* @param args
|
|
17
|
+
*/
|
|
18
|
+
export declare function callEvent<T extends any[]>(eventHandler: EventProp<T> | undefined, ...args: T): void;
|
|
19
|
+
/**
|
|
20
|
+
* # Event Name
|
|
21
|
+
* @param propName
|
|
22
|
+
*/
|
|
23
|
+
export declare function eventName(propName: string): string;
|
|
24
|
+
/**
|
|
25
|
+
* # Focusable Elements
|
|
26
|
+
* A list of elements we can focus on dynamically.
|
|
27
|
+
*/
|
|
28
|
+
export declare const focusableElements: string[];
|
|
29
|
+
/**
|
|
30
|
+
* # Focus Position
|
|
31
|
+
*/
|
|
32
|
+
export type FocusPosition = 'next' | 'previous' | 'first' | 'last';
|
|
33
|
+
/**
|
|
34
|
+
* # Focus Child
|
|
35
|
+
* @param el
|
|
36
|
+
* @param position
|
|
37
|
+
*/
|
|
38
|
+
export declare function focusChild(el?: Element, position?: FocusPosition): HTMLElement | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* # Get Focusable Children
|
|
41
|
+
*
|
|
42
|
+
* Find and return any focusable elements within the supplied element,
|
|
43
|
+
* unless they're disabled or have a negative `tabindex` of -1.
|
|
44
|
+
*
|
|
45
|
+
* @param el
|
|
46
|
+
* @param filterByTabIndex
|
|
47
|
+
*/
|
|
48
|
+
export declare function getFocusableChildren(el: Element, filterByTabIndex?: boolean): HTMLElement[];
|
|
49
|
+
/**
|
|
50
|
+
* # Has Event Listener
|
|
51
|
+
*
|
|
52
|
+
* Determines whether the `props` supplied includes an event listener, or
|
|
53
|
+
* any variations of the event listener. For example, 'click' events may have:
|
|
54
|
+
* - 'onClick'
|
|
55
|
+
* - 'onClickOnce'
|
|
56
|
+
* - 'onClickOnceCapture'
|
|
57
|
+
* - 'onClickCaptureOnce'
|
|
58
|
+
*
|
|
59
|
+
* @param props
|
|
60
|
+
* @param name
|
|
61
|
+
*/
|
|
62
|
+
export declare function hasEventListener(props: Record<string, any>, name: string): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* ## Add Scroll Event Listeners to Element (and its parents)
|
|
65
|
+
* @param el
|
|
66
|
+
* @param onScroll
|
|
67
|
+
*/
|
|
68
|
+
export declare function addScrollEventListener(el: HTMLElement | undefined, onScroll: (e: Event) => void): void;
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { ComponentOptions, ComponentPublicInstance, ComputedGetter, ToRefs } from 'vue';
|
|
2
|
+
|
|
3
|
+
export declare function getNextId(): number;
|
|
4
|
+
export declare namespace getNextId {
|
|
5
|
+
var reset: () => void;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* # Getter Property Key
|
|
9
|
+
*
|
|
10
|
+
* Defines where to look for Property information within getter functions.
|
|
11
|
+
*
|
|
12
|
+
* For example: an object might have a `title` property.
|
|
13
|
+
* So a property key may represent either an array index, or an object property.
|
|
14
|
+
*
|
|
15
|
+
* - `boolean` - Ignored
|
|
16
|
+
* - `string` - Property name, or use Object path notation.
|
|
17
|
+
* - `array` of strings or numbers represent nested lookup - each array element represents a key in the hierarchy
|
|
18
|
+
*/
|
|
19
|
+
export type GetterPropertyKey = boolean | string | (string | number)[] | ((item: Record<string, any>, fallback?: any) => any);
|
|
20
|
+
/**
|
|
21
|
+
* # Get Property
|
|
22
|
+
*
|
|
23
|
+
* A getter function, which gets a property from the `subject`, which may be
|
|
24
|
+
* any kind of object.
|
|
25
|
+
*
|
|
26
|
+
*/
|
|
27
|
+
export declare function getPropertyValue(subject: any, property: GetterPropertyKey, fallback?: any): any;
|
|
28
|
+
/**
|
|
29
|
+
* # Get Property from Path
|
|
30
|
+
*
|
|
31
|
+
* This is a rough copy of Evance's `EvObjectPathGetter` functionality.
|
|
32
|
+
*
|
|
33
|
+
* @param subject
|
|
34
|
+
* @param objectPath
|
|
35
|
+
* @param fallback
|
|
36
|
+
*/
|
|
37
|
+
export declare function getPropertyValueByPath(subject: any, objectPath: string, fallback?: any): any;
|
|
38
|
+
/**
|
|
39
|
+
* # Get Nested Property Value
|
|
40
|
+
*
|
|
41
|
+
* @param subject
|
|
42
|
+
* @param propertyKeys
|
|
43
|
+
* @param fallback
|
|
44
|
+
*/
|
|
45
|
+
export declare function getNestedPropertyValue(subject: any, propertyKeys: PropertyKey[], fallback?: any): any;
|
|
46
|
+
/**
|
|
47
|
+
* # Object Path To Array
|
|
48
|
+
*
|
|
49
|
+
* This is a rough copy of Evance's `EvObjectPath` functionality.
|
|
50
|
+
*
|
|
51
|
+
* @param path
|
|
52
|
+
*/
|
|
53
|
+
export declare function objectPathToPropertyKeys(path: string): PropertyKey[];
|
|
54
|
+
/**
|
|
55
|
+
* # Ref Element
|
|
56
|
+
* @param obj
|
|
57
|
+
*/
|
|
58
|
+
export declare function refElement<T extends object | undefined>(obj: T): Exclude<T, ComponentPublicInstance> | HTMLElement;
|
|
59
|
+
/**
|
|
60
|
+
* # Split Object
|
|
61
|
+
*
|
|
62
|
+
* Split an object into two using an Array of keys or RegExp to test keys against.
|
|
63
|
+
*
|
|
64
|
+
* This results an array containing an object containing only matching keys,
|
|
65
|
+
* and an object containing the remaining keys.
|
|
66
|
+
*
|
|
67
|
+
* @param subject
|
|
68
|
+
* @param paths
|
|
69
|
+
* @param exclude
|
|
70
|
+
*/
|
|
71
|
+
export declare function splitObject<Subject extends object, SubjectKey extends Extract<keyof Subject, string>, Exclusions extends Extract<keyof Subject, string>>(subject: Subject, paths: (SubjectKey | RegExp)[], exclude?: Exclusions[]): [matched: Partial<Subject>, unmatched: Partial<Subject>];
|
|
72
|
+
/**
|
|
73
|
+
* ## Split Input Attrs
|
|
74
|
+
*
|
|
75
|
+
* Filter/split an attributes objects into two objects:
|
|
76
|
+
* 1. Attributes not intended for an input field.
|
|
77
|
+
* 2. Attributes for an input field.
|
|
78
|
+
*
|
|
79
|
+
* @param attrs
|
|
80
|
+
*/
|
|
81
|
+
export declare function splitInputAttrs(attrs: Record<string, unknown>): [matched: Partial<Record<string, unknown>>, unmatched: Partial<Record<string, unknown>>];
|
|
82
|
+
/**
|
|
83
|
+
* # Clamp
|
|
84
|
+
*
|
|
85
|
+
* @param value
|
|
86
|
+
* @param min
|
|
87
|
+
* @param max
|
|
88
|
+
*/
|
|
89
|
+
export declare function clamp(value: number, min?: number, max?: number): number;
|
|
90
|
+
type NotAUnion<T> = [T] extends [infer U] ? _NotAUnion<U, U> : never;
|
|
91
|
+
type _NotAUnion<T, U> = U extends any ? [T] extends [U] ? unknown : never : never;
|
|
92
|
+
/**
|
|
93
|
+
* # Destruct Computed
|
|
94
|
+
*
|
|
95
|
+
* Convert a computed ref to a record of refs.
|
|
96
|
+
* The getter function must always return an object with the same keys.
|
|
97
|
+
*/
|
|
98
|
+
export declare function destructComputed<T extends object>(getter: ComputedGetter<T & NotAUnion<T>>): ToRefs<T>;
|
|
99
|
+
/**
|
|
100
|
+
* # Union To Intersection
|
|
101
|
+
*
|
|
102
|
+
* Intersection `I` of all types in the union `U` - transform a union of object types into an intersection of those types.
|
|
103
|
+
* This can be helpful when you want to combine multiple types into a single type, where all properties from each type
|
|
104
|
+
* become part of the resulting type.
|
|
105
|
+
*/
|
|
106
|
+
export type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never;
|
|
107
|
+
/**
|
|
108
|
+
* # Get Descriptor
|
|
109
|
+
*
|
|
110
|
+
* Returns the closest property descriptor for an object.
|
|
111
|
+
*
|
|
112
|
+
* @param obj
|
|
113
|
+
* @param key
|
|
114
|
+
*/
|
|
115
|
+
export declare function getPropertyDescriptor(obj: any, key: PropertyKey): TypedPropertyDescriptor<any> | undefined;
|
|
116
|
+
/**
|
|
117
|
+
* # Filter Component Props
|
|
118
|
+
*
|
|
119
|
+
* Extracts the component's props from a props record.
|
|
120
|
+
*
|
|
121
|
+
* Excludes `class` and `style`.
|
|
122
|
+
*
|
|
123
|
+
* @param component
|
|
124
|
+
* @param props
|
|
125
|
+
*/
|
|
126
|
+
export declare function filterComponentProps(component: ComponentOptions<any>, props: Record<string, any>): Partial<Record<string, any>>;
|
|
127
|
+
/**
|
|
128
|
+
* # If Any
|
|
129
|
+
*/
|
|
130
|
+
type IfAny<T, Y, N> = 0 extends (1 & T) ? Y : N;
|
|
131
|
+
/**
|
|
132
|
+
* # Wrap In Array
|
|
133
|
+
* @param value
|
|
134
|
+
*/
|
|
135
|
+
export declare function wrapInArray<T>(value: T | null | undefined): T extends readonly any[] ? IfAny<T, T[], T> : NonNullable<T>[];
|
|
136
|
+
export declare function mergeDeep(source?: Record<string, any>, target?: Record<string, any>, arrayFn?: (a: unknown[], b: unknown[]) => unknown[]): Record<string, any>;
|
|
137
|
+
/**
|
|
138
|
+
* # Create Range
|
|
139
|
+
*
|
|
140
|
+
* @param length
|
|
141
|
+
* @param start
|
|
142
|
+
*/
|
|
143
|
+
export declare function createRange(length: number, start?: number): number[];
|
|
144
|
+
/**
|
|
145
|
+
* # Omit
|
|
146
|
+
*
|
|
147
|
+
* Clones an object, whilst omitting excluded properties.
|
|
148
|
+
*
|
|
149
|
+
* @param obj
|
|
150
|
+
* @param exclude
|
|
151
|
+
*/
|
|
152
|
+
export declare function omit<T extends object, U extends Extract<keyof T, string>>(obj: T, exclude: U[]): Omit<T, U>;
|
|
153
|
+
/**
|
|
154
|
+
* # matchesSelector
|
|
155
|
+
* Returns `null` if the CSS selector is not supported, or can't be checked.
|
|
156
|
+
* @param el
|
|
157
|
+
* @param selector
|
|
158
|
+
*/
|
|
159
|
+
export declare function matchesSelector(el: Element | undefined, selector: string): boolean | null;
|
|
160
|
+
export declare function keys<O extends {}>(o: O): (keyof O)[];
|
|
161
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export * from './anchor';
|
|
2
|
+
export * from './animate';
|
|
3
|
+
export * from './appearance';
|
|
4
|
+
export * from './array';
|
|
5
|
+
export * from './bindProps';
|
|
6
|
+
export * from './browser';
|
|
7
|
+
export * from './children';
|
|
8
|
+
export * from './components';
|
|
9
|
+
export * from './console';
|
|
10
|
+
export * from './dimensions';
|
|
11
|
+
export * from './events';
|
|
12
|
+
export * from './helpers';
|
|
13
|
+
export * from './injectSelf';
|
|
14
|
+
export * from './is-functions';
|
|
15
|
+
export * from './isFixedPosition';
|
|
16
|
+
export * from './keyboard';
|
|
17
|
+
export * from './modifiers';
|
|
18
|
+
export * from './numbers';
|
|
19
|
+
export * from './props';
|
|
20
|
+
export * from './scroll';
|
|
21
|
+
export * from './strings';
|
|
22
|
+
export * from './style';
|
|
23
|
+
export * from './units';
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* # Is (equal)
|
|
3
|
+
* I had written a polyfill for this, but since we're only interested in modern browsers
|
|
4
|
+
* let's reduce code and simply return the result from Object.is();
|
|
5
|
+
* @param a
|
|
6
|
+
* @param b
|
|
7
|
+
*/
|
|
8
|
+
export declare function is(a?: any, b?: any): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* # Is Array?
|
|
11
|
+
* @param value
|
|
12
|
+
*/
|
|
13
|
+
export declare function isArray(value: unknown): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* # Is Boolean?
|
|
16
|
+
* @param value
|
|
17
|
+
*/
|
|
18
|
+
export declare function isBoolean(value: unknown): value is boolean;
|
|
19
|
+
/**
|
|
20
|
+
* # Is CSS Variable
|
|
21
|
+
* @param value
|
|
22
|
+
*/
|
|
23
|
+
export declare function isCssVariable(value: unknown): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* # Is Date?
|
|
26
|
+
* @param value
|
|
27
|
+
*/
|
|
28
|
+
export declare function isDate(value: unknown): value is Date;
|
|
29
|
+
/**
|
|
30
|
+
* # Is Date Equal
|
|
31
|
+
*
|
|
32
|
+
* Evaluates whether one date equals another date.
|
|
33
|
+
*
|
|
34
|
+
* @param a
|
|
35
|
+
* @param b
|
|
36
|
+
*/
|
|
37
|
+
export declare function isDateEqual(a: Date, b: Date): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* # Is Deep Equal?
|
|
40
|
+
*
|
|
41
|
+
* I could have used the `deep-equal` npm package, but decided to keep things as light-weight
|
|
42
|
+
* as possible and this suits our needs for now:
|
|
43
|
+
*
|
|
44
|
+
* @link https://www.npmjs.com/package/deep-equal
|
|
45
|
+
*
|
|
46
|
+
* @param a
|
|
47
|
+
* @param b
|
|
48
|
+
*/
|
|
49
|
+
export declare function isDeepEqual(a: any, b: any): boolean;
|
|
50
|
+
export declare function isElement(el: unknown): el is Element;
|
|
51
|
+
/**
|
|
52
|
+
* # Is Empty
|
|
53
|
+
* @param value
|
|
54
|
+
*/
|
|
55
|
+
export declare function isEmpty(value: any): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* # Is Equal NaN
|
|
58
|
+
*
|
|
59
|
+
* Check if a value is NaN - the only value in JavaScript that is not equal to itself.
|
|
60
|
+
*
|
|
61
|
+
* @param value
|
|
62
|
+
*/
|
|
63
|
+
export declare function isEqualNaN(value: unknown): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* # Is Function?
|
|
66
|
+
* @param value
|
|
67
|
+
*/
|
|
68
|
+
export declare function isFunction(value: unknown): value is Function;
|
|
69
|
+
/**
|
|
70
|
+
* # Is Number
|
|
71
|
+
* @param value
|
|
72
|
+
*/
|
|
73
|
+
export declare function isNumber(value: unknown): value is number;
|
|
74
|
+
/**
|
|
75
|
+
* # Is Object?
|
|
76
|
+
* @param value
|
|
77
|
+
*/
|
|
78
|
+
export declare function isObject(value: unknown): value is object;
|
|
79
|
+
/**
|
|
80
|
+
* # Is Object Not Array
|
|
81
|
+
* @param value
|
|
82
|
+
*/
|
|
83
|
+
export declare function isObjectNotArray(value: any): boolean;
|
|
84
|
+
export declare const isOn: (key: string) => boolean;
|
|
85
|
+
/**
|
|
86
|
+
*
|
|
87
|
+
* @param value
|
|
88
|
+
*/
|
|
89
|
+
export declare function isPrimitive(value: unknown): value is string | number | boolean;
|
|
90
|
+
/**
|
|
91
|
+
* # Is ShadowRoot
|
|
92
|
+
* @param value
|
|
93
|
+
*/
|
|
94
|
+
export declare function isShadowRoot(value: unknown): value is ShadowRoot;
|
|
95
|
+
/**
|
|
96
|
+
* # Is String?
|
|
97
|
+
* @param value
|
|
98
|
+
*/
|
|
99
|
+
export declare function isString(value: unknown): value is string;
|
|
100
|
+
export declare function isTypeOf(value: unknown, accept: string[]): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isFixedPosition(el?: HTMLElement): boolean;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* # Key Logger
|
|
3
|
+
*/
|
|
4
|
+
export declare class KeyLogger {
|
|
5
|
+
lastTime: number;
|
|
6
|
+
timeToKeep: number;
|
|
7
|
+
value: string;
|
|
8
|
+
/**
|
|
9
|
+
* ## Log
|
|
10
|
+
* @param e
|
|
11
|
+
*/
|
|
12
|
+
log(e: KeyboardEvent): boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* # Is Key Event Loggable?
|
|
16
|
+
* @param e
|
|
17
|
+
*/
|
|
18
|
+
export declare function isKeyEventLoggable(e: KeyboardEvent): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* # isComposingIgnoreKey
|
|
21
|
+
* Returns `true` if the keyboard event is within a composing sequence,
|
|
22
|
+
* and the key pressed is included within `compositionIgnoreKeys`.
|
|
23
|
+
*/
|
|
24
|
+
export declare function isComposingIgnoreKey(e: KeyboardEvent): boolean;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ## Make Class Name
|
|
3
|
+
* Accepts a string `value` and a `prefix` to be combined and separated by a dash ("-").
|
|
4
|
+
* The value will be converted into "kebab-case".
|
|
5
|
+
* @param value
|
|
6
|
+
* @param prefix
|
|
7
|
+
* @param exclude
|
|
8
|
+
*/
|
|
9
|
+
export declare function makeClassName(value?: string, prefix?: string, exclude?: (string | RegExp)[]): string | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* ## Make a Size Modifier Class Name
|
|
12
|
+
* @param value
|
|
13
|
+
* @param exclude
|
|
14
|
+
*/
|
|
15
|
+
export declare function sizeModifier(value?: string | number, exclude?: (string | RegExp)[]): string | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* ## Make an Appearance Modifier Class Name
|
|
18
|
+
* @param value
|
|
19
|
+
* @param exclude
|
|
20
|
+
*/
|
|
21
|
+
export declare function appearanceModifier(value: string, exclude?: (string | RegExp)[]): string | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* ## Make a Variant Modifier Class Name
|
|
24
|
+
* @param value
|
|
25
|
+
* @param exclude
|
|
26
|
+
*/
|
|
27
|
+
export declare function variantModifier(value: string, exclude?: (string | RegExp)[]): string | undefined;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { ComponentObjectPropsOptions, Prop, PropType } from 'vue';
|
|
2
|
+
import { IfAny } from '@vue/shared';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* # Props Factory
|
|
6
|
+
*
|
|
7
|
+
* Creates a factory function for props definitions.
|
|
8
|
+
* This is used to define props in a composable then override
|
|
9
|
+
* default values in an implementing component.
|
|
10
|
+
*
|
|
11
|
+
* @example Simplified signature
|
|
12
|
+
* (props: Props) => (defaults?: Record<keyof props, any>) => Props
|
|
13
|
+
*
|
|
14
|
+
* @example Usage
|
|
15
|
+
* const makeProps = propsFactory({
|
|
16
|
+
* foo: String,
|
|
17
|
+
* })
|
|
18
|
+
*
|
|
19
|
+
* defineComponent({
|
|
20
|
+
* props: {
|
|
21
|
+
* ...makeProps({
|
|
22
|
+
* foo: 'a',
|
|
23
|
+
* }),
|
|
24
|
+
* },
|
|
25
|
+
* setup (props) {
|
|
26
|
+
* // would be "string | undefined", now "string" because a default has been provided
|
|
27
|
+
* props.foo
|
|
28
|
+
* },
|
|
29
|
+
* }
|
|
30
|
+
*
|
|
31
|
+
* Copied from Vuetify
|
|
32
|
+
* @see https://github.com/vuetifyjs/vuetify/blob/master/packages/vuetify/src/util/propsFactory.ts
|
|
33
|
+
*/
|
|
34
|
+
export declare function propsFactory<PropsOptions extends ComponentObjectPropsOptions>(props: PropsOptions, source: string): <Defaults extends PartialKeys<PropsOptions> = {}>(defaults?: Defaults) => AppendDefault<PropsOptions, Defaults>;
|
|
35
|
+
type AppendDefault<T extends ComponentObjectPropsOptions, D extends PartialKeys<T>> = {
|
|
36
|
+
[P in keyof T]-?: unknown extends D[P] ? T[P] : T[P] extends Record<string, unknown> ? Omit<T[P], 'type' | 'default'> & {
|
|
37
|
+
type: PropType<MergeDefault<T[P], D[P]>>;
|
|
38
|
+
default: MergeDefault<T[P], D[P]>;
|
|
39
|
+
} : {
|
|
40
|
+
type: PropType<MergeDefault<T[P], D[P]>>;
|
|
41
|
+
default: MergeDefault<T[P], D[P]>;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
type MergeDefault<T, D> = unknown extends D ? InferPropType<T> : (NonNullable<InferPropType<T>> | D);
|
|
45
|
+
/**
|
|
46
|
+
* Like `Partial<T>` but doesn't care what the value is
|
|
47
|
+
*/
|
|
48
|
+
type PartialKeys<T> = {
|
|
49
|
+
[P in keyof T]?: unknown;
|
|
50
|
+
};
|
|
51
|
+
type InferPropType<T> = [T] extends [null] ? any : [T] extends [{
|
|
52
|
+
type: null | true;
|
|
53
|
+
}] ? any : [T] extends [ObjectConstructor | {
|
|
54
|
+
type: ObjectConstructor;
|
|
55
|
+
}] ? Record<string, any> : [T] extends [BooleanConstructor | {
|
|
56
|
+
type: BooleanConstructor;
|
|
57
|
+
}] ? boolean : [T] extends [DateConstructor | {
|
|
58
|
+
type: DateConstructor;
|
|
59
|
+
}] ? Date : [T] extends [(infer U)[] | {
|
|
60
|
+
type: (infer U)[];
|
|
61
|
+
}] ? U extends DateConstructor ? Date | InferPropType<U> : InferPropType<U> : [T] extends [Prop<infer V, infer D>] ? unknown extends V ? IfAny<V, V, D> : V : T;
|
|
62
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Axis } from './dimensions.ts';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* # Get Scroll Parent
|
|
5
|
+
*
|
|
6
|
+
* Get the closest parent element which is scrollable.
|
|
7
|
+
*
|
|
8
|
+
* @param el
|
|
9
|
+
* @param isIncludeHidden
|
|
10
|
+
* @param axis
|
|
11
|
+
*/
|
|
12
|
+
export declare function getScrollParent(el?: Element, isIncludeHidden?: boolean, axis?: Axis | null): HTMLElement;
|
|
13
|
+
/**
|
|
14
|
+
* # Get Scroll Parents
|
|
15
|
+
*
|
|
16
|
+
* Get all parent elements with a scrollbar in either the x-axis, y-axis,
|
|
17
|
+
* or either if `axis` is supplied as `null`.
|
|
18
|
+
*
|
|
19
|
+
* Defaults to y-axis, since that's the most common use-case.
|
|
20
|
+
*
|
|
21
|
+
* @param el
|
|
22
|
+
* @param stopAt
|
|
23
|
+
* @param axis
|
|
24
|
+
*/
|
|
25
|
+
export declare function getScrollParents(el: Element | undefined, stopAt?: Element | null, axis?: Axis | null): HTMLElement[];
|
|
26
|
+
/**
|
|
27
|
+
* # Has Scrollbar?
|
|
28
|
+
*
|
|
29
|
+
* Determine whether an Element has a Scrollbar in either the x-axis, y-axis,
|
|
30
|
+
* or either if `axis` is supplied as `null`.
|
|
31
|
+
*
|
|
32
|
+
* This does not necessarily mean it has a scroll amount.
|
|
33
|
+
*
|
|
34
|
+
* Defaults to y-axis, since that's the most common use-case.
|
|
35
|
+
*
|
|
36
|
+
* @param el
|
|
37
|
+
* @param axis
|
|
38
|
+
*/
|
|
39
|
+
export declare function hasScrollbar(el?: Element | null, axis?: Axis | null): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* # Is Scrollable?
|
|
42
|
+
*
|
|
43
|
+
* Determines whether an Element is scrollable in either the x-axis, y-axis,
|
|
44
|
+
* or either if `axis` is supplied as `null`.
|
|
45
|
+
*
|
|
46
|
+
* Defaults to y-axis, since that's the most common use-case.
|
|
47
|
+
*
|
|
48
|
+
* @param el
|
|
49
|
+
* @param axis
|
|
50
|
+
*/
|
|
51
|
+
export declare function isScrollable(el: Element | null, axis?: Axis | null): boolean;
|