@nice2dev/ui-core 1.0.10
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/CHANGELOG.md +63 -0
- package/README.md +62 -0
- package/dist/core/NiceInlineHelp.d.ts +69 -0
- package/dist/core/NiceInlineHelp.d.ts.map +1 -0
- package/dist/core/NiceThemeProvider.d.ts +31 -0
- package/dist/core/NiceThemeProvider.d.ts.map +1 -0
- package/dist/core/NiceThemeVariants.d.ts +55 -0
- package/dist/core/NiceThemeVariants.d.ts.map +1 -0
- package/dist/core/NiceUserPreferences.d.ts +304 -0
- package/dist/core/NiceUserPreferences.d.ts.map +1 -0
- package/dist/core/a11y-advanced.d.ts +157 -0
- package/dist/core/a11y-advanced.d.ts.map +1 -0
- package/dist/core/a11y.d.ts +299 -0
- package/dist/core/a11y.d.ts.map +1 -0
- package/dist/core/access-control.d.ts +59 -0
- package/dist/core/access-control.d.ts.map +1 -0
- package/dist/core/adapters.d.ts +178 -0
- package/dist/core/adapters.d.ts.map +1 -0
- package/dist/core/ai.d.ts +191 -0
- package/dist/core/ai.d.ts.map +1 -0
- package/dist/core/animations.d.ts +48 -0
- package/dist/core/animations.d.ts.map +1 -0
- package/dist/core/colorBlind.d.ts +22 -0
- package/dist/core/colorBlind.d.ts.map +1 -0
- package/dist/core/datasource-advanced.d.ts +261 -0
- package/dist/core/datasource-advanced.d.ts.map +1 -0
- package/dist/core/datasource-aggregation.d.ts +221 -0
- package/dist/core/datasource-aggregation.d.ts.map +1 -0
- package/dist/core/datasource-hooks.d.ts +93 -0
- package/dist/core/datasource-hooks.d.ts.map +1 -0
- package/dist/core/datasource-offline.d.ts +201 -0
- package/dist/core/datasource-offline.d.ts.map +1 -0
- package/dist/core/datasource.d.ts +181 -0
- package/dist/core/datasource.d.ts.map +1 -0
- package/dist/core/displayMode.d.ts +46 -0
- package/dist/core/displayMode.d.ts.map +1 -0
- package/dist/core/displayStyle.d.ts +79 -0
- package/dist/core/displayStyle.d.ts.map +1 -0
- package/dist/core/helpContext.d.ts +97 -0
- package/dist/core/helpContext.d.ts.map +1 -0
- package/dist/core/hooks.d.ts +149 -0
- package/dist/core/hooks.d.ts.map +1 -0
- package/dist/core/i18n.d.ts +10 -0
- package/dist/core/i18n.d.ts.map +1 -0
- package/dist/core/i18nDictionaries.d.ts +4 -0
- package/dist/core/i18nDictionaries.d.ts.map +1 -0
- package/dist/core/icons.d.ts +45 -0
- package/dist/core/icons.d.ts.map +1 -0
- package/dist/core/icuMessageFormat.d.ts +10 -0
- package/dist/core/icuMessageFormat.d.ts.map +1 -0
- package/dist/core/leak-detector.d.ts +263 -0
- package/dist/core/leak-detector.d.ts.map +1 -0
- package/dist/core/omniverkTypes.d.ts +164 -0
- package/dist/core/omniverkTypes.d.ts.map +1 -0
- package/dist/core/pluginSystem.d.ts +97 -0
- package/dist/core/pluginSystem.d.ts.map +1 -0
- package/dist/core/profiling.d.ts +276 -0
- package/dist/core/profiling.d.ts.map +1 -0
- package/dist/core/responsive.d.ts +107 -0
- package/dist/core/responsive.d.ts.map +1 -0
- package/dist/core/rtl.d.ts +47 -0
- package/dist/core/rtl.d.ts.map +1 -0
- package/dist/core/sanitizeHtml.d.ts +16 -0
- package/dist/core/sanitizeHtml.d.ts.map +1 -0
- package/dist/core/testing.d.ts +107 -0
- package/dist/core/testing.d.ts.map +1 -0
- package/dist/core/theme.d.ts +213 -0
- package/dist/core/theme.d.ts.map +1 -0
- package/dist/core/themeGallery.d.ts +104 -0
- package/dist/core/themeGallery.d.ts.map +1 -0
- package/dist/core/themePacks.d.ts +53 -0
- package/dist/core/themePacks.d.ts.map +1 -0
- package/dist/core/themePacksExtended.d.ts +59 -0
- package/dist/core/themePacksExtended.d.ts.map +1 -0
- package/dist/core/themePresets.d.ts +10 -0
- package/dist/core/themePresets.d.ts.map +1 -0
- package/dist/core/themeVariants.d.ts +204 -0
- package/dist/core/themeVariants.d.ts.map +1 -0
- package/dist/core/touch.d.ts +208 -0
- package/dist/core/touch.d.ts.map +1 -0
- package/dist/core/traceless.d.ts +461 -0
- package/dist/core/traceless.d.ts.map +1 -0
- package/dist/core/types.d.ts +105 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/useThemeIsDark.d.ts +15 -0
- package/dist/core/useThemeIsDark.d.ts.map +1 -0
- package/dist/index.cjs +128 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +49 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +16881 -0
- package/dist/index.mjs.map +1 -0
- package/dist/performance/concurrent.d.ts +190 -0
- package/dist/performance/concurrent.d.ts.map +1 -0
- package/dist/performance/images.d.ts +189 -0
- package/dist/performance/images.d.ts.map +1 -0
- package/dist/performance/index.d.ts +17 -0
- package/dist/performance/index.d.ts.map +1 -0
- package/dist/performance/memory.d.ts +223 -0
- package/dist/performance/memory.d.ts.map +1 -0
- package/dist/performance/virtualization.d.ts +166 -0
- package/dist/performance/virtualization.d.ts.map +1 -0
- package/dist/performance/workers.d.ts +125 -0
- package/dist/performance/workers.d.ts.map +1 -0
- package/dist/viewSchema.d.ts +81 -0
- package/dist/viewSchema.d.ts.map +1 -0
- package/package.json +61 -0
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file themeVariants.ts
|
|
3
|
+
* @description Extended theme variants - radius, shadows, fills, gradients, effects
|
|
4
|
+
*
|
|
5
|
+
* Allows fine-grained customization of theme appearance
|
|
6
|
+
*
|
|
7
|
+
* @version 1.0.0
|
|
8
|
+
* @since 2026-03
|
|
9
|
+
* @license MIT
|
|
10
|
+
*/
|
|
11
|
+
import type { NiceTheme } from './theme';
|
|
12
|
+
/**
|
|
13
|
+
* Border radius variants
|
|
14
|
+
*/
|
|
15
|
+
export type RadiusVariant = 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full';
|
|
16
|
+
/**
|
|
17
|
+
* Shadow variants
|
|
18
|
+
*/
|
|
19
|
+
export type ShadowVariant = 'none' | 'subtle' | 'md' | 'lg' | 'xl' | 'inner' | 'colored' | 'glow';
|
|
20
|
+
/**
|
|
21
|
+
* Fill style variants
|
|
22
|
+
*/
|
|
23
|
+
export type FillVariant = 'solid' | 'gradient-linear' | 'gradient-radial' | 'gradient-conic' | 'glass' | 'frosted' | 'pattern' | 'texture' | 'mesh';
|
|
24
|
+
/**
|
|
25
|
+
* Button style variants
|
|
26
|
+
*/
|
|
27
|
+
export type ButtonStyleVariant = 'flat' | 'raised' | 'outlined' | 'ghost' | 'soft' | 'gradient' | '3d' | 'neumorphic' | 'pill' | 'link' | 'brutal';
|
|
28
|
+
/**
|
|
29
|
+
* Input style variants
|
|
30
|
+
*/
|
|
31
|
+
export type InputStyleVariant = 'bordered' | 'filled' | 'underlined' | 'floating' | 'soft' | 'neumorphic' | 'pill' | 'flush';
|
|
32
|
+
/**
|
|
33
|
+
* Card style variants
|
|
34
|
+
*/
|
|
35
|
+
export type CardStyleVariant = 'flat' | 'elevated' | 'bordered' | 'glass' | 'gradient' | 'neumorphic' | 'outlined' | 'paper';
|
|
36
|
+
/**
|
|
37
|
+
* Badge / tag style variants
|
|
38
|
+
*/
|
|
39
|
+
export type BadgeStyleVariant = 'solid' | 'soft' | 'outlined' | 'dot' | 'pill' | 'gradient';
|
|
40
|
+
/**
|
|
41
|
+
* Tab style variants
|
|
42
|
+
*/
|
|
43
|
+
export type TabStyleVariant = 'underline' | 'pills' | 'enclosed' | 'soft' | 'lifted' | 'bordered';
|
|
44
|
+
/**
|
|
45
|
+
* Toggle / switch style variants
|
|
46
|
+
*/
|
|
47
|
+
export type ToggleStyleVariant = 'default' | 'ios' | 'flat' | 'pill' | 'square';
|
|
48
|
+
/**
|
|
49
|
+
* Tooltip style variants
|
|
50
|
+
*/
|
|
51
|
+
export type TooltipStyleVariant = 'dark' | 'light' | 'primary' | 'glass' | 'bordered';
|
|
52
|
+
/**
|
|
53
|
+
* Modal / dialog style variants
|
|
54
|
+
*/
|
|
55
|
+
export type ModalStyleVariant = 'default' | 'centered' | 'fullscreen' | 'sheet' | 'glass' | 'drawer';
|
|
56
|
+
/**
|
|
57
|
+
* Table style variants
|
|
58
|
+
*/
|
|
59
|
+
export type TableStyleVariant = 'default' | 'striped' | 'bordered' | 'compact' | 'hoverable' | 'minimal';
|
|
60
|
+
/**
|
|
61
|
+
* Menu / dropdown style variants
|
|
62
|
+
*/
|
|
63
|
+
export type MenuStyleVariant = 'default' | 'compact' | 'glass' | 'bordered' | 'floating';
|
|
64
|
+
/**
|
|
65
|
+
* Animation intensity
|
|
66
|
+
*/
|
|
67
|
+
export type AnimationIntensity = 'none' | 'subtle' | 'normal' | 'playful' | 'dramatic';
|
|
68
|
+
/**
|
|
69
|
+
* Density variants
|
|
70
|
+
*/
|
|
71
|
+
export type DensityVariant = 'compact' | 'normal' | 'comfortable' | 'spacious';
|
|
72
|
+
/**
|
|
73
|
+
* Border radius values for each variant
|
|
74
|
+
*/
|
|
75
|
+
export declare const RADIUS_VALUES: Record<RadiusVariant, Record<string, string>>;
|
|
76
|
+
/**
|
|
77
|
+
* Shadow values for each variant
|
|
78
|
+
*/
|
|
79
|
+
export declare const SHADOW_VALUES: Record<ShadowVariant, string>;
|
|
80
|
+
/**
|
|
81
|
+
* Shadow intensity multipliers for dark mode
|
|
82
|
+
*/
|
|
83
|
+
export declare const SHADOW_DARK_MODE_VALUES: Record<ShadowVariant, string>;
|
|
84
|
+
/**
|
|
85
|
+
* Density spacing values
|
|
86
|
+
*/
|
|
87
|
+
export declare const DENSITY_VALUES: Record<DensityVariant, Record<string, string>>;
|
|
88
|
+
/**
|
|
89
|
+
* Animation timing presets
|
|
90
|
+
*/
|
|
91
|
+
export declare const ANIMATION_VALUES: Record<AnimationIntensity, Record<string, string>>;
|
|
92
|
+
/**
|
|
93
|
+
* Generate fill CSS for a variant
|
|
94
|
+
*/
|
|
95
|
+
export declare function generateFillStyles(variant: FillVariant, primaryColor: string, secondaryColor?: string): Record<string, string>;
|
|
96
|
+
/**
|
|
97
|
+
* Generate button styles for a variant
|
|
98
|
+
*/
|
|
99
|
+
export declare function generateButtonStyles(variant: ButtonStyleVariant, color: string): Record<string, string>;
|
|
100
|
+
/**
|
|
101
|
+
* Generate input styles for a variant
|
|
102
|
+
*/
|
|
103
|
+
export declare function generateInputStyles(variant: InputStyleVariant): Record<string, string>;
|
|
104
|
+
/**
|
|
105
|
+
* Generate card styles for a variant
|
|
106
|
+
*/
|
|
107
|
+
export declare function generateCardStyles(variant: CardStyleVariant): Record<string, string>;
|
|
108
|
+
/** Generate badge styles */
|
|
109
|
+
export declare function generateBadgeStyles(variant: BadgeStyleVariant, color: string): Record<string, string>;
|
|
110
|
+
/** Generate tab styles */
|
|
111
|
+
export declare function generateTabStyles(variant: TabStyleVariant, activeColor: string): Record<string, string>;
|
|
112
|
+
/** Generate toggle / switch styles */
|
|
113
|
+
export declare function generateToggleStyles(variant: ToggleStyleVariant): Record<string, string>;
|
|
114
|
+
/** Generate tooltip styles */
|
|
115
|
+
export declare function generateTooltipStyles(variant: TooltipStyleVariant): Record<string, string>;
|
|
116
|
+
/** Generate table styles */
|
|
117
|
+
export declare function generateTableStyles(variant: TableStyleVariant): Record<string, string>;
|
|
118
|
+
/**
|
|
119
|
+
* Theme variant configuration
|
|
120
|
+
*/
|
|
121
|
+
export interface ThemeVariantConfig {
|
|
122
|
+
/** Border radius variant */
|
|
123
|
+
radius: RadiusVariant;
|
|
124
|
+
/** Shadow variant */
|
|
125
|
+
shadow: ShadowVariant;
|
|
126
|
+
/** Fill style */
|
|
127
|
+
fill: FillVariant;
|
|
128
|
+
/** Button style */
|
|
129
|
+
buttonStyle: ButtonStyleVariant;
|
|
130
|
+
/** Input style */
|
|
131
|
+
inputStyle: InputStyleVariant;
|
|
132
|
+
/** Card style */
|
|
133
|
+
cardStyle: CardStyleVariant;
|
|
134
|
+
/** Badge style */
|
|
135
|
+
badgeStyle?: BadgeStyleVariant;
|
|
136
|
+
/** Tab style */
|
|
137
|
+
tabStyle?: TabStyleVariant;
|
|
138
|
+
/** Toggle style */
|
|
139
|
+
toggleStyle?: ToggleStyleVariant;
|
|
140
|
+
/** Tooltip style */
|
|
141
|
+
tooltipStyle?: TooltipStyleVariant;
|
|
142
|
+
/** Modal style */
|
|
143
|
+
modalStyle?: ModalStyleVariant;
|
|
144
|
+
/** Table style */
|
|
145
|
+
tableStyle?: TableStyleVariant;
|
|
146
|
+
/** Menu style */
|
|
147
|
+
menuStyle?: MenuStyleVariant;
|
|
148
|
+
/** Animation intensity */
|
|
149
|
+
animation: AnimationIntensity;
|
|
150
|
+
/** Density */
|
|
151
|
+
density: DensityVariant;
|
|
152
|
+
/** Custom background image/pattern */
|
|
153
|
+
backgroundImage?: string;
|
|
154
|
+
/** Gradient overlay for backgrounds */
|
|
155
|
+
backgroundOverlay?: string;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Default variant configuration
|
|
159
|
+
*/
|
|
160
|
+
export declare const DEFAULT_VARIANT_CONFIG: ThemeVariantConfig;
|
|
161
|
+
/**
|
|
162
|
+
* Preset variant configurations
|
|
163
|
+
*/
|
|
164
|
+
export declare const VARIANT_PRESETS: Record<string, ThemeVariantConfig>;
|
|
165
|
+
/**
|
|
166
|
+
* Generate CSS variables from variant config.
|
|
167
|
+
*
|
|
168
|
+
* @param config Resolved variant configuration.
|
|
169
|
+
* @param selector CSS selector the declarations are emitted under.
|
|
170
|
+
* Defaults to `:root` (global). Pass e.g.
|
|
171
|
+
* `'[data-ntd-provider="pr0"]'` to scope the variables
|
|
172
|
+
* to one provider instance.
|
|
173
|
+
*/
|
|
174
|
+
export declare function generateVariantCSS(config: ThemeVariantConfig, selector?: string): string;
|
|
175
|
+
/**
|
|
176
|
+
* Apply variant config to DOM.
|
|
177
|
+
*
|
|
178
|
+
* When `scopeId` is omitted, declarations are written under `:root` to a
|
|
179
|
+
* single global `<style id="ntd-variant-styles">` (previous behaviour).
|
|
180
|
+
*
|
|
181
|
+
* When `scopeId` is provided, declarations are scoped to
|
|
182
|
+
* `[data-ntd-provider="<scopeId>"]` and written to a dedicated
|
|
183
|
+
* `<style id="ntd-variant-styles-<scopeId>">`. The attribute is also
|
|
184
|
+
* set on `element` so descendants match the scope. This lets two
|
|
185
|
+
* NiceThemeProviders coexist with different `displayStyle`s without
|
|
186
|
+
* fighting over one global style element.
|
|
187
|
+
*/
|
|
188
|
+
export declare function applyVariantConfig(config: ThemeVariantConfig, element?: HTMLElement, scopeId?: string): void;
|
|
189
|
+
/**
|
|
190
|
+
* Remove a scoped variant config previously applied via
|
|
191
|
+
* `applyVariantConfig(config, element, scopeId)`.
|
|
192
|
+
*
|
|
193
|
+
* Safe to call on unmount; if the style element is absent this is a
|
|
194
|
+
* no-op. Does not remove the shared global `ntd-variant-styles` element.
|
|
195
|
+
*/
|
|
196
|
+
export declare function removeVariantConfig(scopeId: string, element?: HTMLElement): void;
|
|
197
|
+
/**
|
|
198
|
+
* Create theme with variants applied
|
|
199
|
+
* Returns a modified theme with variant-specific CSS custom properties
|
|
200
|
+
*/
|
|
201
|
+
export declare function applyVariantsToTheme(theme: NiceTheme, config: Partial<ThemeVariantConfig>): NiceTheme & {
|
|
202
|
+
variantConfig: ThemeVariantConfig;
|
|
203
|
+
};
|
|
204
|
+
//# sourceMappingURL=themeVariants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"themeVariants.d.ts","sourceRoot":"","sources":["../../src/core/themeVariants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface TouchPoint {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
timestamp: number;
|
|
6
|
+
}
|
|
7
|
+
export interface SwipeGesture {
|
|
8
|
+
direction: 'left' | 'right' | 'up' | 'down';
|
|
9
|
+
distance: number;
|
|
10
|
+
velocity: number;
|
|
11
|
+
duration: number;
|
|
12
|
+
}
|
|
13
|
+
export interface PinchGesture {
|
|
14
|
+
scale: number;
|
|
15
|
+
center: {
|
|
16
|
+
x: number;
|
|
17
|
+
y: number;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export interface PanGesture {
|
|
21
|
+
deltaX: number;
|
|
22
|
+
deltaY: number;
|
|
23
|
+
velocityX: number;
|
|
24
|
+
velocityY: number;
|
|
25
|
+
}
|
|
26
|
+
export interface UseSwipeOptions {
|
|
27
|
+
/** Minimum distance in px to trigger a swipe (default 50) */
|
|
28
|
+
threshold?: number;
|
|
29
|
+
/** Maximum time in ms for a valid swipe (default 300) */
|
|
30
|
+
maxDuration?: number;
|
|
31
|
+
/** Callback when swipe is detected */
|
|
32
|
+
onSwipe?: (gesture: SwipeGesture) => void;
|
|
33
|
+
/** Callback when swiping left */
|
|
34
|
+
onSwipeLeft?: (gesture: SwipeGesture) => void;
|
|
35
|
+
/** Callback when swiping right */
|
|
36
|
+
onSwipeRight?: (gesture: SwipeGesture) => void;
|
|
37
|
+
/** Callback when swiping up */
|
|
38
|
+
onSwipeUp?: (gesture: SwipeGesture) => void;
|
|
39
|
+
/** Callback when swiping down */
|
|
40
|
+
onSwipeDown?: (gesture: SwipeGesture) => void;
|
|
41
|
+
/** Whether swipe detection is enabled (default true) */
|
|
42
|
+
enabled?: boolean;
|
|
43
|
+
}
|
|
44
|
+
export interface UseSwipeResult {
|
|
45
|
+
ref: React.RefObject<HTMLElement | null>;
|
|
46
|
+
isSwiping: boolean;
|
|
47
|
+
swipeDirection: SwipeGesture['direction'] | null;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Hook for detecting swipe gestures on touch devices.
|
|
51
|
+
* Returns a ref to attach to the swipeable element.
|
|
52
|
+
*/
|
|
53
|
+
export declare function useSwipe(options?: UseSwipeOptions): UseSwipeResult;
|
|
54
|
+
export interface UsePinchOptions {
|
|
55
|
+
/** Callback during pinch gesture */
|
|
56
|
+
onPinch?: (gesture: PinchGesture) => void;
|
|
57
|
+
/** Callback when pinch starts */
|
|
58
|
+
onPinchStart?: () => void;
|
|
59
|
+
/** Callback when pinch ends */
|
|
60
|
+
onPinchEnd?: (finalScale: number) => void;
|
|
61
|
+
/** Minimum scale factor (default 0.5) */
|
|
62
|
+
minScale?: number;
|
|
63
|
+
/** Maximum scale factor (default 3) */
|
|
64
|
+
maxScale?: number;
|
|
65
|
+
/** Whether pinch is enabled (default true) */
|
|
66
|
+
enabled?: boolean;
|
|
67
|
+
}
|
|
68
|
+
export interface UsePinchResult {
|
|
69
|
+
ref: React.RefObject<HTMLElement | null>;
|
|
70
|
+
scale: number;
|
|
71
|
+
isPinching: boolean;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Hook for detecting pinch-to-zoom gestures.
|
|
75
|
+
*/
|
|
76
|
+
export declare function usePinch(options?: UsePinchOptions): UsePinchResult;
|
|
77
|
+
export interface UsePanOptions {
|
|
78
|
+
/** Callback during pan */
|
|
79
|
+
onPan?: (gesture: PanGesture) => void;
|
|
80
|
+
/** Callback when pan starts */
|
|
81
|
+
onPanStart?: () => void;
|
|
82
|
+
/** Callback when pan ends */
|
|
83
|
+
onPanEnd?: (gesture: PanGesture) => void;
|
|
84
|
+
/** Whether pan is enabled (default true) */
|
|
85
|
+
enabled?: boolean;
|
|
86
|
+
}
|
|
87
|
+
export interface UsePanResult {
|
|
88
|
+
ref: React.RefObject<HTMLElement | null>;
|
|
89
|
+
isPanning: boolean;
|
|
90
|
+
deltaX: number;
|
|
91
|
+
deltaY: number;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Hook for detecting pan/drag gestures.
|
|
95
|
+
*/
|
|
96
|
+
export declare function usePan(options?: UsePanOptions): UsePanResult;
|
|
97
|
+
export interface UsePullToRefreshOptions {
|
|
98
|
+
/** Callback when refresh is triggered */
|
|
99
|
+
onRefresh: () => Promise<void> | void;
|
|
100
|
+
/** Pull distance to trigger refresh (default 80) */
|
|
101
|
+
threshold?: number;
|
|
102
|
+
/** Maximum pull distance (default 120) */
|
|
103
|
+
maxPull?: number;
|
|
104
|
+
/** Whether pull to refresh is enabled (default true) */
|
|
105
|
+
enabled?: boolean;
|
|
106
|
+
}
|
|
107
|
+
export interface UsePullToRefreshResult {
|
|
108
|
+
ref: React.RefObject<HTMLElement | null>;
|
|
109
|
+
isPulling: boolean;
|
|
110
|
+
isRefreshing: boolean;
|
|
111
|
+
pullDistance: number;
|
|
112
|
+
pullProgress: number;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Hook for implementing pull-to-refresh functionality.
|
|
116
|
+
*/
|
|
117
|
+
export declare function usePullToRefresh(options: UsePullToRefreshOptions): UsePullToRefreshResult;
|
|
118
|
+
export interface SwipeAction {
|
|
119
|
+
/** Unique key for the action */
|
|
120
|
+
key: string;
|
|
121
|
+
/** Icon or text content */
|
|
122
|
+
content: React.ReactNode;
|
|
123
|
+
/** Background color */
|
|
124
|
+
color: string;
|
|
125
|
+
/** Callback when action is triggered */
|
|
126
|
+
onAction: () => void;
|
|
127
|
+
}
|
|
128
|
+
export interface NiceSwipeableListItemProps {
|
|
129
|
+
/** Content of the list item */
|
|
130
|
+
children: React.ReactNode;
|
|
131
|
+
/** Actions revealed when swiping left */
|
|
132
|
+
leftActions?: SwipeAction[];
|
|
133
|
+
/** Actions revealed when swiping right */
|
|
134
|
+
rightActions?: SwipeAction[];
|
|
135
|
+
/** Width of each action button (default 80) */
|
|
136
|
+
actionWidth?: number;
|
|
137
|
+
/** Maximum swipe distance as multiplier of action buttons (default 1.5) */
|
|
138
|
+
maxSwipe?: number;
|
|
139
|
+
/** Threshold to auto-complete swipe (default 0.5) */
|
|
140
|
+
threshold?: number;
|
|
141
|
+
/** Additional className */
|
|
142
|
+
className?: string;
|
|
143
|
+
/** Additional styles */
|
|
144
|
+
style?: React.CSSProperties;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* A list item component with swipe-to-reveal actions (like iOS).
|
|
148
|
+
*/
|
|
149
|
+
export declare const NiceSwipeableListItem: React.FC<NiceSwipeableListItemProps>;
|
|
150
|
+
export interface NicePullToRefreshProps {
|
|
151
|
+
/** Content to display */
|
|
152
|
+
children: React.ReactNode;
|
|
153
|
+
/** Callback when refresh triggered */
|
|
154
|
+
onRefresh: () => Promise<void>;
|
|
155
|
+
/** Pull threshold to trigger refresh (default 80) */
|
|
156
|
+
threshold?: number;
|
|
157
|
+
/** Custom pulling indicator */
|
|
158
|
+
pullingContent?: React.ReactNode;
|
|
159
|
+
/** Custom refreshing indicator */
|
|
160
|
+
refreshingContent?: React.ReactNode;
|
|
161
|
+
/** Whether pull to refresh is enabled */
|
|
162
|
+
enabled?: boolean;
|
|
163
|
+
/** Additional className */
|
|
164
|
+
className?: string;
|
|
165
|
+
/** Additional styles */
|
|
166
|
+
style?: React.CSSProperties;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* A container component that adds pull-to-refresh functionality.
|
|
170
|
+
*/
|
|
171
|
+
export declare const NicePullToRefresh: React.FC<NicePullToRefreshProps>;
|
|
172
|
+
export type HapticFeedbackType = 'light' | 'medium' | 'heavy' | 'selection' | 'success' | 'warning' | 'error';
|
|
173
|
+
/**
|
|
174
|
+
* Triggers haptic feedback on supported devices.
|
|
175
|
+
* Falls back silently if not supported.
|
|
176
|
+
*/
|
|
177
|
+
export declare function triggerHaptic(type?: HapticFeedbackType): void;
|
|
178
|
+
/**
|
|
179
|
+
* Hook that returns a function to trigger haptic feedback.
|
|
180
|
+
*/
|
|
181
|
+
export declare function useHaptic(): (type?: HapticFeedbackType) => void;
|
|
182
|
+
export interface TouchTargetProps {
|
|
183
|
+
/** Minimum touch target size in pixels (default 44, WCAG 2.5.8) */
|
|
184
|
+
minSize?: number;
|
|
185
|
+
/** Content to wrap */
|
|
186
|
+
children: React.ReactNode;
|
|
187
|
+
/** Additional className */
|
|
188
|
+
className?: string;
|
|
189
|
+
/** Additional styles */
|
|
190
|
+
style?: React.CSSProperties;
|
|
191
|
+
/** onClick handler */
|
|
192
|
+
onClick?: () => void;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Wrapper component that ensures minimum touch target size.
|
|
196
|
+
* Adds invisible padding to small elements to meet WCAG 2.5.8.
|
|
197
|
+
*/
|
|
198
|
+
export declare const NiceTouchTarget: React.FC<TouchTargetProps>;
|
|
199
|
+
export interface UseVirtualKeyboardResult {
|
|
200
|
+
isKeyboardVisible: boolean;
|
|
201
|
+
keyboardHeight: number;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Hook to detect virtual keyboard visibility on mobile devices.
|
|
205
|
+
* Uses viewport height changes as the primary detection method.
|
|
206
|
+
*/
|
|
207
|
+
export declare function useVirtualKeyboard(): UseVirtualKeyboardResult;
|
|
208
|
+
//# sourceMappingURL=touch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"touch.d.ts","sourceRoot":"","sources":["../../src/core/touch.tsx"],"names":[],"mappings":"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"}
|