@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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// src/components/user-action/Select.tsx
|
|
2
2
|
import { ChevronDown, ChevronUp } from "lucide-react";
|
|
3
|
-
import { useEffect as
|
|
3
|
+
import { useEffect as useEffect8, useRef as useRef2, useState as useState6 } from "react";
|
|
4
4
|
import clsx6 from "clsx";
|
|
5
5
|
|
|
6
6
|
// src/components/user-action/Label.tsx
|
|
@@ -113,55 +113,147 @@ var useTranslation = (translations, overwriteTranslation = {}) => {
|
|
|
113
113
|
};
|
|
114
114
|
|
|
115
115
|
// src/components/user-action/Input.tsx
|
|
116
|
-
import { forwardRef, useEffect as
|
|
116
|
+
import { forwardRef, useEffect as useEffect5, useImperativeHandle, useRef, useState as useState4 } from "react";
|
|
117
117
|
import clsx2 from "clsx";
|
|
118
118
|
|
|
119
|
-
// src/hooks/
|
|
119
|
+
// src/hooks/useDelay.ts
|
|
120
120
|
import { useEffect as useEffect3, useState as useState3 } from "react";
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
setNotificationTimer(setTimeout(() => {
|
|
131
|
-
setNotificationStatus(false);
|
|
132
|
-
clearTimeout(notificationTimer);
|
|
133
|
-
}, delay));
|
|
134
|
-
clearTimeout(updateTimer);
|
|
135
|
-
}, delay));
|
|
121
|
+
var defaultOptions = {
|
|
122
|
+
delay: 3e3,
|
|
123
|
+
disabled: false
|
|
124
|
+
};
|
|
125
|
+
function useDelay(options) {
|
|
126
|
+
const [timer, setTimer] = useState3(void 0);
|
|
127
|
+
const { delay, disabled } = {
|
|
128
|
+
...defaultOptions,
|
|
129
|
+
...options
|
|
136
130
|
};
|
|
137
|
-
const
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
setNotificationStatus(true);
|
|
141
|
-
clearTimeout(notificationTimer);
|
|
142
|
-
setNotificationTimer(setTimeout(() => {
|
|
143
|
-
setNotificationStatus(false);
|
|
144
|
-
clearTimeout(notificationTimer);
|
|
145
|
-
}, delay));
|
|
146
|
-
} else {
|
|
147
|
-
setNotificationStatus(false);
|
|
131
|
+
const restartTimer = (onDelayFinish) => {
|
|
132
|
+
if (disabled) {
|
|
133
|
+
return;
|
|
148
134
|
}
|
|
135
|
+
clearTimeout(timer);
|
|
136
|
+
setTimer(setTimeout(() => {
|
|
137
|
+
onDelayFinish();
|
|
138
|
+
}, delay));
|
|
139
|
+
};
|
|
140
|
+
const clearTimer = () => {
|
|
141
|
+
clearTimeout(timer);
|
|
149
142
|
};
|
|
150
143
|
useEffect3(() => {
|
|
151
144
|
return () => {
|
|
152
|
-
clearTimeout(
|
|
153
|
-
clearTimeout(notificationTimer);
|
|
145
|
+
clearTimeout(timer);
|
|
154
146
|
};
|
|
155
|
-
}, []);
|
|
156
|
-
|
|
147
|
+
}, [timer]);
|
|
148
|
+
useEffect3(() => {
|
|
149
|
+
if (disabled) {
|
|
150
|
+
clearTimeout(timer);
|
|
151
|
+
}
|
|
152
|
+
}, [disabled, timer]);
|
|
153
|
+
return { restartTimer, clearTimer };
|
|
157
154
|
}
|
|
158
155
|
|
|
159
156
|
// src/util/noop.ts
|
|
160
157
|
var noop = () => void 0;
|
|
161
158
|
|
|
159
|
+
// src/hooks/useFocusManagement.ts
|
|
160
|
+
import { useCallback as useCallback2 } from "react";
|
|
161
|
+
function useFocusManagement() {
|
|
162
|
+
const getFocusableElements = useCallback2(() => {
|
|
163
|
+
return Array.from(
|
|
164
|
+
document.querySelectorAll(
|
|
165
|
+
'input, button, select, textarea, a[href], [tabindex]:not([tabindex="-1"])'
|
|
166
|
+
)
|
|
167
|
+
).filter(
|
|
168
|
+
(el) => el instanceof HTMLElement && !el.hasAttribute("disabled") && !el.hasAttribute("hidden") && el.tabIndex !== -1
|
|
169
|
+
);
|
|
170
|
+
}, []);
|
|
171
|
+
const getNextFocusElement = useCallback2(() => {
|
|
172
|
+
const elements = getFocusableElements();
|
|
173
|
+
if (elements.length === 0) {
|
|
174
|
+
return void 0;
|
|
175
|
+
}
|
|
176
|
+
let nextElement = elements[0];
|
|
177
|
+
if (document.activeElement instanceof HTMLElement) {
|
|
178
|
+
const currentIndex = elements.indexOf(document.activeElement);
|
|
179
|
+
nextElement = elements[(currentIndex + 1) % elements.length];
|
|
180
|
+
}
|
|
181
|
+
return nextElement;
|
|
182
|
+
}, [getFocusableElements]);
|
|
183
|
+
const focusNext = useCallback2(() => {
|
|
184
|
+
const nextElement = getNextFocusElement();
|
|
185
|
+
nextElement?.focus();
|
|
186
|
+
}, [getNextFocusElement]);
|
|
187
|
+
const getPreviousFocusElement = useCallback2(() => {
|
|
188
|
+
const elements = getFocusableElements();
|
|
189
|
+
if (elements.length === 0) {
|
|
190
|
+
return void 0;
|
|
191
|
+
}
|
|
192
|
+
let previousElement = elements[0];
|
|
193
|
+
if (document.activeElement instanceof HTMLElement) {
|
|
194
|
+
const currentIndex = elements.indexOf(document.activeElement);
|
|
195
|
+
if (currentIndex === 0) {
|
|
196
|
+
previousElement = elements[elements.length - 1];
|
|
197
|
+
} else {
|
|
198
|
+
previousElement = elements[currentIndex - 1];
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
return previousElement;
|
|
202
|
+
}, [getFocusableElements]);
|
|
203
|
+
const focusPrevious = useCallback2(() => {
|
|
204
|
+
const previousElement = getPreviousFocusElement();
|
|
205
|
+
if (previousElement) previousElement.focus();
|
|
206
|
+
}, [getPreviousFocusElement]);
|
|
207
|
+
return {
|
|
208
|
+
getFocusableElements,
|
|
209
|
+
getNextFocusElement,
|
|
210
|
+
getPreviousFocusElement,
|
|
211
|
+
focusNext,
|
|
212
|
+
focusPrevious
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
// src/hooks/useFocusOnceVisible.ts
|
|
217
|
+
import React, { useEffect as useEffect4 } from "react";
|
|
218
|
+
var useFocusOnceVisible = (ref, disable = false) => {
|
|
219
|
+
const [hasUsedFocus, setHasUsedFocus] = React.useState(false);
|
|
220
|
+
useEffect4(() => {
|
|
221
|
+
if (disable || hasUsedFocus) {
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
const observer = new IntersectionObserver(([entry]) => {
|
|
225
|
+
if (entry.isIntersecting && !hasUsedFocus) {
|
|
226
|
+
ref.current?.focus();
|
|
227
|
+
setHasUsedFocus(hasUsedFocus);
|
|
228
|
+
}
|
|
229
|
+
}, {
|
|
230
|
+
threshold: 0.1
|
|
231
|
+
});
|
|
232
|
+
if (ref.current) {
|
|
233
|
+
observer.observe(ref.current);
|
|
234
|
+
}
|
|
235
|
+
return () => observer.disconnect();
|
|
236
|
+
}, [disable, hasUsedFocus, ref]);
|
|
237
|
+
};
|
|
238
|
+
|
|
162
239
|
// src/components/user-action/Input.tsx
|
|
163
240
|
import { jsx as jsx3, jsxs } from "react/jsx-runtime";
|
|
164
|
-
var
|
|
241
|
+
var getInputClassName = ({ disabled = false, hasError = false }) => {
|
|
242
|
+
return clsx2(
|
|
243
|
+
"px-2 py-1.5 rounded-md border-2",
|
|
244
|
+
{
|
|
245
|
+
"bg-surface text-on-surface hover:border-primary focus:border-primary": !disabled && !hasError,
|
|
246
|
+
"bg-on-negative text-negative border-negative-border hover:border-negative-border-hover": !disabled && hasError,
|
|
247
|
+
"bg-disabled-background text-disabled-text border-disabled-border": disabled
|
|
248
|
+
}
|
|
249
|
+
);
|
|
250
|
+
};
|
|
251
|
+
var defaultEditCompleteOptions = {
|
|
252
|
+
onBlur: true,
|
|
253
|
+
afterDelay: true,
|
|
254
|
+
delay: 2500
|
|
255
|
+
};
|
|
256
|
+
var Input = forwardRef(function Input2({
|
|
165
257
|
id,
|
|
166
258
|
type = "text",
|
|
167
259
|
value,
|
|
@@ -170,57 +262,72 @@ var Input = ({
|
|
|
170
262
|
onChangeText = noop,
|
|
171
263
|
onEditCompleted,
|
|
172
264
|
className = "",
|
|
265
|
+
allowEnterComplete = true,
|
|
173
266
|
expanded = true,
|
|
174
|
-
autoFocus,
|
|
267
|
+
autoFocus = false,
|
|
175
268
|
onBlur,
|
|
269
|
+
editCompleteOptions,
|
|
176
270
|
containerClassName,
|
|
271
|
+
disabled,
|
|
177
272
|
...restProps
|
|
178
|
-
})
|
|
273
|
+
}, forwardedRef) {
|
|
274
|
+
const { onBlur: allowEditCompleteOnBlur, afterDelay, delay } = { ...defaultEditCompleteOptions, ...editCompleteOptions };
|
|
179
275
|
const {
|
|
180
276
|
restartTimer,
|
|
181
|
-
|
|
182
|
-
} =
|
|
183
|
-
const
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
277
|
+
clearTimer
|
|
278
|
+
} = useDelay({ delay, disabled: !afterDelay });
|
|
279
|
+
const innerRef = useRef(null);
|
|
280
|
+
const { focusNext } = useFocusManagement();
|
|
281
|
+
useFocusOnceVisible(innerRef, !autoFocus);
|
|
282
|
+
useImperativeHandle(forwardedRef, () => innerRef.current);
|
|
283
|
+
const handleKeyDown = (e) => {
|
|
284
|
+
if (e.key === "Enter" && !e.shiftKey) {
|
|
285
|
+
e.preventDefault();
|
|
286
|
+
innerRef.current?.blur();
|
|
287
|
+
focusNext();
|
|
187
288
|
}
|
|
188
|
-
}
|
|
289
|
+
};
|
|
189
290
|
return /* @__PURE__ */ jsxs("div", { className: clsx2({ "w-full": expanded }, containerClassName), children: [
|
|
190
291
|
label && /* @__PURE__ */ jsx3(Label, { ...label, htmlFor: id, className: clsx2("mb-1", label.className) }),
|
|
191
292
|
/* @__PURE__ */ jsx3(
|
|
192
293
|
"input",
|
|
193
294
|
{
|
|
194
|
-
|
|
295
|
+
...restProps,
|
|
296
|
+
ref: innerRef,
|
|
195
297
|
value,
|
|
196
298
|
id,
|
|
197
299
|
type,
|
|
198
|
-
|
|
300
|
+
disabled,
|
|
301
|
+
className: clsx2(getInputClassName({ disabled }), className),
|
|
302
|
+
onKeyDown: allowEnterComplete ? handleKeyDown : void 0,
|
|
199
303
|
onBlur: (event) => {
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
}
|
|
203
|
-
if (onEditCompleted) {
|
|
304
|
+
onBlur?.(event);
|
|
305
|
+
if (onEditCompleted && allowEditCompleteOnBlur) {
|
|
204
306
|
onEditCompleted(event.target.value);
|
|
205
|
-
|
|
307
|
+
clearTimer();
|
|
206
308
|
}
|
|
207
309
|
},
|
|
208
310
|
onChange: (e) => {
|
|
209
311
|
const value2 = e.target.value;
|
|
210
312
|
if (onEditCompleted) {
|
|
211
313
|
restartTimer(() => {
|
|
212
|
-
|
|
213
|
-
|
|
314
|
+
if (innerRef.current) {
|
|
315
|
+
innerRef.current.blur();
|
|
316
|
+
if (!allowEditCompleteOnBlur) {
|
|
317
|
+
onEditCompleted(value2);
|
|
318
|
+
}
|
|
319
|
+
} else {
|
|
320
|
+
onEditCompleted(value2);
|
|
321
|
+
}
|
|
214
322
|
});
|
|
215
323
|
}
|
|
216
324
|
onChange(e);
|
|
217
325
|
onChangeText(value2);
|
|
218
|
-
}
|
|
219
|
-
...restProps
|
|
326
|
+
}
|
|
220
327
|
}
|
|
221
328
|
)
|
|
222
329
|
] });
|
|
223
|
-
};
|
|
330
|
+
});
|
|
224
331
|
var FormInput = forwardRef(function FormInput2({
|
|
225
332
|
id,
|
|
226
333
|
labelText,
|
|
@@ -230,19 +337,18 @@ var FormInput = forwardRef(function FormInput2({
|
|
|
230
337
|
errorClassName,
|
|
231
338
|
containerClassName,
|
|
232
339
|
required,
|
|
340
|
+
disabled,
|
|
233
341
|
...restProps
|
|
234
342
|
}, ref) {
|
|
235
343
|
const input = /* @__PURE__ */ jsx3(
|
|
236
344
|
"input",
|
|
237
345
|
{
|
|
346
|
+
...restProps,
|
|
238
347
|
ref,
|
|
239
348
|
id,
|
|
240
|
-
|
|
349
|
+
disabled,
|
|
241
350
|
className: clsx2(
|
|
242
|
-
{
|
|
243
|
-
"focus:border-primary focus:ring-primary": !errorText,
|
|
244
|
-
"focus:border-negative focus:ring-negative text-negative": !!errorText
|
|
245
|
-
},
|
|
351
|
+
getInputClassName({ disabled, hasError: !!errorText }),
|
|
246
352
|
className
|
|
247
353
|
)
|
|
248
354
|
}
|
|
@@ -260,12 +366,21 @@ var FormInput = forwardRef(function FormInput2({
|
|
|
260
366
|
// src/components/user-action/Button.tsx
|
|
261
367
|
import clsx3 from "clsx";
|
|
262
368
|
import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
369
|
+
var ButtonColorUtil = {
|
|
370
|
+
solid: ["primary", "secondary", "tertiary", "positive", "warning", "negative", "neutral"],
|
|
371
|
+
text: ["primary", "negative", "neutral"],
|
|
372
|
+
outline: ["primary"]
|
|
373
|
+
};
|
|
374
|
+
var IconButtonUtil = {
|
|
375
|
+
icon: [...ButtonColorUtil.solid, "transparent"]
|
|
376
|
+
};
|
|
263
377
|
var paddingMapping = {
|
|
264
378
|
small: "btn-sm",
|
|
265
379
|
medium: "btn-md",
|
|
266
380
|
large: "btn-lg"
|
|
267
381
|
};
|
|
268
382
|
var iconPaddingMapping = {
|
|
383
|
+
tiny: "icon-btn-xs",
|
|
269
384
|
small: "icon-btn-sm",
|
|
270
385
|
medium: "icon-btn-md",
|
|
271
386
|
large: "icon-btn-lg"
|
|
@@ -290,7 +405,8 @@ var IconButton = ({
|
|
|
290
405
|
positive: "bg-button-solid-positive-background text-button-solid-positive-text",
|
|
291
406
|
warning: "bg-button-solid-warning-background text-button-solid-warning-text",
|
|
292
407
|
negative: "bg-button-solid-negative-background text-button-solid-negative-text",
|
|
293
|
-
neutral: "bg-button-solid-neutral-background text-button-solid-neutral-text"
|
|
408
|
+
neutral: "bg-button-solid-neutral-background text-button-solid-neutral-text",
|
|
409
|
+
transparent: "bg-transparent"
|
|
294
410
|
}[color];
|
|
295
411
|
return /* @__PURE__ */ jsx4(
|
|
296
412
|
"button",
|
|
@@ -299,7 +415,9 @@ var IconButton = ({
|
|
|
299
415
|
disabled: disabled || onClick === void 0,
|
|
300
416
|
className: clsx3(
|
|
301
417
|
{
|
|
302
|
-
"text-disabled-text bg-disabled-background cursor-not-allowed": disabled,
|
|
418
|
+
"text-disabled-text bg-disabled-background cursor-not-allowed": disabled && color !== "transparent",
|
|
419
|
+
"text-disabled-text cursor-not-allowed opacity-70": disabled && color === "transparent",
|
|
420
|
+
"hover:bg-button-text-hover-background": !disabled && color === "transparent",
|
|
303
421
|
[clsx3(colorClasses, "hover:brightness-90")]: !disabled
|
|
304
422
|
},
|
|
305
423
|
ButtonUtil.iconPaddingMapping[size],
|
|
@@ -312,7 +430,7 @@ var IconButton = ({
|
|
|
312
430
|
};
|
|
313
431
|
|
|
314
432
|
// src/hooks/useSearch.ts
|
|
315
|
-
import { useEffect as
|
|
433
|
+
import { useEffect as useEffect6, useMemo, useState as useState5 } from "react";
|
|
316
434
|
|
|
317
435
|
// src/util/simpleSearch.ts
|
|
318
436
|
var MultiSearchWithMapping = (search, objects, mapping) => {
|
|
@@ -333,7 +451,7 @@ var useSearch = ({
|
|
|
333
451
|
}) => {
|
|
334
452
|
const [items, setItems] = useState5(list);
|
|
335
453
|
const [search, setSearch] = useState5(initialSearch);
|
|
336
|
-
|
|
454
|
+
useEffect6(() => {
|
|
337
455
|
setItems(list);
|
|
338
456
|
}, [list]);
|
|
339
457
|
const result = useMemo(
|
|
@@ -354,6 +472,7 @@ var useSearch = ({
|
|
|
354
472
|
var formTranslation = {
|
|
355
473
|
en: {
|
|
356
474
|
all: "All",
|
|
475
|
+
apply: "Apply",
|
|
357
476
|
back: "Back",
|
|
358
477
|
cancel: "Cancel",
|
|
359
478
|
change: "Change",
|
|
@@ -402,6 +521,7 @@ var formTranslation = {
|
|
|
402
521
|
},
|
|
403
522
|
de: {
|
|
404
523
|
all: "Alle",
|
|
524
|
+
apply: "Anwenden",
|
|
405
525
|
back: "Zur\xFCck",
|
|
406
526
|
cancel: "Abbrechen",
|
|
407
527
|
change: "\xC4ndern",
|
|
@@ -534,9 +654,9 @@ var Tile = ({
|
|
|
534
654
|
};
|
|
535
655
|
|
|
536
656
|
// src/hooks/useOutsideClick.ts
|
|
537
|
-
import { useEffect as
|
|
657
|
+
import { useEffect as useEffect7 } from "react";
|
|
538
658
|
var useOutsideClick = (refs, handler) => {
|
|
539
|
-
|
|
659
|
+
useEffect7(() => {
|
|
540
660
|
const listener = (event) => {
|
|
541
661
|
if (event.target === null) return;
|
|
542
662
|
if (refs.some((ref) => !ref.current || ref.current.contains(event.target))) {
|
|
@@ -640,7 +760,7 @@ var SelectUncontrolled = ({
|
|
|
640
760
|
...props
|
|
641
761
|
}) => {
|
|
642
762
|
const [selected, setSelected] = useState6(value);
|
|
643
|
-
|
|
763
|
+
useEffect8(() => {
|
|
644
764
|
if (options.find((options2) => options2.value === value)) {
|
|
645
765
|
setSelected(value);
|
|
646
766
|
}
|