@helpwave/hightide 0.1.11 → 0.1.13
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/components/date/DatePicker.js +37 -7
- package/dist/components/date/DatePicker.js.map +1 -1
- package/dist/components/date/DatePicker.mjs +37 -7
- package/dist/components/date/DatePicker.mjs.map +1 -1
- package/dist/components/date/DayPicker.js.map +1 -1
- package/dist/components/date/DayPicker.mjs.map +1 -1
- package/dist/components/date/TimePicker.js +27 -6
- package/dist/components/date/TimePicker.js.map +1 -1
- package/dist/components/date/TimePicker.mjs +27 -6
- package/dist/components/date/TimePicker.mjs.map +1 -1
- package/dist/components/date/YearMonthPicker.js +36 -6
- package/dist/components/date/YearMonthPicker.js.map +1 -1
- package/dist/components/date/YearMonthPicker.mjs +36 -6
- package/dist/components/date/YearMonthPicker.mjs.map +1 -1
- package/dist/components/dialogs/ConfirmDialog.js +16 -2
- package/dist/components/dialogs/ConfirmDialog.js.map +1 -1
- package/dist/components/dialogs/ConfirmDialog.mjs +16 -2
- package/dist/components/dialogs/ConfirmDialog.mjs.map +1 -1
- package/dist/components/layout-and-navigation/Carousel.js +42 -9
- package/dist/components/layout-and-navigation/Carousel.js.map +1 -1
- package/dist/components/layout-and-navigation/Carousel.mjs +42 -9
- package/dist/components/layout-and-navigation/Carousel.mjs.map +1 -1
- package/dist/components/layout-and-navigation/Expandable.js +1 -1
- package/dist/components/layout-and-navigation/Expandable.js.map +1 -1
- package/dist/components/layout-and-navigation/Expandable.mjs +1 -1
- package/dist/components/layout-and-navigation/Expandable.mjs.map +1 -1
- package/dist/components/layout-and-navigation/FAQSection.js +1 -1
- package/dist/components/layout-and-navigation/FAQSection.js.map +1 -1
- package/dist/components/layout-and-navigation/FAQSection.mjs +1 -1
- package/dist/components/layout-and-navigation/FAQSection.mjs.map +1 -1
- package/dist/components/layout-and-navigation/Overlay.js +16 -2
- package/dist/components/layout-and-navigation/Overlay.js.map +1 -1
- package/dist/components/layout-and-navigation/Overlay.mjs +16 -2
- package/dist/components/layout-and-navigation/Overlay.mjs.map +1 -1
- package/dist/components/layout-and-navigation/Pagination.d.mts +6 -3
- package/dist/components/layout-and-navigation/Pagination.d.ts +6 -3
- package/dist/components/layout-and-navigation/Pagination.js +404 -19
- package/dist/components/layout-and-navigation/Pagination.js.map +1 -1
- package/dist/components/layout-and-navigation/Pagination.mjs +404 -19
- package/dist/components/layout-and-navigation/Pagination.mjs.map +1 -1
- package/dist/components/layout-and-navigation/SearchableList.js +187 -67
- package/dist/components/layout-and-navigation/SearchableList.js.map +1 -1
- package/dist/components/layout-and-navigation/SearchableList.mjs +183 -63
- package/dist/components/layout-and-navigation/SearchableList.mjs.map +1 -1
- package/dist/components/layout-and-navigation/StepperBar.js +37 -5
- package/dist/components/layout-and-navigation/StepperBar.js.map +1 -1
- package/dist/components/layout-and-navigation/StepperBar.mjs +37 -5
- package/dist/components/layout-and-navigation/StepperBar.mjs.map +1 -1
- package/dist/components/layout-and-navigation/TextImage.js +2 -0
- package/dist/components/layout-and-navigation/TextImage.js.map +1 -1
- package/dist/components/layout-and-navigation/TextImage.mjs +2 -0
- package/dist/components/layout-and-navigation/TextImage.mjs.map +1 -1
- package/dist/components/loading-states/LoadingAndErrorComponent.js +2 -0
- package/dist/components/loading-states/LoadingAndErrorComponent.js.map +1 -1
- package/dist/components/loading-states/LoadingAndErrorComponent.mjs +2 -0
- package/dist/components/loading-states/LoadingAndErrorComponent.mjs.map +1 -1
- package/dist/components/loading-states/LoadingAnimation.js +2 -0
- package/dist/components/loading-states/LoadingAnimation.js.map +1 -1
- package/dist/components/loading-states/LoadingAnimation.mjs +2 -0
- package/dist/components/loading-states/LoadingAnimation.mjs.map +1 -1
- package/dist/components/loading-states/LoadingButton.js +9 -0
- package/dist/components/loading-states/LoadingButton.js.map +1 -1
- package/dist/components/loading-states/LoadingButton.mjs +9 -0
- package/dist/components/loading-states/LoadingButton.mjs.map +1 -1
- package/dist/components/modals/ConfirmModal.js +16 -2
- package/dist/components/modals/ConfirmModal.js.map +1 -1
- package/dist/components/modals/ConfirmModal.mjs +16 -2
- package/dist/components/modals/ConfirmModal.mjs.map +1 -1
- package/dist/components/modals/DiscardChangesModal.js +16 -2
- package/dist/components/modals/DiscardChangesModal.js.map +1 -1
- package/dist/components/modals/DiscardChangesModal.mjs +16 -2
- package/dist/components/modals/DiscardChangesModal.mjs.map +1 -1
- package/dist/components/modals/InputModal.d.mts +1 -0
- package/dist/components/modals/InputModal.d.ts +1 -0
- package/dist/components/modals/InputModal.js +196 -76
- package/dist/components/modals/InputModal.js.map +1 -1
- package/dist/components/modals/InputModal.mjs +189 -69
- package/dist/components/modals/InputModal.mjs.map +1 -1
- package/dist/components/modals/LanguageModal.js +203 -83
- package/dist/components/modals/LanguageModal.js.map +1 -1
- package/dist/components/modals/LanguageModal.mjs +192 -72
- package/dist/components/modals/LanguageModal.mjs.map +1 -1
- package/dist/components/modals/ThemeModal.js +206 -86
- package/dist/components/modals/ThemeModal.js.map +1 -1
- package/dist/components/modals/ThemeModal.mjs +193 -73
- package/dist/components/modals/ThemeModal.mjs.map +1 -1
- package/dist/components/properties/CheckboxProperty.js +17 -5
- package/dist/components/properties/CheckboxProperty.js.map +1 -1
- package/dist/components/properties/CheckboxProperty.mjs +17 -5
- package/dist/components/properties/CheckboxProperty.mjs.map +1 -1
- package/dist/components/properties/DateProperty.js +182 -65
- package/dist/components/properties/DateProperty.js.map +1 -1
- package/dist/components/properties/DateProperty.mjs +179 -62
- package/dist/components/properties/DateProperty.mjs.map +1 -1
- package/dist/components/properties/MultiSelectProperty.js +194 -74
- package/dist/components/properties/MultiSelectProperty.js.map +1 -1
- package/dist/components/properties/MultiSelectProperty.mjs +187 -67
- package/dist/components/properties/MultiSelectProperty.mjs.map +1 -1
- package/dist/components/properties/NumberProperty.js +182 -65
- package/dist/components/properties/NumberProperty.js.map +1 -1
- package/dist/components/properties/NumberProperty.mjs +179 -62
- package/dist/components/properties/NumberProperty.mjs.map +1 -1
- package/dist/components/properties/PropertyBase.js +12 -1
- package/dist/components/properties/PropertyBase.js.map +1 -1
- package/dist/components/properties/PropertyBase.mjs +12 -1
- package/dist/components/properties/PropertyBase.mjs.map +1 -1
- package/dist/components/properties/SelectProperty.js +194 -74
- package/dist/components/properties/SelectProperty.js.map +1 -1
- package/dist/components/properties/SelectProperty.mjs +187 -67
- package/dist/components/properties/SelectProperty.mjs.map +1 -1
- package/dist/components/properties/TextProperty.js +43 -34
- package/dist/components/properties/TextProperty.js.map +1 -1
- package/dist/components/properties/TextProperty.mjs +43 -34
- package/dist/components/properties/TextProperty.mjs.map +1 -1
- package/dist/components/table/FillerRowElement.d.mts +8 -0
- package/dist/components/table/FillerRowElement.d.ts +8 -0
- package/dist/components/table/FillerRowElement.js +36 -0
- package/dist/components/table/FillerRowElement.js.map +1 -0
- package/dist/components/table/FillerRowElement.mjs +12 -0
- package/dist/components/table/FillerRowElement.mjs.map +1 -0
- package/dist/components/table/Filter.d.mts +5 -0
- package/dist/components/table/Filter.d.ts +5 -0
- package/dist/components/table/Filter.js +41 -0
- package/dist/components/table/Filter.js.map +1 -0
- package/dist/components/table/Filter.mjs +17 -0
- package/dist/components/table/Filter.mjs.map +1 -0
- package/dist/components/table/Table.d.mts +41 -0
- package/dist/components/table/Table.d.ts +41 -0
- package/dist/components/table/Table.js +1549 -0
- package/dist/components/table/Table.js.map +1 -0
- package/dist/components/table/Table.mjs +1520 -0
- package/dist/components/table/Table.mjs.map +1 -0
- package/dist/components/table/TableCell.d.mts +9 -0
- package/dist/components/table/TableCell.d.ts +9 -0
- package/dist/components/table/TableCell.js +37 -0
- package/dist/components/table/TableCell.js.map +1 -0
- package/dist/components/table/TableCell.mjs +13 -0
- package/dist/components/table/TableCell.mjs.map +1 -0
- package/dist/components/table/TableFilterButton.d.mts +11 -0
- package/dist/components/table/TableFilterButton.d.ts +11 -0
- package/dist/components/table/TableFilterButton.js +888 -0
- package/dist/components/table/TableFilterButton.js.map +1 -0
- package/dist/components/table/TableFilterButton.mjs +852 -0
- package/dist/components/table/TableFilterButton.mjs.map +1 -0
- package/dist/components/table/TableSortButton.d.mts +15 -0
- package/dist/components/table/TableSortButton.d.ts +15 -0
- package/dist/components/table/TableSortButton.js +136 -0
- package/dist/components/table/TableSortButton.js.map +1 -0
- package/dist/components/table/TableSortButton.mjs +102 -0
- package/dist/components/table/TableSortButton.mjs.map +1 -0
- package/dist/components/user-action/Button.d.mts +20 -5
- package/dist/components/user-action/Button.d.ts +20 -5
- package/dist/components/user-action/Button.js +12 -3
- package/dist/components/user-action/Button.js.map +1 -1
- package/dist/components/user-action/Button.mjs +11 -3
- package/dist/components/user-action/Button.mjs.map +1 -1
- package/dist/components/user-action/Checkbox.js +5 -4
- package/dist/components/user-action/Checkbox.js.map +1 -1
- package/dist/components/user-action/Checkbox.mjs +5 -4
- package/dist/components/user-action/Checkbox.mjs.map +1 -1
- package/dist/components/user-action/DateAndTimePicker.js +41 -9
- package/dist/components/user-action/DateAndTimePicker.js.map +1 -1
- package/dist/components/user-action/DateAndTimePicker.mjs +41 -9
- package/dist/components/user-action/DateAndTimePicker.mjs.map +1 -1
- package/dist/components/user-action/Input.d.mts +27 -7
- package/dist/components/user-action/Input.d.ts +27 -7
- package/dist/components/user-action/Input.js +173 -64
- package/dist/components/user-action/Input.js.map +1 -1
- package/dist/components/user-action/Input.mjs +172 -63
- package/dist/components/user-action/Input.mjs.map +1 -1
- package/dist/components/user-action/MultiSelect.js +195 -75
- package/dist/components/user-action/MultiSelect.js.map +1 -1
- package/dist/components/user-action/MultiSelect.mjs +187 -67
- package/dist/components/user-action/MultiSelect.mjs.map +1 -1
- package/dist/components/user-action/ScrollPicker.js +26 -5
- package/dist/components/user-action/ScrollPicker.js.map +1 -1
- package/dist/components/user-action/ScrollPicker.mjs +26 -5
- package/dist/components/user-action/ScrollPicker.mjs.map +1 -1
- package/dist/components/user-action/Select.js +195 -75
- package/dist/components/user-action/Select.js.map +1 -1
- package/dist/components/user-action/Select.mjs +187 -67
- package/dist/components/user-action/Select.mjs.map +1 -1
- package/dist/components/user-action/Textarea.d.mts +3 -1
- package/dist/components/user-action/Textarea.d.ts +3 -1
- package/dist/components/user-action/Textarea.js +31 -33
- package/dist/components/user-action/Textarea.js.map +1 -1
- package/dist/components/user-action/Textarea.mjs +31 -33
- package/dist/components/user-action/Textarea.mjs.map +1 -1
- package/dist/components/user-action/ToggleableInput.d.mts +3 -1
- package/dist/components/user-action/ToggleableInput.d.ts +3 -1
- package/dist/components/user-action/ToggleableInput.js +31 -33
- package/dist/components/user-action/ToggleableInput.js.map +1 -1
- package/dist/components/user-action/ToggleableInput.mjs +31 -33
- package/dist/components/user-action/ToggleableInput.mjs.map +1 -1
- package/dist/css/globals.css +431 -186
- package/dist/css/uncompiled/globals.css +36 -493
- package/dist/css/uncompiled/textstyles.css +69 -0
- package/dist/css/uncompiled/theme/colors-basic.css +72 -0
- package/dist/css/uncompiled/theme/colors-component.css +143 -0
- package/dist/css/uncompiled/theme/colors-semantic.css +99 -0
- package/dist/css/uncompiled/theme/index.css +5 -0
- package/dist/css/uncompiled/theme/theme.css +0 -0
- package/dist/css/uncompiled/theme/variants.css +3 -0
- package/dist/css/uncompiled/utitlity/animation.css +111 -0
- package/dist/css/uncompiled/utitlity/borderradius.css +23 -0
- package/dist/css/uncompiled/utitlity/general.css +11 -0
- package/dist/css/uncompiled/utitlity/index.css +4 -0
- package/dist/css/uncompiled/utitlity/shadow.css +29 -0
- package/dist/hooks/useDelay.d.mts +11 -0
- package/dist/hooks/useDelay.d.ts +11 -0
- package/dist/hooks/useDelay.js +64 -0
- package/dist/hooks/useDelay.js.map +1 -0
- package/dist/hooks/useDelay.mjs +40 -0
- package/dist/hooks/useDelay.mjs.map +1 -0
- package/dist/hooks/useFocusManagement.d.mts +9 -0
- package/dist/hooks/useFocusManagement.d.ts +9 -0
- package/dist/hooks/useFocusManagement.js +84 -0
- package/dist/hooks/useFocusManagement.js.map +1 -0
- package/dist/hooks/useFocusManagement.mjs +60 -0
- package/dist/hooks/useFocusManagement.mjs.map +1 -0
- package/dist/hooks/useFocusOnceVisible.d.mts +5 -0
- package/dist/hooks/useFocusOnceVisible.d.ts +5 -0
- package/dist/hooks/useFocusOnceVisible.js +60 -0
- package/dist/hooks/useFocusOnceVisible.js.map +1 -0
- package/dist/hooks/useFocusOnceVisible.mjs +26 -0
- package/dist/hooks/useFocusOnceVisible.mjs.map +1 -0
- package/dist/hooks/useRerender.d.mts +5 -0
- package/dist/hooks/useRerender.d.ts +5 -0
- package/dist/hooks/useRerender.js +33 -0
- package/dist/hooks/useRerender.js.map +1 -0
- package/dist/hooks/useRerender.mjs +9 -0
- package/dist/hooks/useRerender.mjs.map +1 -0
- package/dist/hooks/useResizeCallbackWrapper.d.mts +11 -0
- package/dist/hooks/useResizeCallbackWrapper.d.ts +11 -0
- package/dist/hooks/useResizeCallbackWrapper.js +38 -0
- package/dist/hooks/useResizeCallbackWrapper.js.map +1 -0
- package/dist/hooks/useResizeCallbackWrapper.mjs +14 -0
- package/dist/hooks/useResizeCallbackWrapper.mjs.map +1 -0
- package/dist/index.d.mts +16 -5
- package/dist/index.d.ts +16 -5
- package/dist/index.js +1428 -860
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1370 -799
- package/dist/index.mjs.map +1 -1
- package/dist/localization/defaults/form.d.mts +1 -0
- package/dist/localization/defaults/form.d.ts +1 -0
- package/dist/localization/defaults/form.js +2 -0
- package/dist/localization/defaults/form.js.map +1 -1
- package/dist/localization/defaults/form.mjs +2 -0
- package/dist/localization/defaults/form.mjs.map +1 -1
- package/dist/util/array.d.mts +11 -5
- package/dist/util/array.d.ts +11 -5
- package/dist/util/array.js +25 -4
- package/dist/util/array.js.map +1 -1
- package/dist/util/array.mjs +25 -4
- package/dist/util/array.mjs.map +1 -1
- package/dist/util/date.js.map +1 -1
- package/dist/util/date.mjs.map +1 -1
- package/dist/util/resolveSetState.d.mts +5 -0
- package/dist/util/resolveSetState.d.ts +5 -0
- package/dist/util/resolveSetState.js +32 -0
- package/dist/util/resolveSetState.js.map +1 -0
- package/dist/util/resolveSetState.mjs +8 -0
- package/dist/util/resolveSetState.mjs.map +1 -0
- package/package.json +4 -2
- package/dist/components/layout-and-navigation/Table.d.mts +0 -99
- package/dist/components/layout-and-navigation/Table.d.ts +0 -99
- package/dist/components/layout-and-navigation/Table.js +0 -688
- package/dist/components/layout-and-navigation/Table.js.map +0 -1
- package/dist/components/layout-and-navigation/Table.mjs +0 -645
- package/dist/components/layout-and-navigation/Table.mjs.map +0 -1
- package/dist/hooks/useSaveDelay.d.mts +0 -6
- package/dist/hooks/useSaveDelay.d.ts +0 -6
- package/dist/hooks/useSaveDelay.js +0 -67
- package/dist/hooks/useSaveDelay.js.map +0 -1
- package/dist/hooks/useSaveDelay.mjs +0 -43
- package/dist/hooks/useSaveDelay.mjs.map +0 -1
|
@@ -90,7 +90,7 @@ var useTranslation = (translations, overwriteTranslation = {}) => {
|
|
|
90
90
|
};
|
|
91
91
|
|
|
92
92
|
// src/components/user-action/MultiSelect.tsx
|
|
93
|
-
import { useEffect as
|
|
93
|
+
import { useEffect as useEffect8, useRef as useRef2, useState as useState6 } from "react";
|
|
94
94
|
import { ChevronDown, ChevronUp } from "lucide-react";
|
|
95
95
|
import clsx7 from "clsx";
|
|
96
96
|
|
|
@@ -117,55 +117,147 @@ import { Search } from "lucide-react";
|
|
|
117
117
|
import clsx4 from "clsx";
|
|
118
118
|
|
|
119
119
|
// src/components/user-action/Input.tsx
|
|
120
|
-
import { forwardRef, useEffect as
|
|
120
|
+
import { forwardRef, useEffect as useEffect5, useImperativeHandle, useRef, useState as useState4 } from "react";
|
|
121
121
|
import clsx2 from "clsx";
|
|
122
122
|
|
|
123
|
-
// src/hooks/
|
|
123
|
+
// src/hooks/useDelay.ts
|
|
124
124
|
import { useEffect as useEffect3, useState as useState3 } from "react";
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
setNotificationTimer(setTimeout(() => {
|
|
135
|
-
setNotificationStatus(false);
|
|
136
|
-
clearTimeout(notificationTimer);
|
|
137
|
-
}, delay));
|
|
138
|
-
clearTimeout(updateTimer);
|
|
139
|
-
}, delay));
|
|
125
|
+
var defaultOptions = {
|
|
126
|
+
delay: 3e3,
|
|
127
|
+
disabled: false
|
|
128
|
+
};
|
|
129
|
+
function useDelay(options) {
|
|
130
|
+
const [timer, setTimer] = useState3(void 0);
|
|
131
|
+
const { delay, disabled } = {
|
|
132
|
+
...defaultOptions,
|
|
133
|
+
...options
|
|
140
134
|
};
|
|
141
|
-
const
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
setNotificationStatus(true);
|
|
145
|
-
clearTimeout(notificationTimer);
|
|
146
|
-
setNotificationTimer(setTimeout(() => {
|
|
147
|
-
setNotificationStatus(false);
|
|
148
|
-
clearTimeout(notificationTimer);
|
|
149
|
-
}, delay));
|
|
150
|
-
} else {
|
|
151
|
-
setNotificationStatus(false);
|
|
135
|
+
const restartTimer = (onDelayFinish) => {
|
|
136
|
+
if (disabled) {
|
|
137
|
+
return;
|
|
152
138
|
}
|
|
139
|
+
clearTimeout(timer);
|
|
140
|
+
setTimer(setTimeout(() => {
|
|
141
|
+
onDelayFinish();
|
|
142
|
+
}, delay));
|
|
143
|
+
};
|
|
144
|
+
const clearTimer = () => {
|
|
145
|
+
clearTimeout(timer);
|
|
153
146
|
};
|
|
154
147
|
useEffect3(() => {
|
|
155
148
|
return () => {
|
|
156
|
-
clearTimeout(
|
|
157
|
-
clearTimeout(notificationTimer);
|
|
149
|
+
clearTimeout(timer);
|
|
158
150
|
};
|
|
159
|
-
}, []);
|
|
160
|
-
|
|
151
|
+
}, [timer]);
|
|
152
|
+
useEffect3(() => {
|
|
153
|
+
if (disabled) {
|
|
154
|
+
clearTimeout(timer);
|
|
155
|
+
}
|
|
156
|
+
}, [disabled, timer]);
|
|
157
|
+
return { restartTimer, clearTimer };
|
|
161
158
|
}
|
|
162
159
|
|
|
163
160
|
// src/util/noop.ts
|
|
164
161
|
var noop = () => void 0;
|
|
165
162
|
|
|
163
|
+
// src/hooks/useFocusManagement.ts
|
|
164
|
+
import { useCallback as useCallback2 } from "react";
|
|
165
|
+
function useFocusManagement() {
|
|
166
|
+
const getFocusableElements = useCallback2(() => {
|
|
167
|
+
return Array.from(
|
|
168
|
+
document.querySelectorAll(
|
|
169
|
+
'input, button, select, textarea, a[href], [tabindex]:not([tabindex="-1"])'
|
|
170
|
+
)
|
|
171
|
+
).filter(
|
|
172
|
+
(el) => el instanceof HTMLElement && !el.hasAttribute("disabled") && !el.hasAttribute("hidden") && el.tabIndex !== -1
|
|
173
|
+
);
|
|
174
|
+
}, []);
|
|
175
|
+
const getNextFocusElement = useCallback2(() => {
|
|
176
|
+
const elements = getFocusableElements();
|
|
177
|
+
if (elements.length === 0) {
|
|
178
|
+
return void 0;
|
|
179
|
+
}
|
|
180
|
+
let nextElement = elements[0];
|
|
181
|
+
if (document.activeElement instanceof HTMLElement) {
|
|
182
|
+
const currentIndex = elements.indexOf(document.activeElement);
|
|
183
|
+
nextElement = elements[(currentIndex + 1) % elements.length];
|
|
184
|
+
}
|
|
185
|
+
return nextElement;
|
|
186
|
+
}, [getFocusableElements]);
|
|
187
|
+
const focusNext = useCallback2(() => {
|
|
188
|
+
const nextElement = getNextFocusElement();
|
|
189
|
+
nextElement?.focus();
|
|
190
|
+
}, [getNextFocusElement]);
|
|
191
|
+
const getPreviousFocusElement = useCallback2(() => {
|
|
192
|
+
const elements = getFocusableElements();
|
|
193
|
+
if (elements.length === 0) {
|
|
194
|
+
return void 0;
|
|
195
|
+
}
|
|
196
|
+
let previousElement = elements[0];
|
|
197
|
+
if (document.activeElement instanceof HTMLElement) {
|
|
198
|
+
const currentIndex = elements.indexOf(document.activeElement);
|
|
199
|
+
if (currentIndex === 0) {
|
|
200
|
+
previousElement = elements[elements.length - 1];
|
|
201
|
+
} else {
|
|
202
|
+
previousElement = elements[currentIndex - 1];
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
return previousElement;
|
|
206
|
+
}, [getFocusableElements]);
|
|
207
|
+
const focusPrevious = useCallback2(() => {
|
|
208
|
+
const previousElement = getPreviousFocusElement();
|
|
209
|
+
if (previousElement) previousElement.focus();
|
|
210
|
+
}, [getPreviousFocusElement]);
|
|
211
|
+
return {
|
|
212
|
+
getFocusableElements,
|
|
213
|
+
getNextFocusElement,
|
|
214
|
+
getPreviousFocusElement,
|
|
215
|
+
focusNext,
|
|
216
|
+
focusPrevious
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
// src/hooks/useFocusOnceVisible.ts
|
|
221
|
+
import React, { useEffect as useEffect4 } from "react";
|
|
222
|
+
var useFocusOnceVisible = (ref, disable = false) => {
|
|
223
|
+
const [hasUsedFocus, setHasUsedFocus] = React.useState(false);
|
|
224
|
+
useEffect4(() => {
|
|
225
|
+
if (disable || hasUsedFocus) {
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
228
|
+
const observer = new IntersectionObserver(([entry]) => {
|
|
229
|
+
if (entry.isIntersecting && !hasUsedFocus) {
|
|
230
|
+
ref.current?.focus();
|
|
231
|
+
setHasUsedFocus(hasUsedFocus);
|
|
232
|
+
}
|
|
233
|
+
}, {
|
|
234
|
+
threshold: 0.1
|
|
235
|
+
});
|
|
236
|
+
if (ref.current) {
|
|
237
|
+
observer.observe(ref.current);
|
|
238
|
+
}
|
|
239
|
+
return () => observer.disconnect();
|
|
240
|
+
}, [disable, hasUsedFocus, ref]);
|
|
241
|
+
};
|
|
242
|
+
|
|
166
243
|
// src/components/user-action/Input.tsx
|
|
167
244
|
import { jsx as jsx3, jsxs } from "react/jsx-runtime";
|
|
168
|
-
var
|
|
245
|
+
var getInputClassName = ({ disabled = false, hasError = false }) => {
|
|
246
|
+
return clsx2(
|
|
247
|
+
"px-2 py-1.5 rounded-md border-2",
|
|
248
|
+
{
|
|
249
|
+
"bg-surface text-on-surface hover:border-primary focus:border-primary": !disabled && !hasError,
|
|
250
|
+
"bg-on-negative text-negative border-negative-border hover:border-negative-border-hover": !disabled && hasError,
|
|
251
|
+
"bg-disabled-background text-disabled-text border-disabled-border": disabled
|
|
252
|
+
}
|
|
253
|
+
);
|
|
254
|
+
};
|
|
255
|
+
var defaultEditCompleteOptions = {
|
|
256
|
+
onBlur: true,
|
|
257
|
+
afterDelay: true,
|
|
258
|
+
delay: 2500
|
|
259
|
+
};
|
|
260
|
+
var Input = forwardRef(function Input2({
|
|
169
261
|
id,
|
|
170
262
|
type = "text",
|
|
171
263
|
value,
|
|
@@ -174,57 +266,72 @@ var Input = ({
|
|
|
174
266
|
onChangeText = noop,
|
|
175
267
|
onEditCompleted,
|
|
176
268
|
className = "",
|
|
269
|
+
allowEnterComplete = true,
|
|
177
270
|
expanded = true,
|
|
178
|
-
autoFocus,
|
|
271
|
+
autoFocus = false,
|
|
179
272
|
onBlur,
|
|
273
|
+
editCompleteOptions,
|
|
180
274
|
containerClassName,
|
|
275
|
+
disabled,
|
|
181
276
|
...restProps
|
|
182
|
-
})
|
|
277
|
+
}, forwardedRef) {
|
|
278
|
+
const { onBlur: allowEditCompleteOnBlur, afterDelay, delay } = { ...defaultEditCompleteOptions, ...editCompleteOptions };
|
|
183
279
|
const {
|
|
184
280
|
restartTimer,
|
|
185
|
-
|
|
186
|
-
} =
|
|
187
|
-
const
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
281
|
+
clearTimer
|
|
282
|
+
} = useDelay({ delay, disabled: !afterDelay });
|
|
283
|
+
const innerRef = useRef(null);
|
|
284
|
+
const { focusNext } = useFocusManagement();
|
|
285
|
+
useFocusOnceVisible(innerRef, !autoFocus);
|
|
286
|
+
useImperativeHandle(forwardedRef, () => innerRef.current);
|
|
287
|
+
const handleKeyDown = (e) => {
|
|
288
|
+
if (e.key === "Enter" && !e.shiftKey) {
|
|
289
|
+
e.preventDefault();
|
|
290
|
+
innerRef.current?.blur();
|
|
291
|
+
focusNext();
|
|
191
292
|
}
|
|
192
|
-
}
|
|
293
|
+
};
|
|
193
294
|
return /* @__PURE__ */ jsxs("div", { className: clsx2({ "w-full": expanded }, containerClassName), children: [
|
|
194
295
|
label && /* @__PURE__ */ jsx3(Label, { ...label, htmlFor: id, className: clsx2("mb-1", label.className) }),
|
|
195
296
|
/* @__PURE__ */ jsx3(
|
|
196
297
|
"input",
|
|
197
298
|
{
|
|
198
|
-
|
|
299
|
+
...restProps,
|
|
300
|
+
ref: innerRef,
|
|
199
301
|
value,
|
|
200
302
|
id,
|
|
201
303
|
type,
|
|
202
|
-
|
|
304
|
+
disabled,
|
|
305
|
+
className: clsx2(getInputClassName({ disabled }), className),
|
|
306
|
+
onKeyDown: allowEnterComplete ? handleKeyDown : void 0,
|
|
203
307
|
onBlur: (event) => {
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
}
|
|
207
|
-
if (onEditCompleted) {
|
|
308
|
+
onBlur?.(event);
|
|
309
|
+
if (onEditCompleted && allowEditCompleteOnBlur) {
|
|
208
310
|
onEditCompleted(event.target.value);
|
|
209
|
-
|
|
311
|
+
clearTimer();
|
|
210
312
|
}
|
|
211
313
|
},
|
|
212
314
|
onChange: (e) => {
|
|
213
315
|
const value2 = e.target.value;
|
|
214
316
|
if (onEditCompleted) {
|
|
215
317
|
restartTimer(() => {
|
|
216
|
-
|
|
217
|
-
|
|
318
|
+
if (innerRef.current) {
|
|
319
|
+
innerRef.current.blur();
|
|
320
|
+
if (!allowEditCompleteOnBlur) {
|
|
321
|
+
onEditCompleted(value2);
|
|
322
|
+
}
|
|
323
|
+
} else {
|
|
324
|
+
onEditCompleted(value2);
|
|
325
|
+
}
|
|
218
326
|
});
|
|
219
327
|
}
|
|
220
328
|
onChange(e);
|
|
221
329
|
onChangeText(value2);
|
|
222
|
-
}
|
|
223
|
-
...restProps
|
|
330
|
+
}
|
|
224
331
|
}
|
|
225
332
|
)
|
|
226
333
|
] });
|
|
227
|
-
};
|
|
334
|
+
});
|
|
228
335
|
var FormInput = forwardRef(function FormInput2({
|
|
229
336
|
id,
|
|
230
337
|
labelText,
|
|
@@ -234,19 +341,18 @@ var FormInput = forwardRef(function FormInput2({
|
|
|
234
341
|
errorClassName,
|
|
235
342
|
containerClassName,
|
|
236
343
|
required,
|
|
344
|
+
disabled,
|
|
237
345
|
...restProps
|
|
238
346
|
}, ref) {
|
|
239
347
|
const input = /* @__PURE__ */ jsx3(
|
|
240
348
|
"input",
|
|
241
349
|
{
|
|
350
|
+
...restProps,
|
|
242
351
|
ref,
|
|
243
352
|
id,
|
|
244
|
-
|
|
353
|
+
disabled,
|
|
245
354
|
className: clsx2(
|
|
246
|
-
{
|
|
247
|
-
"focus:border-primary focus:ring-primary": !errorText,
|
|
248
|
-
"focus:border-negative focus:ring-negative text-negative": !!errorText
|
|
249
|
-
},
|
|
355
|
+
getInputClassName({ disabled, hasError: !!errorText }),
|
|
250
356
|
className
|
|
251
357
|
)
|
|
252
358
|
}
|
|
@@ -264,12 +370,21 @@ var FormInput = forwardRef(function FormInput2({
|
|
|
264
370
|
// src/components/user-action/Button.tsx
|
|
265
371
|
import clsx3 from "clsx";
|
|
266
372
|
import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
373
|
+
var ButtonColorUtil = {
|
|
374
|
+
solid: ["primary", "secondary", "tertiary", "positive", "warning", "negative", "neutral"],
|
|
375
|
+
text: ["primary", "negative", "neutral"],
|
|
376
|
+
outline: ["primary"]
|
|
377
|
+
};
|
|
378
|
+
var IconButtonUtil = {
|
|
379
|
+
icon: [...ButtonColorUtil.solid, "transparent"]
|
|
380
|
+
};
|
|
267
381
|
var paddingMapping = {
|
|
268
382
|
small: "btn-sm",
|
|
269
383
|
medium: "btn-md",
|
|
270
384
|
large: "btn-lg"
|
|
271
385
|
};
|
|
272
386
|
var iconPaddingMapping = {
|
|
387
|
+
tiny: "icon-btn-xs",
|
|
273
388
|
small: "icon-btn-sm",
|
|
274
389
|
medium: "icon-btn-md",
|
|
275
390
|
large: "icon-btn-lg"
|
|
@@ -376,7 +491,7 @@ var TextButton = ({
|
|
|
376
491
|
className: clsx3(
|
|
377
492
|
{
|
|
378
493
|
"text-disabled-text cursor-not-allowed": disabled,
|
|
379
|
-
[clsx3(colorClasses, "hover:bg-button-text-hover-background
|
|
494
|
+
[clsx3(colorClasses, "hover:bg-button-text-hover-background")]: !disabled
|
|
380
495
|
},
|
|
381
496
|
ButtonUtil.paddingMapping[size],
|
|
382
497
|
className
|
|
@@ -424,7 +539,8 @@ var IconButton = ({
|
|
|
424
539
|
positive: "bg-button-solid-positive-background text-button-solid-positive-text",
|
|
425
540
|
warning: "bg-button-solid-warning-background text-button-solid-warning-text",
|
|
426
541
|
negative: "bg-button-solid-negative-background text-button-solid-negative-text",
|
|
427
|
-
neutral: "bg-button-solid-neutral-background text-button-solid-neutral-text"
|
|
542
|
+
neutral: "bg-button-solid-neutral-background text-button-solid-neutral-text",
|
|
543
|
+
transparent: "bg-transparent"
|
|
428
544
|
}[color];
|
|
429
545
|
return /* @__PURE__ */ jsx4(
|
|
430
546
|
"button",
|
|
@@ -433,7 +549,9 @@ var IconButton = ({
|
|
|
433
549
|
disabled: disabled || onClick === void 0,
|
|
434
550
|
className: clsx3(
|
|
435
551
|
{
|
|
436
|
-
"text-disabled-text bg-disabled-background cursor-not-allowed": disabled,
|
|
552
|
+
"text-disabled-text bg-disabled-background cursor-not-allowed": disabled && color !== "transparent",
|
|
553
|
+
"text-disabled-text cursor-not-allowed opacity-70": disabled && color === "transparent",
|
|
554
|
+
"hover:bg-button-text-hover-background": !disabled && color === "transparent",
|
|
437
555
|
[clsx3(colorClasses, "hover:brightness-90")]: !disabled
|
|
438
556
|
},
|
|
439
557
|
ButtonUtil.iconPaddingMapping[size],
|
|
@@ -446,7 +564,7 @@ var IconButton = ({
|
|
|
446
564
|
};
|
|
447
565
|
|
|
448
566
|
// src/hooks/useSearch.ts
|
|
449
|
-
import { useEffect as
|
|
567
|
+
import { useEffect as useEffect6, useMemo, useState as useState5 } from "react";
|
|
450
568
|
|
|
451
569
|
// src/util/simpleSearch.ts
|
|
452
570
|
var MultiSearchWithMapping = (search, objects, mapping) => {
|
|
@@ -467,7 +585,7 @@ var useSearch = ({
|
|
|
467
585
|
}) => {
|
|
468
586
|
const [items, setItems] = useState5(list);
|
|
469
587
|
const [search, setSearch] = useState5(initialSearch);
|
|
470
|
-
|
|
588
|
+
useEffect6(() => {
|
|
471
589
|
setItems(list);
|
|
472
590
|
}, [list]);
|
|
473
591
|
const result = useMemo(
|
|
@@ -488,6 +606,7 @@ var useSearch = ({
|
|
|
488
606
|
var formTranslation = {
|
|
489
607
|
en: {
|
|
490
608
|
all: "All",
|
|
609
|
+
apply: "Apply",
|
|
491
610
|
back: "Back",
|
|
492
611
|
cancel: "Cancel",
|
|
493
612
|
change: "Change",
|
|
@@ -536,6 +655,7 @@ var formTranslation = {
|
|
|
536
655
|
},
|
|
537
656
|
de: {
|
|
538
657
|
all: "Alle",
|
|
658
|
+
apply: "Anwenden",
|
|
539
659
|
back: "Zur\xFCck",
|
|
540
660
|
cancel: "Abbrechen",
|
|
541
661
|
change: "\xC4ndern",
|
|
@@ -733,9 +853,9 @@ var ChipList = ({
|
|
|
733
853
|
};
|
|
734
854
|
|
|
735
855
|
// src/hooks/useOutsideClick.ts
|
|
736
|
-
import { useEffect as
|
|
856
|
+
import { useEffect as useEffect7 } from "react";
|
|
737
857
|
var useOutsideClick = (refs, handler) => {
|
|
738
|
-
|
|
858
|
+
useEffect7(() => {
|
|
739
859
|
const listener = (event) => {
|
|
740
860
|
if (event.target === null) return;
|
|
741
861
|
if (refs.some((ref) => !ref.current || ref.current.contains(event.target))) {
|