@undefine-ui/design-system 2.10.1 → 2.12.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/dist/index.d.cts CHANGED
@@ -18,8 +18,8 @@ import { FormHelperTextProps } from '@mui/material/FormHelperText';
18
18
  import { FormControlLabelProps } from '@mui/material/FormControlLabel';
19
19
  import { RadioProps } from '@mui/material/Radio';
20
20
  import { RadioGroupProps } from '@mui/material/RadioGroup';
21
- import { SwitchProps } from '@mui/material/Switch';
22
21
  import { TextFieldProps } from '@mui/material/TextField';
22
+ import { SwitchProps } from '@mui/material/Switch';
23
23
 
24
24
  declare const isEqual: (a: any, b: any) => boolean;
25
25
  declare const orderBy: <T>(array: T[], properties: (keyof T)[], orders?: ("asc" | "desc")[]) => T[];
@@ -234,6 +234,115 @@ type UseSetStateReturnType<T> = {
234
234
  */
235
235
  declare const useSetState: <T extends Record<string, any>>(initialState: T) => UseSetStateReturnType<T>;
236
236
 
237
+ interface CountdownState {
238
+ days: string;
239
+ hours: string;
240
+ minutes: string;
241
+ seconds: string;
242
+ }
243
+ /**
244
+ * A custom hook for creating a countdown timer to a specific date/time.
245
+ *
246
+ * Calculates and returns the time remaining until a target date, automatically
247
+ * updating every second. Returns zero values when the target time is reached.
248
+ *
249
+ * @param date - The target date/time as a Date object, ISO string, or Unix timestamp
250
+ *
251
+ * @returns An object containing:
252
+ * - `days` (string): Days remaining, zero-padded (e.g., "00", "05", "12")
253
+ * - `hours` (string): Hours remaining, zero-padded (e.g., "00", "23")
254
+ * - `minutes` (string): Minutes remaining, zero-padded (e.g., "00", "59")
255
+ * - `seconds` (string): Seconds remaining, zero-padded (e.g., "00", "59")
256
+ *
257
+ * @example
258
+ * ```tsx
259
+ * function EventCountdown() {
260
+ * const countdown = useCountdownDate(new Date('2025-12-31T23:59:59'));
261
+ *
262
+ * return (
263
+ * <div>
264
+ * <h2>Time Until New Year:</h2>
265
+ * <p>
266
+ * {countdown.days} days, {countdown.hours} hours,
267
+ * {countdown.minutes} minutes, {countdown.seconds} seconds
268
+ * </p>
269
+ * </div>
270
+ * );
271
+ * }
272
+ * ```
273
+ *
274
+ * @example
275
+ * ```tsx
276
+ * // Using Unix timestamp
277
+ * const countdown = useCountdownDate(1735689599000);
278
+ *
279
+ * // Using ISO string
280
+ * const countdown = useCountdownDate('2025-12-31T23:59:59Z');
281
+ * ```
282
+ */
283
+ declare const useCountdownDate: (date: Date | string | number) => CountdownState;
284
+ interface UseCountdownSecondsReturn {
285
+ counting: boolean;
286
+ countdown: number;
287
+ startCountdown: () => void;
288
+ setCountdown: React.Dispatch<React.SetStateAction<number>>;
289
+ }
290
+ /**
291
+ * A custom hook for creating a countdown timer that counts down from a specified number of seconds.
292
+ *
293
+ * Provides manual control to start the countdown and tracks whether counting is in progress.
294
+ * Automatically cleans up intervals on unmount.
295
+ *
296
+ * @param initCountdown - Initial number of seconds for the countdown
297
+ *
298
+ * @returns An object containing:
299
+ * - `counting` (boolean): Whether countdown is actively running (between 0 and initCountdown)
300
+ * - `countdown` (number): Current countdown value in seconds
301
+ * - `startCountdown` (function): Function to start or restart the countdown
302
+ * - `setCountdown` (function): Direct setter for the countdown value
303
+ *
304
+ * @example
305
+ * ```tsx
306
+ * function OTPTimer() {
307
+ * const { countdown, counting, startCountdown } = useCountdownSeconds(60);
308
+ *
309
+ * return (
310
+ * <div>
311
+ * <p>Resend code in: {countdown}s</p>
312
+ * <button onClick={startCountdown} disabled={counting}>
313
+ * {counting ? 'Waiting...' : 'Resend Code'}
314
+ * </button>
315
+ * </div>
316
+ * );
317
+ * }
318
+ * ```
319
+ *
320
+ * @example
321
+ * ```tsx
322
+ * function SessionTimer() {
323
+ * const { countdown, counting, startCountdown, setCountdown } = useCountdownSeconds(300);
324
+ *
325
+ * useEffect(() => {
326
+ * // Start countdown when component mounts
327
+ * startCountdown();
328
+ * }, [startCountdown]);
329
+ *
330
+ * const extendSession = () => {
331
+ * // Add 60 more seconds
332
+ * setCountdown((prev) => prev + 60);
333
+ * };
334
+ *
335
+ * return (
336
+ * <div>
337
+ * <p>Session expires in: {Math.floor(countdown / 60)}:{countdown % 60}</p>
338
+ * <button onClick={extendSession}>Extend Session</button>
339
+ * </div>
340
+ * );
341
+ * }
342
+ * ```
343
+ */
344
+ declare const useCountdownSeconds: (initCountdown: number) => UseCountdownSecondsReturn;
345
+
237
346
  type ReturnType = boolean;
238
347
  type Query = 'up' | 'down' | 'between' | 'only';
239
348
  type Value = Breakpoint | number;
@@ -1740,7 +1849,21 @@ interface RHFUploadProps extends Omit<UploadProps, 'value'> {
1740
1849
  }
1741
1850
  declare const RHFUpload: ({ name, multiple, helperText, ...rest }: RHFUploadProps) => react_jsx_runtime.JSX.Element;
1742
1851
 
1852
+ interface OTPInputProps extends Omit<TextFieldProps, 'onChange'> {
1853
+ length?: number;
1854
+ onChange?: (otp: string) => void;
1855
+ onComplete?: (otp: string) => void;
1856
+ containerProps?: BoxProps;
1857
+ }
1858
+ declare const OTPInput: (props: OTPInputProps) => react_jsx_runtime.JSX.Element;
1859
+
1860
+ interface RHFOTPInputProps extends Omit<OTPInputProps, 'name'> {
1861
+ name: string;
1862
+ }
1863
+ declare const RHFOTPInput: ({ name, length, helperText, ...rest }: RHFOTPInputProps) => react_jsx_runtime.JSX.Element;
1864
+
1743
1865
  declare const Field: {
1866
+ OTP: ({ name, length, helperText, ...rest }: RHFOTPInputProps) => react_jsx_runtime.JSX.Element;
1744
1867
  Switch: ({ name, description, helperText, label, sx, slotProps, ...other }: Omit<_mui_material.FormControlLabelProps, "name" | "control"> & {
1745
1868
  name: string;
1746
1869
  description?: string;
@@ -1803,4 +1926,4 @@ interface LoadingScreenProps extends BoxProps {
1803
1926
  declare const LoadingScreen: ({ portal, sx, ...rest }: LoadingScreenProps) => react_jsx_runtime.JSX.Element;
1804
1927
  declare const SplashScreen: ({ portal, sx, ...rest }: LoadingScreenProps) => react_jsx_runtime.JSX.Element;
1805
1928
 
1806
- export { AnimatedLogo, BellNotification, CheckboxDefault, CheckboxIndeterminate, CheckboxSelect, ClipboardCheck, CloudUpload, type ColorSchema, Copy, CopyButton, type CustomShadowOptions, type CustomSpacingOptions, Eye, EyeClosed, Field, Form, Icon, type IconProps, type IconType, InfoCircleFill, InfoCircleOutline, KeyCommand, Loader, LoadingScreen, LocalStorageAvailable, LocalStorageGetItem, Logo, LongArrowUpLeftSolid, NavArrowDown, NavArrowLeft, NavArrowRight, RHFAutocomplete, type RHFAutocompleteProps, RHFCheckbox, type RHFCheckboxProps, RHFMultiCheckbox, type RHFMultiCheckboxOption, type RHFMultiCheckboxProps, RHFMultiSwitch, RHFRadioGroup, type RHFRadioGroupProps, RHFSwitch, RHFTextField, RHFUpload, type RHFUploadProps, RadioDefault, RadioSelect, type RadiusOptions, STORAGE_KEY, Search, Settings, SettingsConsumer, SettingsContext, type SettingsContextProps, SettingsProvider, type SettingsValueProps, SplashScreen, Table, type TableNoRowsProps, TablePagination, ThemeProvider, Trash, Upload, type UploadProps, type UseBooleanReturnType, type UseSetStateReturnType, UserFill, UserOutline, XMark, XMarkSolid, action, background, baseAction, basePalette, bgBlur, bgGradient, border, borderGradient, breakpoints, colorSchemes, common, components, createPaletteChannel, createShadowColor, createTheme, customShadows, customSpacing, darkPalette, defaultSettings, error, fCurrency, fData, fNumber, fPercent, fShortenNumber, formatFullname, getCurrencySymbol, getInitColorSchemeScript, getInitials, getStorage, grey, hexToRgbChannel, hideScrollX, hideScrollY, icon, iconClasses, info, isEqual, lightPalette, maxLine, mediaQueries, menuItem, neutral, orderBy, paper, paramCase, primary, primaryFont, pxToRem, radius, remToPx, removeStorage, responsiveFontSizes, schemeConfig, secondary, secondaryFont, sentenceCase, setFont, setStorage, shadows, snakeCase, splitFullname, stylesMode, success, surface, tertiaryFont, text, textGradient, typography, updateComponentsWithSettings, updateCoreWithSettings, useBoolean, useCopyToClipboard, useEventListener, useLocalStorage, usePopover, useResponsive, useScrollOffSetTop, useSetState, useSettings, useWidth, varAlpha, warning };
1929
+ export { AnimatedLogo, BellNotification, CheckboxDefault, CheckboxIndeterminate, CheckboxSelect, ClipboardCheck, CloudUpload, type ColorSchema, Copy, CopyButton, type CustomShadowOptions, type CustomSpacingOptions, Eye, EyeClosed, Field, Form, Icon, type IconProps, type IconType, InfoCircleFill, InfoCircleOutline, KeyCommand, Loader, LoadingScreen, LocalStorageAvailable, LocalStorageGetItem, Logo, LongArrowUpLeftSolid, NavArrowDown, NavArrowLeft, NavArrowRight, OTPInput, type OTPInputProps, RHFAutocomplete, type RHFAutocompleteProps, RHFCheckbox, type RHFCheckboxProps, RHFMultiCheckbox, type RHFMultiCheckboxOption, type RHFMultiCheckboxProps, RHFMultiSwitch, RHFOTPInput, type RHFOTPInputProps, RHFRadioGroup, type RHFRadioGroupProps, RHFSwitch, RHFTextField, RHFUpload, type RHFUploadProps, RadioDefault, RadioSelect, type RadiusOptions, STORAGE_KEY, Search, Settings, SettingsConsumer, SettingsContext, type SettingsContextProps, SettingsProvider, type SettingsValueProps, SplashScreen, Table, type TableNoRowsProps, TablePagination, ThemeProvider, Trash, Upload, type UploadProps, type UseBooleanReturnType, type UseSetStateReturnType, UserFill, UserOutline, XMark, XMarkSolid, action, background, baseAction, basePalette, bgBlur, bgGradient, border, borderGradient, breakpoints, colorSchemes, common, components, createPaletteChannel, createShadowColor, createTheme, customShadows, customSpacing, darkPalette, defaultSettings, error, fCurrency, fData, fNumber, fPercent, fShortenNumber, formatFullname, getCurrencySymbol, getInitColorSchemeScript, getInitials, getStorage, grey, hexToRgbChannel, hideScrollX, hideScrollY, icon, iconClasses, info, isEqual, lightPalette, maxLine, mediaQueries, menuItem, neutral, orderBy, paper, paramCase, primary, primaryFont, pxToRem, radius, remToPx, removeStorage, responsiveFontSizes, schemeConfig, secondary, secondaryFont, sentenceCase, setFont, setStorage, shadows, snakeCase, splitFullname, stylesMode, success, surface, tertiaryFont, text, textGradient, typography, updateComponentsWithSettings, updateCoreWithSettings, useBoolean, useCopyToClipboard, useCountdownDate, useCountdownSeconds, useEventListener, useLocalStorage, usePopover, useResponsive, useScrollOffSetTop, useSetState, useSettings, useWidth, varAlpha, warning };
package/dist/index.d.ts CHANGED
@@ -18,8 +18,8 @@ import { FormHelperTextProps } from '@mui/material/FormHelperText';
18
18
  import { FormControlLabelProps } from '@mui/material/FormControlLabel';
19
19
  import { RadioProps } from '@mui/material/Radio';
20
20
  import { RadioGroupProps } from '@mui/material/RadioGroup';
21
- import { SwitchProps } from '@mui/material/Switch';
22
21
  import { TextFieldProps } from '@mui/material/TextField';
22
+ import { SwitchProps } from '@mui/material/Switch';
23
23
 
24
24
  declare const isEqual: (a: any, b: any) => boolean;
25
25
  declare const orderBy: <T>(array: T[], properties: (keyof T)[], orders?: ("asc" | "desc")[]) => T[];
@@ -234,6 +234,115 @@ type UseSetStateReturnType<T> = {
234
234
  */
235
235
  declare const useSetState: <T extends Record<string, any>>(initialState: T) => UseSetStateReturnType<T>;
236
236
 
237
+ interface CountdownState {
238
+ days: string;
239
+ hours: string;
240
+ minutes: string;
241
+ seconds: string;
242
+ }
243
+ /**
244
+ * A custom hook for creating a countdown timer to a specific date/time.
245
+ *
246
+ * Calculates and returns the time remaining until a target date, automatically
247
+ * updating every second. Returns zero values when the target time is reached.
248
+ *
249
+ * @param date - The target date/time as a Date object, ISO string, or Unix timestamp
250
+ *
251
+ * @returns An object containing:
252
+ * - `days` (string): Days remaining, zero-padded (e.g., "00", "05", "12")
253
+ * - `hours` (string): Hours remaining, zero-padded (e.g., "00", "23")
254
+ * - `minutes` (string): Minutes remaining, zero-padded (e.g., "00", "59")
255
+ * - `seconds` (string): Seconds remaining, zero-padded (e.g., "00", "59")
256
+ *
257
+ * @example
258
+ * ```tsx
259
+ * function EventCountdown() {
260
+ * const countdown = useCountdownDate(new Date('2025-12-31T23:59:59'));
261
+ *
262
+ * return (
263
+ * <div>
264
+ * <h2>Time Until New Year:</h2>
265
+ * <p>
266
+ * {countdown.days} days, {countdown.hours} hours,
267
+ * {countdown.minutes} minutes, {countdown.seconds} seconds
268
+ * </p>
269
+ * </div>
270
+ * );
271
+ * }
272
+ * ```
273
+ *
274
+ * @example
275
+ * ```tsx
276
+ * // Using Unix timestamp
277
+ * const countdown = useCountdownDate(1735689599000);
278
+ *
279
+ * // Using ISO string
280
+ * const countdown = useCountdownDate('2025-12-31T23:59:59Z');
281
+ * ```
282
+ */
283
+ declare const useCountdownDate: (date: Date | string | number) => CountdownState;
284
+ interface UseCountdownSecondsReturn {
285
+ counting: boolean;
286
+ countdown: number;
287
+ startCountdown: () => void;
288
+ setCountdown: React.Dispatch<React.SetStateAction<number>>;
289
+ }
290
+ /**
291
+ * A custom hook for creating a countdown timer that counts down from a specified number of seconds.
292
+ *
293
+ * Provides manual control to start the countdown and tracks whether counting is in progress.
294
+ * Automatically cleans up intervals on unmount.
295
+ *
296
+ * @param initCountdown - Initial number of seconds for the countdown
297
+ *
298
+ * @returns An object containing:
299
+ * - `counting` (boolean): Whether countdown is actively running (between 0 and initCountdown)
300
+ * - `countdown` (number): Current countdown value in seconds
301
+ * - `startCountdown` (function): Function to start or restart the countdown
302
+ * - `setCountdown` (function): Direct setter for the countdown value
303
+ *
304
+ * @example
305
+ * ```tsx
306
+ * function OTPTimer() {
307
+ * const { countdown, counting, startCountdown } = useCountdownSeconds(60);
308
+ *
309
+ * return (
310
+ * <div>
311
+ * <p>Resend code in: {countdown}s</p>
312
+ * <button onClick={startCountdown} disabled={counting}>
313
+ * {counting ? 'Waiting...' : 'Resend Code'}
314
+ * </button>
315
+ * </div>
316
+ * );
317
+ * }
318
+ * ```
319
+ *
320
+ * @example
321
+ * ```tsx
322
+ * function SessionTimer() {
323
+ * const { countdown, counting, startCountdown, setCountdown } = useCountdownSeconds(300);
324
+ *
325
+ * useEffect(() => {
326
+ * // Start countdown when component mounts
327
+ * startCountdown();
328
+ * }, [startCountdown]);
329
+ *
330
+ * const extendSession = () => {
331
+ * // Add 60 more seconds
332
+ * setCountdown((prev) => prev + 60);
333
+ * };
334
+ *
335
+ * return (
336
+ * <div>
337
+ * <p>Session expires in: {Math.floor(countdown / 60)}:{countdown % 60}</p>
338
+ * <button onClick={extendSession}>Extend Session</button>
339
+ * </div>
340
+ * );
341
+ * }
342
+ * ```
343
+ */
344
+ declare const useCountdownSeconds: (initCountdown: number) => UseCountdownSecondsReturn;
345
+
237
346
  type ReturnType = boolean;
238
347
  type Query = 'up' | 'down' | 'between' | 'only';
239
348
  type Value = Breakpoint | number;
@@ -1740,7 +1849,21 @@ interface RHFUploadProps extends Omit<UploadProps, 'value'> {
1740
1849
  }
1741
1850
  declare const RHFUpload: ({ name, multiple, helperText, ...rest }: RHFUploadProps) => react_jsx_runtime.JSX.Element;
1742
1851
 
1852
+ interface OTPInputProps extends Omit<TextFieldProps, 'onChange'> {
1853
+ length?: number;
1854
+ onChange?: (otp: string) => void;
1855
+ onComplete?: (otp: string) => void;
1856
+ containerProps?: BoxProps;
1857
+ }
1858
+ declare const OTPInput: (props: OTPInputProps) => react_jsx_runtime.JSX.Element;
1859
+
1860
+ interface RHFOTPInputProps extends Omit<OTPInputProps, 'name'> {
1861
+ name: string;
1862
+ }
1863
+ declare const RHFOTPInput: ({ name, length, helperText, ...rest }: RHFOTPInputProps) => react_jsx_runtime.JSX.Element;
1864
+
1743
1865
  declare const Field: {
1866
+ OTP: ({ name, length, helperText, ...rest }: RHFOTPInputProps) => react_jsx_runtime.JSX.Element;
1744
1867
  Switch: ({ name, description, helperText, label, sx, slotProps, ...other }: Omit<_mui_material.FormControlLabelProps, "name" | "control"> & {
1745
1868
  name: string;
1746
1869
  description?: string;
@@ -1803,4 +1926,4 @@ interface LoadingScreenProps extends BoxProps {
1803
1926
  declare const LoadingScreen: ({ portal, sx, ...rest }: LoadingScreenProps) => react_jsx_runtime.JSX.Element;
1804
1927
  declare const SplashScreen: ({ portal, sx, ...rest }: LoadingScreenProps) => react_jsx_runtime.JSX.Element;
1805
1928
 
1806
- export { AnimatedLogo, BellNotification, CheckboxDefault, CheckboxIndeterminate, CheckboxSelect, ClipboardCheck, CloudUpload, type ColorSchema, Copy, CopyButton, type CustomShadowOptions, type CustomSpacingOptions, Eye, EyeClosed, Field, Form, Icon, type IconProps, type IconType, InfoCircleFill, InfoCircleOutline, KeyCommand, Loader, LoadingScreen, LocalStorageAvailable, LocalStorageGetItem, Logo, LongArrowUpLeftSolid, NavArrowDown, NavArrowLeft, NavArrowRight, RHFAutocomplete, type RHFAutocompleteProps, RHFCheckbox, type RHFCheckboxProps, RHFMultiCheckbox, type RHFMultiCheckboxOption, type RHFMultiCheckboxProps, RHFMultiSwitch, RHFRadioGroup, type RHFRadioGroupProps, RHFSwitch, RHFTextField, RHFUpload, type RHFUploadProps, RadioDefault, RadioSelect, type RadiusOptions, STORAGE_KEY, Search, Settings, SettingsConsumer, SettingsContext, type SettingsContextProps, SettingsProvider, type SettingsValueProps, SplashScreen, Table, type TableNoRowsProps, TablePagination, ThemeProvider, Trash, Upload, type UploadProps, type UseBooleanReturnType, type UseSetStateReturnType, UserFill, UserOutline, XMark, XMarkSolid, action, background, baseAction, basePalette, bgBlur, bgGradient, border, borderGradient, breakpoints, colorSchemes, common, components, createPaletteChannel, createShadowColor, createTheme, customShadows, customSpacing, darkPalette, defaultSettings, error, fCurrency, fData, fNumber, fPercent, fShortenNumber, formatFullname, getCurrencySymbol, getInitColorSchemeScript, getInitials, getStorage, grey, hexToRgbChannel, hideScrollX, hideScrollY, icon, iconClasses, info, isEqual, lightPalette, maxLine, mediaQueries, menuItem, neutral, orderBy, paper, paramCase, primary, primaryFont, pxToRem, radius, remToPx, removeStorage, responsiveFontSizes, schemeConfig, secondary, secondaryFont, sentenceCase, setFont, setStorage, shadows, snakeCase, splitFullname, stylesMode, success, surface, tertiaryFont, text, textGradient, typography, updateComponentsWithSettings, updateCoreWithSettings, useBoolean, useCopyToClipboard, useEventListener, useLocalStorage, usePopover, useResponsive, useScrollOffSetTop, useSetState, useSettings, useWidth, varAlpha, warning };
1929
+ export { AnimatedLogo, BellNotification, CheckboxDefault, CheckboxIndeterminate, CheckboxSelect, ClipboardCheck, CloudUpload, type ColorSchema, Copy, CopyButton, type CustomShadowOptions, type CustomSpacingOptions, Eye, EyeClosed, Field, Form, Icon, type IconProps, type IconType, InfoCircleFill, InfoCircleOutline, KeyCommand, Loader, LoadingScreen, LocalStorageAvailable, LocalStorageGetItem, Logo, LongArrowUpLeftSolid, NavArrowDown, NavArrowLeft, NavArrowRight, OTPInput, type OTPInputProps, RHFAutocomplete, type RHFAutocompleteProps, RHFCheckbox, type RHFCheckboxProps, RHFMultiCheckbox, type RHFMultiCheckboxOption, type RHFMultiCheckboxProps, RHFMultiSwitch, RHFOTPInput, type RHFOTPInputProps, RHFRadioGroup, type RHFRadioGroupProps, RHFSwitch, RHFTextField, RHFUpload, type RHFUploadProps, RadioDefault, RadioSelect, type RadiusOptions, STORAGE_KEY, Search, Settings, SettingsConsumer, SettingsContext, type SettingsContextProps, SettingsProvider, type SettingsValueProps, SplashScreen, Table, type TableNoRowsProps, TablePagination, ThemeProvider, Trash, Upload, type UploadProps, type UseBooleanReturnType, type UseSetStateReturnType, UserFill, UserOutline, XMark, XMarkSolid, action, background, baseAction, basePalette, bgBlur, bgGradient, border, borderGradient, breakpoints, colorSchemes, common, components, createPaletteChannel, createShadowColor, createTheme, customShadows, customSpacing, darkPalette, defaultSettings, error, fCurrency, fData, fNumber, fPercent, fShortenNumber, formatFullname, getCurrencySymbol, getInitColorSchemeScript, getInitials, getStorage, grey, hexToRgbChannel, hideScrollX, hideScrollY, icon, iconClasses, info, isEqual, lightPalette, maxLine, mediaQueries, menuItem, neutral, orderBy, paper, paramCase, primary, primaryFont, pxToRem, radius, remToPx, removeStorage, responsiveFontSizes, schemeConfig, secondary, secondaryFont, sentenceCase, setFont, setStorage, shadows, snakeCase, splitFullname, stylesMode, success, surface, tertiaryFont, text, textGradient, typography, updateComponentsWithSettings, updateCoreWithSettings, useBoolean, useCopyToClipboard, useCountdownDate, useCountdownSeconds, useEventListener, useLocalStorage, usePopover, useResponsive, useScrollOffSetTop, useSetState, useSettings, useWidth, varAlpha, warning };