@salt-ds/lab 1.0.0-alpha.52 → 1.0.0-alpha.53
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/css/salt-lab.css +279 -38
- package/dist-cjs/breadcrumbs/internal/BreadcrumbsCollapsed.js +3 -2
- package/dist-cjs/breadcrumbs/internal/BreadcrumbsCollapsed.js.map +1 -1
- package/dist-cjs/calendar/Calendar.js +55 -26
- package/dist-cjs/calendar/Calendar.js.map +1 -1
- package/dist-cjs/calendar/CalendarDateGrid.css.js +6 -0
- package/dist-cjs/calendar/CalendarDateGrid.css.js.map +1 -0
- package/dist-cjs/calendar/{internal/CalendarCarousel.js → CalendarDateGrid.js} +37 -14
- package/dist-cjs/calendar/CalendarDateGrid.js.map +1 -0
- package/dist-cjs/calendar/CalendarNavigation.js +7 -5
- package/dist-cjs/calendar/CalendarNavigation.js.map +1 -1
- package/dist-cjs/calendar/{internal/CalendarWeekHeader.js → CalendarWeekHeader.js} +4 -3
- package/dist-cjs/calendar/CalendarWeekHeader.js.map +1 -0
- package/dist-cjs/calendar/internal/CalendarDay.css.js +1 -1
- package/dist-cjs/calendar/internal/CalendarMonth.js.map +1 -1
- package/dist-cjs/calendar/useCalendar.js +2 -4
- package/dist-cjs/calendar/useCalendar.js.map +1 -1
- package/dist-cjs/calendar/useCalendarSelection.js +16 -43
- package/dist-cjs/calendar/useCalendarSelection.js.map +1 -1
- package/dist-cjs/carousel/Carousel.js +5 -5
- package/dist-cjs/carousel/Carousel.js.map +1 -1
- package/dist-cjs/cascading-menu/CascadingMenuItem.js +2 -2
- package/dist-cjs/cascading-menu/CascadingMenuItem.js.map +1 -1
- package/dist-cjs/contact-details/ContactMetadata.js +2 -2
- package/dist-cjs/contact-details/ContactMetadata.js.map +1 -1
- package/dist-cjs/date-input/DateInputRange.js +2 -0
- package/dist-cjs/date-input/DateInputRange.js.map +1 -1
- package/dist-cjs/date-input/DateInputSingle.js +2 -0
- package/dist-cjs/date-input/DateInputSingle.js.map +1 -1
- package/dist-cjs/date-picker/DatePicker.js +40 -5
- package/dist-cjs/date-picker/DatePicker.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerActions.js +7 -3
- package/dist-cjs/date-picker/DatePickerActions.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerRangeInput.js +5 -4
- package/dist-cjs/date-picker/DatePickerRangeInput.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerRangePanel.js +33 -9
- package/dist-cjs/date-picker/DatePickerRangePanel.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerSingleInput.js +5 -4
- package/dist-cjs/date-picker/DatePickerSingleInput.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerSinglePanel.js +19 -5
- package/dist-cjs/date-picker/DatePickerSinglePanel.js.map +1 -1
- package/dist-cjs/date-picker/useDatePicker.js +91 -63
- package/dist-cjs/date-picker/useDatePicker.js.map +1 -1
- package/dist-cjs/dropdown/DropdownButton.js +4 -2
- package/dist-cjs/dropdown/DropdownButton.js.map +1 -1
- package/dist-cjs/index.js +10 -0
- package/dist-cjs/index.js.map +1 -1
- package/dist-cjs/menu-button/MenuButtonTrigger.js +2 -2
- package/dist-cjs/menu-button/MenuButtonTrigger.js.map +1 -1
- package/dist-cjs/query-input/internal/CategoryListItem.js +2 -2
- package/dist-cjs/query-input/internal/CategoryListItem.js.map +1 -1
- package/dist-cjs/query-input/internal/ValueList.js +2 -2
- package/dist-cjs/query-input/internal/ValueList.js.map +1 -1
- package/dist-cjs/search-input/SearchInput.js +2 -1
- package/dist-cjs/search-input/SearchInput.js.map +1 -1
- package/dist-cjs/static-list/StaticList.css.js +6 -0
- package/dist-cjs/static-list/StaticList.css.js.map +1 -0
- package/dist-cjs/static-list/StaticList.js +32 -0
- package/dist-cjs/static-list/StaticList.js.map +1 -0
- package/dist-cjs/static-list/StaticListItem.css.js +6 -0
- package/dist-cjs/static-list/StaticListItem.css.js.map +1 -0
- package/dist-cjs/static-list/StaticListItem.js +33 -0
- package/dist-cjs/static-list/StaticListItem.js.map +1 -0
- package/dist-cjs/static-list/StaticListItemContent.css.js +6 -0
- package/dist-cjs/static-list/StaticListItemContent.css.js.map +1 -0
- package/dist-cjs/static-list/StaticListItemContent.js +30 -0
- package/dist-cjs/static-list/StaticListItemContent.js.map +1 -0
- package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.js +8 -8
- package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.js.map +1 -1
- package/dist-cjs/stepper-input/StepperInput.css.js +1 -1
- package/dist-cjs/stepper-input/StepperInput.js +214 -29
- package/dist-cjs/stepper-input/StepperInput.js.map +1 -1
- package/dist-cjs/stepper-input/internal/useActivateWhileMouseDown.js +54 -0
- package/dist-cjs/stepper-input/internal/useActivateWhileMouseDown.js.map +1 -0
- package/dist-cjs/stepper-input/internal/utils.js +43 -0
- package/dist-cjs/stepper-input/internal/utils.js.map +1 -0
- package/dist-cjs/stepper-input/useStepperInput.js +88 -172
- package/dist-cjs/stepper-input/useStepperInput.js.map +1 -1
- package/dist-cjs/tabs/Tab.js +14 -12
- package/dist-cjs/tabs/Tab.js.map +1 -1
- package/dist-cjs/tabs/Tabstrip.js +2 -1
- package/dist-cjs/tabs/Tabstrip.js.map +1 -1
- package/dist-cjs/tabs-next/OverflowMenu.js +2 -2
- package/dist-cjs/tabs-next/OverflowMenu.js.map +1 -1
- package/dist-cjs/tokenized-input/TokenizedInputBase.js +3 -3
- package/dist-cjs/tokenized-input/TokenizedInputBase.js.map +1 -1
- package/dist-cjs/tokenized-input/internal/InputPill.js +2 -2
- package/dist-cjs/tokenized-input/internal/InputPill.js.map +1 -1
- package/dist-cjs/tokenized-input-next/TokenizedInputNext.js +3 -3
- package/dist-cjs/tokenized-input-next/TokenizedInputNext.js.map +1 -1
- package/dist-cjs/tokenized-input-next/internal/InputPill.js +2 -2
- package/dist-cjs/tokenized-input-next/internal/InputPill.js.map +1 -1
- package/dist-cjs/toolbar/overflow-panel/OverflowPanel.js +2 -2
- package/dist-cjs/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
- package/dist-es/breadcrumbs/internal/BreadcrumbsCollapsed.js +3 -2
- package/dist-es/breadcrumbs/internal/BreadcrumbsCollapsed.js.map +1 -1
- package/dist-es/calendar/Calendar.js +57 -28
- package/dist-es/calendar/Calendar.js.map +1 -1
- package/dist-es/calendar/CalendarDateGrid.css.js +4 -0
- package/dist-es/calendar/CalendarDateGrid.css.js.map +1 -0
- package/dist-es/calendar/{internal/CalendarCarousel.js → CalendarDateGrid.js} +37 -14
- package/dist-es/calendar/CalendarDateGrid.js.map +1 -0
- package/dist-es/calendar/CalendarNavigation.js +8 -6
- package/dist-es/calendar/CalendarNavigation.js.map +1 -1
- package/dist-es/calendar/{internal/CalendarWeekHeader.js → CalendarWeekHeader.js} +4 -3
- package/dist-es/calendar/CalendarWeekHeader.js.map +1 -0
- package/dist-es/calendar/internal/CalendarDay.css.js +1 -1
- package/dist-es/calendar/internal/CalendarMonth.js.map +1 -1
- package/dist-es/calendar/useCalendar.js +2 -4
- package/dist-es/calendar/useCalendar.js.map +1 -1
- package/dist-es/calendar/useCalendarSelection.js +16 -43
- package/dist-es/calendar/useCalendarSelection.js.map +1 -1
- package/dist-es/carousel/Carousel.js +6 -6
- package/dist-es/carousel/Carousel.js.map +1 -1
- package/dist-es/cascading-menu/CascadingMenuItem.js +3 -3
- package/dist-es/cascading-menu/CascadingMenuItem.js.map +1 -1
- package/dist-es/contact-details/ContactMetadata.js +3 -3
- package/dist-es/contact-details/ContactMetadata.js.map +1 -1
- package/dist-es/date-input/DateInputRange.js +2 -0
- package/dist-es/date-input/DateInputRange.js.map +1 -1
- package/dist-es/date-input/DateInputSingle.js +2 -0
- package/dist-es/date-input/DateInputSingle.js.map +1 -1
- package/dist-es/date-picker/DatePicker.js +40 -5
- package/dist-es/date-picker/DatePicker.js.map +1 -1
- package/dist-es/date-picker/DatePickerActions.js +7 -3
- package/dist-es/date-picker/DatePickerActions.js.map +1 -1
- package/dist-es/date-picker/DatePickerRangeInput.js +5 -4
- package/dist-es/date-picker/DatePickerRangeInput.js.map +1 -1
- package/dist-es/date-picker/DatePickerRangePanel.js +33 -9
- package/dist-es/date-picker/DatePickerRangePanel.js.map +1 -1
- package/dist-es/date-picker/DatePickerSingleInput.js +5 -4
- package/dist-es/date-picker/DatePickerSingleInput.js.map +1 -1
- package/dist-es/date-picker/DatePickerSinglePanel.js +19 -5
- package/dist-es/date-picker/DatePickerSinglePanel.js.map +1 -1
- package/dist-es/date-picker/useDatePicker.js +92 -64
- package/dist-es/date-picker/useDatePicker.js.map +1 -1
- package/dist-es/dropdown/DropdownButton.js +6 -4
- package/dist-es/dropdown/DropdownButton.js.map +1 -1
- package/dist-es/index.js +5 -0
- package/dist-es/index.js.map +1 -1
- package/dist-es/menu-button/MenuButtonTrigger.js +3 -3
- package/dist-es/menu-button/MenuButtonTrigger.js.map +1 -1
- package/dist-es/query-input/internal/CategoryListItem.js +3 -3
- package/dist-es/query-input/internal/CategoryListItem.js.map +1 -1
- package/dist-es/query-input/internal/ValueList.js +3 -3
- package/dist-es/query-input/internal/ValueList.js.map +1 -1
- package/dist-es/search-input/SearchInput.js +3 -2
- package/dist-es/search-input/SearchInput.js.map +1 -1
- package/dist-es/static-list/StaticList.css.js +4 -0
- package/dist-es/static-list/StaticList.css.js.map +1 -0
- package/dist-es/static-list/StaticList.js +28 -0
- package/dist-es/static-list/StaticList.js.map +1 -0
- package/dist-es/static-list/StaticListItem.css.js +4 -0
- package/dist-es/static-list/StaticListItem.css.js.map +1 -0
- package/dist-es/static-list/StaticListItem.js +29 -0
- package/dist-es/static-list/StaticListItem.js.map +1 -0
- package/dist-es/static-list/StaticListItemContent.css.js +4 -0
- package/dist-es/static-list/StaticListItemContent.css.js.map +1 -0
- package/dist-es/static-list/StaticListItemContent.js +26 -0
- package/dist-es/static-list/StaticListItemContent.js.map +1 -0
- package/dist-es/stepped-tracker/TrackerStep/TrackerStep.js +9 -9
- package/dist-es/stepped-tracker/TrackerStep/TrackerStep.js.map +1 -1
- package/dist-es/stepper-input/StepperInput.css.js +1 -1
- package/dist-es/stepper-input/StepperInput.js +216 -31
- package/dist-es/stepper-input/StepperInput.js.map +1 -1
- package/dist-es/stepper-input/internal/useActivateWhileMouseDown.js +50 -0
- package/dist-es/stepper-input/internal/useActivateWhileMouseDown.js.map +1 -0
- package/dist-es/stepper-input/internal/utils.js +32 -0
- package/dist-es/stepper-input/internal/utils.js.map +1 -0
- package/dist-es/stepper-input/useStepperInput.js +88 -172
- package/dist-es/stepper-input/useStepperInput.js.map +1 -1
- package/dist-es/tabs/Tab.js +15 -13
- package/dist-es/tabs/Tab.js.map +1 -1
- package/dist-es/tabs/Tabstrip.js +4 -3
- package/dist-es/tabs/Tabstrip.js.map +1 -1
- package/dist-es/tabs-next/OverflowMenu.js +3 -3
- package/dist-es/tabs-next/OverflowMenu.js.map +1 -1
- package/dist-es/tokenized-input/TokenizedInputBase.js +3 -3
- package/dist-es/tokenized-input/TokenizedInputBase.js.map +1 -1
- package/dist-es/tokenized-input/internal/InputPill.js +2 -2
- package/dist-es/tokenized-input/internal/InputPill.js.map +1 -1
- package/dist-es/tokenized-input-next/TokenizedInputNext.js +3 -3
- package/dist-es/tokenized-input-next/TokenizedInputNext.js.map +1 -1
- package/dist-es/tokenized-input-next/internal/InputPill.js +2 -2
- package/dist-es/tokenized-input-next/internal/InputPill.js.map +1 -1
- package/dist-es/toolbar/overflow-panel/OverflowPanel.js +3 -3
- package/dist-es/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
- package/dist-types/calendar/Calendar.d.ts +2 -15
- package/dist-types/calendar/CalendarDateGrid.d.ts +10 -0
- package/dist-types/calendar/{internal/CalendarWeekHeader.d.ts → CalendarWeekHeader.d.ts} +1 -1
- package/dist-types/calendar/index.d.ts +2 -0
- package/dist-types/calendar/internal/CalendarMonth.d.ts +9 -1
- package/dist-types/calendar/useCalendarSelection.d.ts +0 -7
- package/dist-types/date-picker/DatePickerRangePanel.d.ts +17 -1
- package/dist-types/date-picker/DatePickerSinglePanel.d.ts +9 -1
- package/dist-types/index.d.ts +1 -0
- package/dist-types/static-list/StaticList.d.ts +8 -0
- package/dist-types/static-list/StaticListItem.d.ts +4 -0
- package/dist-types/static-list/StaticListItemContent.d.ts +8 -0
- package/dist-types/static-list/index.d.ts +3 -0
- package/dist-types/stepper-input/StepperInput.d.ts +66 -19
- package/dist-types/stepper-input/internal/useActivateWhileMouseDown.d.ts +5 -0
- package/dist-types/stepper-input/internal/utils.d.ts +8 -0
- package/dist-types/stepper-input/useStepperInput.d.ts +21 -8
- package/package.json +2 -2
- package/dist-cjs/calendar/internal/CalendarCarousel.css.js +0 -6
- package/dist-cjs/calendar/internal/CalendarCarousel.css.js.map +0 -1
- package/dist-cjs/calendar/internal/CalendarCarousel.js.map +0 -1
- package/dist-cjs/calendar/internal/CalendarWeekHeader.js.map +0 -1
- package/dist-cjs/stepper-input/internal/useSpinner.js +0 -33
- package/dist-cjs/stepper-input/internal/useSpinner.js.map +0 -1
- package/dist-es/calendar/internal/CalendarCarousel.css.js +0 -4
- package/dist-es/calendar/internal/CalendarCarousel.css.js.map +0 -1
- package/dist-es/calendar/internal/CalendarCarousel.js.map +0 -1
- package/dist-es/calendar/internal/CalendarWeekHeader.js.map +0 -1
- package/dist-es/stepper-input/internal/useSpinner.js +0 -29
- package/dist-es/stepper-input/internal/useSpinner.js.map +0 -1
- package/dist-types/calendar/internal/CalendarCarousel.d.ts +0 -3
- package/dist-types/stepper-input/internal/useSpinner.d.ts +0 -5
- /package/dist-cjs/calendar/{internal/CalendarWeekHeader.css.js → CalendarWeekHeader.css.js} +0 -0
- /package/dist-cjs/calendar/{internal/CalendarWeekHeader.css.js.map → CalendarWeekHeader.css.js.map} +0 -0
- /package/dist-es/calendar/{internal/CalendarWeekHeader.css.js → CalendarWeekHeader.css.js} +0 -0
- /package/dist-es/calendar/{internal/CalendarWeekHeader.css.js.map → CalendarWeekHeader.css.js.map} +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import { type
|
|
3
|
-
export interface StepperInputProps extends Omit<
|
|
1
|
+
import { type ValidationStatus } from "@salt-ds/core";
|
|
2
|
+
import { type ComponentPropsWithoutRef, type InputHTMLAttributes, type ReactNode, type Ref, type SyntheticEvent } from "react";
|
|
3
|
+
export interface StepperInputProps extends Omit<ComponentPropsWithoutRef<"div">, "onChange"> {
|
|
4
4
|
/**
|
|
5
|
-
* A
|
|
5
|
+
* A boolean. When `true`, the input will receive a full border.
|
|
6
6
|
*/
|
|
7
|
-
|
|
7
|
+
bordered?: boolean;
|
|
8
8
|
/**
|
|
9
9
|
* The number of decimal places to display.
|
|
10
10
|
*/
|
|
@@ -12,42 +12,89 @@ export interface StepperInputProps extends Omit<InputProps, "onChange" | "emptyR
|
|
|
12
12
|
/**
|
|
13
13
|
* Sets the initial default value of the component.
|
|
14
14
|
*/
|
|
15
|
-
defaultValue?: number;
|
|
15
|
+
defaultValue?: number | string;
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
17
|
+
* If `true`, the stepper input will be disabled.
|
|
18
18
|
*/
|
|
19
|
-
|
|
19
|
+
disabled?: boolean;
|
|
20
20
|
/**
|
|
21
|
-
* The
|
|
21
|
+
* The marker to use in an empty read only Input.
|
|
22
|
+
* Use `''` to disable this feature. Defaults to '—'.
|
|
23
|
+
* @default '—'
|
|
22
24
|
*/
|
|
23
|
-
|
|
25
|
+
emptyReadOnlyMarker?: string;
|
|
26
|
+
/**
|
|
27
|
+
* End adornment component
|
|
28
|
+
*/
|
|
29
|
+
endAdornment?: ReactNode;
|
|
24
30
|
/**
|
|
25
31
|
* Whether to hide the stepper buttons. Defaults to `false`.
|
|
32
|
+
* @default false
|
|
26
33
|
*/
|
|
27
34
|
hideButtons?: boolean;
|
|
28
35
|
/**
|
|
29
|
-
*
|
|
36
|
+
* [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
|
|
37
|
+
*/
|
|
38
|
+
inputProps?: InputHTMLAttributes<HTMLInputElement>;
|
|
39
|
+
/**
|
|
40
|
+
* Optional ref for the input component
|
|
41
|
+
*/
|
|
42
|
+
inputRef?: Ref<HTMLInputElement>;
|
|
43
|
+
/**
|
|
44
|
+
* The maximum value that can be selected. Defaults to Number.MAX_SAFE_INTEGER.
|
|
45
|
+
* @default Number.MAX_SAFE_INTEGER
|
|
46
|
+
*/
|
|
47
|
+
max?: number;
|
|
48
|
+
/**
|
|
49
|
+
* The minimum value that can be selected. Defaults to Number.MIN_SAFE_INTEGER.
|
|
50
|
+
* @default Number.MIN_SAFE_INTEGER
|
|
30
51
|
*/
|
|
31
|
-
|
|
52
|
+
min?: number;
|
|
32
53
|
/**
|
|
33
54
|
* Callback when stepper input value is changed.
|
|
55
|
+
* @param event - the event triggers value change, could be undefined during increment / decrement button long press
|
|
56
|
+
*/
|
|
57
|
+
onChange?: (event: SyntheticEvent | undefined, value: number | string) => void;
|
|
58
|
+
/**
|
|
59
|
+
* A string. Displayed in a dimmed color when the input value is empty.
|
|
34
60
|
*/
|
|
35
|
-
|
|
61
|
+
placeholder?: string | undefined;
|
|
36
62
|
/**
|
|
37
|
-
*
|
|
63
|
+
* A boolean. If `true`, the component is not editable by the user.
|
|
38
64
|
*/
|
|
39
|
-
|
|
65
|
+
readOnly?: boolean;
|
|
40
66
|
/**
|
|
41
|
-
*
|
|
67
|
+
* Start adornment component
|
|
68
|
+
*/
|
|
69
|
+
startAdornment?: ReactNode;
|
|
70
|
+
/**
|
|
71
|
+
* The amount to increment or decrement the value by when using the stepper buttons or Up Arrow and Down Arrow keys. Default to 1.
|
|
72
|
+
* @default 1
|
|
42
73
|
*/
|
|
43
74
|
step?: number;
|
|
44
75
|
/**
|
|
45
|
-
*
|
|
76
|
+
* The amount to change the value when the value is incremented or decremented by holding Shift and pressing Up arrow or Down arrow keys.
|
|
77
|
+
* Defaults to 10.
|
|
78
|
+
* @default 10
|
|
79
|
+
*/
|
|
80
|
+
stepBlock?: number;
|
|
81
|
+
/**
|
|
82
|
+
* Alignment of text within container. Defaults to "left".
|
|
83
|
+
* @default "left"
|
|
84
|
+
*/
|
|
85
|
+
textAlign?: "left" | "center" | "right";
|
|
86
|
+
/**
|
|
87
|
+
* Validation status.
|
|
88
|
+
*/
|
|
89
|
+
validationStatus?: Extract<ValidationStatus, "error" | "warning" | "success">;
|
|
90
|
+
/**
|
|
91
|
+
* Styling variant. Defaults to "primary".
|
|
92
|
+
* @default "primary"
|
|
46
93
|
*/
|
|
47
|
-
|
|
94
|
+
variant?: "primary" | "secondary";
|
|
48
95
|
/**
|
|
49
96
|
* The value of the stepper input. The component will be controlled if this prop is provided.
|
|
50
97
|
*/
|
|
51
|
-
value?: number | string;
|
|
98
|
+
value?: number | string | undefined;
|
|
52
99
|
}
|
|
53
100
|
export declare const StepperInput: import("react").ForwardRefExoticComponent<StepperInputProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const ACCEPT_INPUT: RegExp;
|
|
2
|
+
export declare const toFixedDecimalPlaces: (inputNumber: number, decimalPlaces: number) => string;
|
|
3
|
+
export declare const isAllowedNonNumeric: (inputCharacter: number | string) => boolean | undefined;
|
|
4
|
+
export declare const toFloat: (inputValue: number | string) => number;
|
|
5
|
+
export declare const sanitizedInput: (numberString: string) => string;
|
|
6
|
+
export declare const isAtMax: (value: number | string | undefined, max: number) => boolean;
|
|
7
|
+
export declare const isAtMin: (value: number | string | undefined, min: number) => boolean;
|
|
8
|
+
export declare const isOutOfRange: (value: number | string | undefined, min: number, max: number) => boolean;
|
|
@@ -1,15 +1,28 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import type { MouseEvent, MutableRefObject } from "react";
|
|
1
|
+
import { type Dispatch, type MouseEvent, type MutableRefObject, type SetStateAction, type SyntheticEvent } from "react";
|
|
3
2
|
import type { StepperInputProps } from "./StepperInput";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Manages increment / decrement logic
|
|
5
|
+
*/
|
|
6
|
+
export declare const useStepperInput: ({ decimalPlaces, disabled, inputRef, max, min, onChange, readOnly, setValue, step, stepBlock, value, }: Pick<StepperInputProps, "value" | "max" | "min" | "onChange" | "disabled" | "readOnly" | "step" | "inputRef" | "decimalPlaces" | "stepBlock"> & {
|
|
7
|
+
setValue: Dispatch<SetStateAction<string | number | undefined>>;
|
|
8
|
+
inputRef: MutableRefObject<HTMLInputElement | null>;
|
|
9
|
+
}) => {
|
|
10
|
+
incrementButtonProps: {
|
|
11
|
+
"aria-label": string;
|
|
8
12
|
disabled: boolean;
|
|
13
|
+
onMouseDown: (event: MouseEvent<HTMLButtonElement>) => void;
|
|
14
|
+
"aria-hidden": boolean;
|
|
9
15
|
tabIndex: number;
|
|
16
|
+
onMouseUp: () => void | undefined;
|
|
17
|
+
};
|
|
18
|
+
decrementButtonProps: {
|
|
19
|
+
"aria-label": string;
|
|
20
|
+
disabled: boolean;
|
|
10
21
|
onMouseDown: (event: MouseEvent<HTMLButtonElement>) => void;
|
|
22
|
+
"aria-hidden": boolean;
|
|
23
|
+
tabIndex: number;
|
|
11
24
|
onMouseUp: () => void | undefined;
|
|
12
25
|
};
|
|
13
|
-
|
|
14
|
-
|
|
26
|
+
incrementValue: (event?: SyntheticEvent<Element, Event> | undefined, block?: boolean | undefined) => void;
|
|
27
|
+
decrementValue: (event?: SyntheticEvent<Element, Event> | undefined, block?: boolean | undefined) => void;
|
|
15
28
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salt-ds/lab",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.53",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"react-window": "^1.8.6",
|
|
27
27
|
"rifm": "^0.12.0",
|
|
28
28
|
"tinycolor2": "^1.4.2",
|
|
29
|
-
"@salt-ds/core": "^1.
|
|
29
|
+
"@salt-ds/core": "^1.37.0",
|
|
30
30
|
"@salt-ds/styles": "^0.2.1",
|
|
31
31
|
"@salt-ds/window": "^0.1.1",
|
|
32
32
|
"@salt-ds/icons": "^1.12.1"
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var css_248z = ".saltCalendarCarousel-track {\n display: grid;\n grid-auto-flow: column;\n}\n\n.saltCalendarCarousel-track > * {\n position: absolute;\n left: 0;\n width: 100%;\n}\n\n.saltCalendarCarousel-track > :nth-child(2) {\n position: relative;\n}\n";
|
|
4
|
-
|
|
5
|
-
module.exports = css_248z;
|
|
6
|
-
//# sourceMappingURL=CalendarCarousel.css.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarCarousel.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarCarousel.js","sources":["../src/calendar/internal/CalendarCarousel.tsx"],"sourcesContent":["import { type DateValue, isSameMonth } from \"@internationalized/date\";\nimport { makePrefixer, useIsomorphicLayoutEffect } from \"@salt-ds/core\";\nimport { forwardRef, useEffect, useRef, useState } from \"react\";\nimport { useCalendarContext } from \"./CalendarContext\";\nimport { CalendarMonth, type CalendarMonthProps } from \"./CalendarMonth\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport calendarCarouselCss from \"./CalendarCarousel.css\";\nimport { formatDate, monthDiff } from \"./utils\";\n\nexport type CalendarCarouselProps = Omit<CalendarMonthProps, \"date\">;\n\nfunction getMonths(month: DateValue) {\n return [month.subtract({ months: 1 }), month, month.add({ months: 1 })];\n}\n\nconst withBaseName = makePrefixer(\"saltCalendarCarousel\");\n\nexport const CalendarCarousel = forwardRef<\n HTMLDivElement,\n CalendarCarouselProps\n>(function CalendarCarousel(props, ref) {\n const { ...rest } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-calendar-carousel\",\n css: calendarCarouselCss,\n window: targetWindow,\n });\n\n const {\n state: { visibleMonth, locale },\n } = useCalendarContext();\n const containerRef = useRef<HTMLDivElement>(null);\n const diffIndex = (a: DateValue, b: DateValue) => monthDiff(a, b);\n\n const { current: baseIndex } = useRef(visibleMonth);\n\n useIsomorphicLayoutEffect(() => {\n if (containerRef.current) {\n containerRef.current.style.transform = `translate3d(${\n diffIndex(baseIndex, visibleMonth) * -101 // needs to be higher than 100% so the next month doesn't show on the edges\n }%, 0, 0)`;\n }\n });\n\n const [months, setMonths] = useState(() => getMonths(visibleMonth));\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: uses formatData to change visibleMonth into string\n useEffect(() => {\n setMonths((oldMonths) => {\n const newMonths = getMonths(visibleMonth).filter((month) => {\n return !oldMonths.find((oldMonth) => isSameMonth(oldMonth, month));\n });\n\n return oldMonths.concat(newMonths);\n });\n setMonths(getMonths(visibleMonth));\n return undefined;\n }, [formatDate(visibleMonth, locale)]);\n\n return (\n <div\n className={withBaseName()}\n tabIndex={-1} // https://bugzilla.mozilla.org/show_bug.cgi?id=1069739\n style={{\n overflowX: \"hidden\",\n position: \"relative\",\n }}\n ref={ref}\n >\n <div className={withBaseName(\"track\")} ref={containerRef}>\n {months.map((date, index) => (\n <div\n key={formatDate(date, locale)}\n className={withBaseName(\"slide\")}\n style={{\n transform: `translateX(${diffIndex(date, baseIndex) * -101}%)`,\n }}\n aria-hidden={index !== 1 ? \"true\" : undefined}\n >\n <CalendarMonth {...rest} date={date} />\n </div>\n ))}\n </div>\n </div>\n );\n});\n"],"names":["makePrefixer","forwardRef","CalendarCarousel","useWindow","useComponentCssInjection","calendarCarouselCss","useCalendarContext","useRef","monthDiff","useIsomorphicLayoutEffect","useState","useEffect","isSameMonth","formatDate","jsx","CalendarMonth"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarWeekHeader.js","sources":["../src/calendar/internal/CalendarWeekHeader.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { type ComponentPropsWithRef, forwardRef } from \"react\";\nimport { daysForLocale } from \"./utils\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport calendarWeekHeaderCss from \"./CalendarWeekHeader.css\";\n\nexport type CalendarWeekHeaderProps = ComponentPropsWithRef<\"div\"> & {\n locale: string;\n};\n\nconst withBaseName = makePrefixer(\"saltCalendarWeekHeader\");\n\nexport const CalendarWeekHeader = forwardRef<\n HTMLDivElement,\n CalendarWeekHeaderProps\n>(function CalendarWeekHeader({ className, locale, ...rest }, ref) {\n const weekdaysShort = daysForLocale(\"narrow\", locale);\n const weekdaysLong = daysForLocale(\"long\", locale);\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-calendar\",\n css: calendarWeekHeaderCss,\n window: targetWindow,\n });\n\n return (\n <div\n data-testid=\"CalendarWeekHeader\"\n className={clsx(withBaseName(), className)}\n ref={ref}\n {...rest}\n >\n {weekdaysShort.map((day, index) => (\n <small\n aria-hidden\n key={weekdaysLong[index]}\n className={withBaseName(\"dayOfWeek\")}\n >\n {day}\n </small>\n ))}\n </div>\n );\n});\n"],"names":["makePrefixer","forwardRef","CalendarWeekHeader","daysForLocale","useWindow","useComponentCssInjection","calendarWeekHeaderCss","jsx","clsx"],"mappings":";;;;;;;;;;;;;AAaA,MAAM,YAAA,GAAeA,kBAAa,wBAAwB,CAAA,CAAA;AAE7C,MAAA,kBAAA,GAAqBC,iBAGhC,SAASC,mBAAAA,CAAmB,EAAE,SAAW,EAAA,MAAA,EAAA,GAAW,IAAK,EAAA,EAAG,GAAK,EAAA;AACjE,EAAM,MAAA,aAAA,GAAgBC,mBAAc,CAAA,QAAA,EAAU,MAAM,CAAA,CAAA;AACpD,EAAM,MAAA,YAAA,GAAeA,mBAAc,CAAA,MAAA,EAAQ,MAAM,CAAA,CAAA;AAEjD,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,eAAA;AAAA,IACR,GAAK,EAAAC,oBAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,uBACGC,cAAA,CAAA,KAAA,EAAA;AAAA,IACC,aAAY,EAAA,oBAAA;AAAA,IACZ,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,IACzC,GAAA;AAAA,IACC,GAAG,IAAA;AAAA,IAEH,QAAc,EAAA,aAAA,CAAA,GAAA,CAAI,CAAC,GAAA,EAAK,0BACtBD,cAAA,CAAA,OAAA,EAAA;AAAA,MACC,aAAW,EAAA,IAAA;AAAA,MAEX,SAAA,EAAW,aAAa,WAAW,CAAA;AAAA,MAElC,QAAA,EAAA,GAAA;AAAA,KAHI,EAAA,YAAA,CAAa,MAIpB,CACD,CAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAC;;;;"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var react = require('react');
|
|
6
|
-
var useInterval = require('./useInterval.js');
|
|
7
|
-
|
|
8
|
-
const INTERVAL_DELAY = 300;
|
|
9
|
-
function useSpinner(activationFn, isAtLimit) {
|
|
10
|
-
const [buttonDown, setButtonDown] = react.useState(false);
|
|
11
|
-
react.useEffect(() => {
|
|
12
|
-
if (isAtLimit)
|
|
13
|
-
setButtonDown(false);
|
|
14
|
-
}, [isAtLimit]);
|
|
15
|
-
react.useEffect(() => {
|
|
16
|
-
const cancelInterval = () => setButtonDown(false);
|
|
17
|
-
window.addEventListener("keyup", cancelInterval);
|
|
18
|
-
window.addEventListener("mouseup", cancelInterval);
|
|
19
|
-
return () => {
|
|
20
|
-
window.removeEventListener("keyup", cancelInterval);
|
|
21
|
-
window.removeEventListener("mouseup", cancelInterval);
|
|
22
|
-
};
|
|
23
|
-
}, []);
|
|
24
|
-
const activate = () => {
|
|
25
|
-
activationFn();
|
|
26
|
-
setButtonDown(true);
|
|
27
|
-
};
|
|
28
|
-
useInterval.useInterval(activationFn, buttonDown ? INTERVAL_DELAY : null);
|
|
29
|
-
return { activate, buttonDown };
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
exports.useSpinner = useSpinner;
|
|
33
|
-
//# sourceMappingURL=useSpinner.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSpinner.js","sources":["../src/stepper-input/internal/useSpinner.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\nimport { useInterval } from \"./useInterval\";\n\nconst INTERVAL_DELAY = 300;\n\nfunction useSpinner(activationFn: () => void, isAtLimit: boolean) {\n const [buttonDown, setButtonDown] = useState(false);\n\n useEffect(() => {\n if (isAtLimit) setButtonDown(false);\n }, [isAtLimit]);\n\n useEffect(() => {\n const cancelInterval = () => setButtonDown(false);\n\n window.addEventListener(\"keyup\", cancelInterval);\n window.addEventListener(\"mouseup\", cancelInterval);\n return () => {\n window.removeEventListener(\"keyup\", cancelInterval);\n window.removeEventListener(\"mouseup\", cancelInterval);\n };\n }, []);\n\n const activate = () => {\n activationFn();\n setButtonDown(true);\n };\n\n useInterval(activationFn, buttonDown ? INTERVAL_DELAY : null);\n\n return { activate, buttonDown };\n}\n\nexport { useSpinner };\n"],"names":["useState","useEffect","useInterval"],"mappings":";;;;;;;AAIA,MAAM,cAAiB,GAAA,GAAA,CAAA;AAEvB,SAAS,UAAA,CAAW,cAA0B,SAAoB,EAAA;AAChE,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIA,eAAS,KAAK,CAAA,CAAA;AAElD,EAAAC,eAAA,CAAU,MAAM;AACd,IAAI,IAAA,SAAA;AAAW,MAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAAA,GACpC,EAAG,CAAC,SAAS,CAAC,CAAA,CAAA;AAEd,EAAAA,eAAA,CAAU,MAAM;AACd,IAAM,MAAA,cAAA,GAAiB,MAAM,aAAA,CAAc,KAAK,CAAA,CAAA;AAEhD,IAAO,MAAA,CAAA,gBAAA,CAAiB,SAAS,cAAc,CAAA,CAAA;AAC/C,IAAO,MAAA,CAAA,gBAAA,CAAiB,WAAW,cAAc,CAAA,CAAA;AACjD,IAAA,OAAO,MAAM;AACX,MAAO,MAAA,CAAA,mBAAA,CAAoB,SAAS,cAAc,CAAA,CAAA;AAClD,MAAO,MAAA,CAAA,mBAAA,CAAoB,WAAW,cAAc,CAAA,CAAA;AAAA,KACtD,CAAA;AAAA,GACF,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,MAAM,WAAW,MAAM;AACrB,IAAa,YAAA,EAAA,CAAA;AACb,IAAA,aAAA,CAAc,IAAI,CAAA,CAAA;AAAA,GACpB,CAAA;AAEA,EAAYC,uBAAA,CAAA,YAAA,EAAc,UAAa,GAAA,cAAA,GAAiB,IAAI,CAAA,CAAA;AAE5D,EAAO,OAAA,EAAE,UAAU,UAAW,EAAA,CAAA;AAChC;;;;"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
var css_248z = ".saltCalendarCarousel-track {\n display: grid;\n grid-auto-flow: column;\n}\n\n.saltCalendarCarousel-track > * {\n position: absolute;\n left: 0;\n width: 100%;\n}\n\n.saltCalendarCarousel-track > :nth-child(2) {\n position: relative;\n}\n";
|
|
2
|
-
|
|
3
|
-
export { css_248z as default };
|
|
4
|
-
//# sourceMappingURL=CalendarCarousel.css.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarCarousel.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarCarousel.js","sources":["../src/calendar/internal/CalendarCarousel.tsx"],"sourcesContent":["import { type DateValue, isSameMonth } from \"@internationalized/date\";\nimport { makePrefixer, useIsomorphicLayoutEffect } from \"@salt-ds/core\";\nimport { forwardRef, useEffect, useRef, useState } from \"react\";\nimport { useCalendarContext } from \"./CalendarContext\";\nimport { CalendarMonth, type CalendarMonthProps } from \"./CalendarMonth\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport calendarCarouselCss from \"./CalendarCarousel.css\";\nimport { formatDate, monthDiff } from \"./utils\";\n\nexport type CalendarCarouselProps = Omit<CalendarMonthProps, \"date\">;\n\nfunction getMonths(month: DateValue) {\n return [month.subtract({ months: 1 }), month, month.add({ months: 1 })];\n}\n\nconst withBaseName = makePrefixer(\"saltCalendarCarousel\");\n\nexport const CalendarCarousel = forwardRef<\n HTMLDivElement,\n CalendarCarouselProps\n>(function CalendarCarousel(props, ref) {\n const { ...rest } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-calendar-carousel\",\n css: calendarCarouselCss,\n window: targetWindow,\n });\n\n const {\n state: { visibleMonth, locale },\n } = useCalendarContext();\n const containerRef = useRef<HTMLDivElement>(null);\n const diffIndex = (a: DateValue, b: DateValue) => monthDiff(a, b);\n\n const { current: baseIndex } = useRef(visibleMonth);\n\n useIsomorphicLayoutEffect(() => {\n if (containerRef.current) {\n containerRef.current.style.transform = `translate3d(${\n diffIndex(baseIndex, visibleMonth) * -101 // needs to be higher than 100% so the next month doesn't show on the edges\n }%, 0, 0)`;\n }\n });\n\n const [months, setMonths] = useState(() => getMonths(visibleMonth));\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: uses formatData to change visibleMonth into string\n useEffect(() => {\n setMonths((oldMonths) => {\n const newMonths = getMonths(visibleMonth).filter((month) => {\n return !oldMonths.find((oldMonth) => isSameMonth(oldMonth, month));\n });\n\n return oldMonths.concat(newMonths);\n });\n setMonths(getMonths(visibleMonth));\n return undefined;\n }, [formatDate(visibleMonth, locale)]);\n\n return (\n <div\n className={withBaseName()}\n tabIndex={-1} // https://bugzilla.mozilla.org/show_bug.cgi?id=1069739\n style={{\n overflowX: \"hidden\",\n position: \"relative\",\n }}\n ref={ref}\n >\n <div className={withBaseName(\"track\")} ref={containerRef}>\n {months.map((date, index) => (\n <div\n key={formatDate(date, locale)}\n className={withBaseName(\"slide\")}\n style={{\n transform: `translateX(${diffIndex(date, baseIndex) * -101}%)`,\n }}\n aria-hidden={index !== 1 ? \"true\" : undefined}\n >\n <CalendarMonth {...rest} date={date} />\n </div>\n ))}\n </div>\n </div>\n );\n});\n"],"names":["CalendarCarousel","calendarCarouselCss"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarWeekHeader.js","sources":["../src/calendar/internal/CalendarWeekHeader.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { type ComponentPropsWithRef, forwardRef } from \"react\";\nimport { daysForLocale } from \"./utils\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport calendarWeekHeaderCss from \"./CalendarWeekHeader.css\";\n\nexport type CalendarWeekHeaderProps = ComponentPropsWithRef<\"div\"> & {\n locale: string;\n};\n\nconst withBaseName = makePrefixer(\"saltCalendarWeekHeader\");\n\nexport const CalendarWeekHeader = forwardRef<\n HTMLDivElement,\n CalendarWeekHeaderProps\n>(function CalendarWeekHeader({ className, locale, ...rest }, ref) {\n const weekdaysShort = daysForLocale(\"narrow\", locale);\n const weekdaysLong = daysForLocale(\"long\", locale);\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-calendar\",\n css: calendarWeekHeaderCss,\n window: targetWindow,\n });\n\n return (\n <div\n data-testid=\"CalendarWeekHeader\"\n className={clsx(withBaseName(), className)}\n ref={ref}\n {...rest}\n >\n {weekdaysShort.map((day, index) => (\n <small\n aria-hidden\n key={weekdaysLong[index]}\n className={withBaseName(\"dayOfWeek\")}\n >\n {day}\n </small>\n ))}\n </div>\n );\n});\n"],"names":["CalendarWeekHeader","calendarWeekHeaderCss"],"mappings":";;;;;;;;;AAaA,MAAM,YAAA,GAAe,aAAa,wBAAwB,CAAA,CAAA;AAE7C,MAAA,kBAAA,GAAqB,WAGhC,SAASA,mBAAAA,CAAmB,EAAE,SAAW,EAAA,MAAA,EAAA,GAAW,IAAK,EAAA,EAAG,GAAK,EAAA;AACjE,EAAM,MAAA,aAAA,GAAgB,aAAc,CAAA,QAAA,EAAU,MAAM,CAAA,CAAA;AACpD,EAAM,MAAA,YAAA,GAAe,aAAc,CAAA,MAAA,EAAQ,MAAM,CAAA,CAAA;AAEjD,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,eAAA;AAAA,IACR,GAAK,EAAAC,QAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,IACC,aAAY,EAAA,oBAAA;AAAA,IACZ,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,IACzC,GAAA;AAAA,IACC,GAAG,IAAA;AAAA,IAEH,QAAc,EAAA,aAAA,CAAA,GAAA,CAAI,CAAC,GAAA,EAAK,0BACtB,GAAA,CAAA,OAAA,EAAA;AAAA,MACC,aAAW,EAAA,IAAA;AAAA,MAEX,SAAA,EAAW,aAAa,WAAW,CAAA;AAAA,MAElC,QAAA,EAAA,GAAA;AAAA,KAHI,EAAA,YAAA,CAAa,MAIpB,CACD,CAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAC;;;;"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { useState, useEffect } from 'react';
|
|
2
|
-
import { useInterval } from './useInterval.js';
|
|
3
|
-
|
|
4
|
-
const INTERVAL_DELAY = 300;
|
|
5
|
-
function useSpinner(activationFn, isAtLimit) {
|
|
6
|
-
const [buttonDown, setButtonDown] = useState(false);
|
|
7
|
-
useEffect(() => {
|
|
8
|
-
if (isAtLimit)
|
|
9
|
-
setButtonDown(false);
|
|
10
|
-
}, [isAtLimit]);
|
|
11
|
-
useEffect(() => {
|
|
12
|
-
const cancelInterval = () => setButtonDown(false);
|
|
13
|
-
window.addEventListener("keyup", cancelInterval);
|
|
14
|
-
window.addEventListener("mouseup", cancelInterval);
|
|
15
|
-
return () => {
|
|
16
|
-
window.removeEventListener("keyup", cancelInterval);
|
|
17
|
-
window.removeEventListener("mouseup", cancelInterval);
|
|
18
|
-
};
|
|
19
|
-
}, []);
|
|
20
|
-
const activate = () => {
|
|
21
|
-
activationFn();
|
|
22
|
-
setButtonDown(true);
|
|
23
|
-
};
|
|
24
|
-
useInterval(activationFn, buttonDown ? INTERVAL_DELAY : null);
|
|
25
|
-
return { activate, buttonDown };
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export { useSpinner };
|
|
29
|
-
//# sourceMappingURL=useSpinner.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSpinner.js","sources":["../src/stepper-input/internal/useSpinner.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\nimport { useInterval } from \"./useInterval\";\n\nconst INTERVAL_DELAY = 300;\n\nfunction useSpinner(activationFn: () => void, isAtLimit: boolean) {\n const [buttonDown, setButtonDown] = useState(false);\n\n useEffect(() => {\n if (isAtLimit) setButtonDown(false);\n }, [isAtLimit]);\n\n useEffect(() => {\n const cancelInterval = () => setButtonDown(false);\n\n window.addEventListener(\"keyup\", cancelInterval);\n window.addEventListener(\"mouseup\", cancelInterval);\n return () => {\n window.removeEventListener(\"keyup\", cancelInterval);\n window.removeEventListener(\"mouseup\", cancelInterval);\n };\n }, []);\n\n const activate = () => {\n activationFn();\n setButtonDown(true);\n };\n\n useInterval(activationFn, buttonDown ? INTERVAL_DELAY : null);\n\n return { activate, buttonDown };\n}\n\nexport { useSpinner };\n"],"names":[],"mappings":";;;AAIA,MAAM,cAAiB,GAAA,GAAA,CAAA;AAEvB,SAAS,UAAA,CAAW,cAA0B,SAAoB,EAAA;AAChE,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AAElD,EAAA,SAAA,CAAU,MAAM;AACd,IAAI,IAAA,SAAA;AAAW,MAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAAA,GACpC,EAAG,CAAC,SAAS,CAAC,CAAA,CAAA;AAEd,EAAA,SAAA,CAAU,MAAM;AACd,IAAM,MAAA,cAAA,GAAiB,MAAM,aAAA,CAAc,KAAK,CAAA,CAAA;AAEhD,IAAO,MAAA,CAAA,gBAAA,CAAiB,SAAS,cAAc,CAAA,CAAA;AAC/C,IAAO,MAAA,CAAA,gBAAA,CAAiB,WAAW,cAAc,CAAA,CAAA;AACjD,IAAA,OAAO,MAAM;AACX,MAAO,MAAA,CAAA,mBAAA,CAAoB,SAAS,cAAc,CAAA,CAAA;AAClD,MAAO,MAAA,CAAA,mBAAA,CAAoB,WAAW,cAAc,CAAA,CAAA;AAAA,KACtD,CAAA;AAAA,GACF,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,MAAM,WAAW,MAAM;AACrB,IAAa,YAAA,EAAA,CAAA;AACb,IAAA,aAAA,CAAc,IAAI,CAAA,CAAA;AAAA,GACpB,CAAA;AAEA,EAAY,WAAA,CAAA,YAAA,EAAc,UAAa,GAAA,cAAA,GAAiB,IAAI,CAAA,CAAA;AAE5D,EAAO,OAAA,EAAE,UAAU,UAAW,EAAA,CAAA;AAChC;;;;"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { type CalendarMonthProps } from "./CalendarMonth";
|
|
2
|
-
export declare type CalendarCarouselProps = Omit<CalendarMonthProps, "date">;
|
|
3
|
-
export declare const CalendarCarousel: import("react").ForwardRefExoticComponent<Omit<CalendarCarouselProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
File without changes
|
/package/dist-cjs/calendar/{internal/CalendarWeekHeader.css.js.map → CalendarWeekHeader.css.js.map}
RENAMED
|
File without changes
|
|
File without changes
|
/package/dist-es/calendar/{internal/CalendarWeekHeader.css.js.map → CalendarWeekHeader.css.js.map}
RENAMED
|
File without changes
|