@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
|
@@ -87,7 +87,7 @@ var useTranslation = (translations, overwriteTranslation = {}) => {
|
|
|
87
87
|
|
|
88
88
|
// src/components/user-action/Select.tsx
|
|
89
89
|
import { ChevronDown, ChevronUp } from "lucide-react";
|
|
90
|
-
import { useEffect as
|
|
90
|
+
import { useEffect as useEffect8, useRef as useRef2, useState as useState6 } from "react";
|
|
91
91
|
import clsx6 from "clsx";
|
|
92
92
|
|
|
93
93
|
// src/components/user-action/Label.tsx
|
|
@@ -113,55 +113,147 @@ import { Search } from "lucide-react";
|
|
|
113
113
|
import clsx4 from "clsx";
|
|
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"
|
|
@@ -359,7 +474,8 @@ var IconButton = ({
|
|
|
359
474
|
positive: "bg-button-solid-positive-background text-button-solid-positive-text",
|
|
360
475
|
warning: "bg-button-solid-warning-background text-button-solid-warning-text",
|
|
361
476
|
negative: "bg-button-solid-negative-background text-button-solid-negative-text",
|
|
362
|
-
neutral: "bg-button-solid-neutral-background text-button-solid-neutral-text"
|
|
477
|
+
neutral: "bg-button-solid-neutral-background text-button-solid-neutral-text",
|
|
478
|
+
transparent: "bg-transparent"
|
|
363
479
|
}[color];
|
|
364
480
|
return /* @__PURE__ */ jsx4(
|
|
365
481
|
"button",
|
|
@@ -368,7 +484,9 @@ var IconButton = ({
|
|
|
368
484
|
disabled: disabled || onClick === void 0,
|
|
369
485
|
className: clsx3(
|
|
370
486
|
{
|
|
371
|
-
"text-disabled-text bg-disabled-background cursor-not-allowed": disabled,
|
|
487
|
+
"text-disabled-text bg-disabled-background cursor-not-allowed": disabled && color !== "transparent",
|
|
488
|
+
"text-disabled-text cursor-not-allowed opacity-70": disabled && color === "transparent",
|
|
489
|
+
"hover:bg-button-text-hover-background": !disabled && color === "transparent",
|
|
372
490
|
[clsx3(colorClasses, "hover:brightness-90")]: !disabled
|
|
373
491
|
},
|
|
374
492
|
ButtonUtil.iconPaddingMapping[size],
|
|
@@ -381,7 +499,7 @@ var IconButton = ({
|
|
|
381
499
|
};
|
|
382
500
|
|
|
383
501
|
// src/hooks/useSearch.ts
|
|
384
|
-
import { useEffect as
|
|
502
|
+
import { useEffect as useEffect6, useMemo, useState as useState5 } from "react";
|
|
385
503
|
|
|
386
504
|
// src/util/simpleSearch.ts
|
|
387
505
|
var MultiSearchWithMapping = (search, objects, mapping) => {
|
|
@@ -402,7 +520,7 @@ var useSearch = ({
|
|
|
402
520
|
}) => {
|
|
403
521
|
const [items, setItems] = useState5(list);
|
|
404
522
|
const [search, setSearch] = useState5(initialSearch);
|
|
405
|
-
|
|
523
|
+
useEffect6(() => {
|
|
406
524
|
setItems(list);
|
|
407
525
|
}, [list]);
|
|
408
526
|
const result = useMemo(
|
|
@@ -423,6 +541,7 @@ var useSearch = ({
|
|
|
423
541
|
var formTranslation = {
|
|
424
542
|
en: {
|
|
425
543
|
all: "All",
|
|
544
|
+
apply: "Apply",
|
|
426
545
|
back: "Back",
|
|
427
546
|
cancel: "Cancel",
|
|
428
547
|
change: "Change",
|
|
@@ -471,6 +590,7 @@ var formTranslation = {
|
|
|
471
590
|
},
|
|
472
591
|
de: {
|
|
473
592
|
all: "Alle",
|
|
593
|
+
apply: "Anwenden",
|
|
474
594
|
back: "Zur\xFCck",
|
|
475
595
|
cancel: "Abbrechen",
|
|
476
596
|
change: "\xC4ndern",
|
|
@@ -603,9 +723,9 @@ var Tile = ({
|
|
|
603
723
|
};
|
|
604
724
|
|
|
605
725
|
// src/hooks/useOutsideClick.ts
|
|
606
|
-
import { useEffect as
|
|
726
|
+
import { useEffect as useEffect7 } from "react";
|
|
607
727
|
var useOutsideClick = (refs, handler) => {
|
|
608
|
-
|
|
728
|
+
useEffect7(() => {
|
|
609
729
|
const listener = (event) => {
|
|
610
730
|
if (event.target === null) return;
|
|
611
731
|
if (refs.some((ref) => !ref.current || ref.current.contains(event.target))) {
|
|
@@ -703,12 +823,12 @@ var Select = ({
|
|
|
703
823
|
};
|
|
704
824
|
|
|
705
825
|
// src/components/layout-and-navigation/Overlay.tsx
|
|
706
|
-
import { useEffect as
|
|
826
|
+
import { useEffect as useEffect10, useRef as useRef3, useState as useState8 } from "react";
|
|
707
827
|
import ReactDOM from "react-dom";
|
|
708
828
|
import clsx8 from "clsx";
|
|
709
829
|
|
|
710
830
|
// src/hooks/useHoverState.ts
|
|
711
|
-
import { useEffect as
|
|
831
|
+
import { useEffect as useEffect9, useState as useState7 } from "react";
|
|
712
832
|
var defaultUseHoverStateProps = {
|
|
713
833
|
closingDelay: 200,
|
|
714
834
|
isDisabled: false
|
|
@@ -732,14 +852,14 @@ var useHoverState = (props = void 0) => {
|
|
|
732
852
|
setIsHovered(false);
|
|
733
853
|
}, closingDelay));
|
|
734
854
|
};
|
|
735
|
-
|
|
855
|
+
useEffect9(() => {
|
|
736
856
|
if (timer) {
|
|
737
857
|
return () => {
|
|
738
858
|
clearTimeout(timer);
|
|
739
859
|
};
|
|
740
860
|
}
|
|
741
861
|
});
|
|
742
|
-
|
|
862
|
+
useEffect9(() => {
|
|
743
863
|
if (timer) {
|
|
744
864
|
clearTimeout(timer);
|
|
745
865
|
}
|
|
@@ -827,7 +947,7 @@ var Overlay = ({
|
|
|
827
947
|
backgroundClassName
|
|
828
948
|
}) => {
|
|
829
949
|
const [root, setRoot] = useState8();
|
|
830
|
-
|
|
950
|
+
useEffect10(() => {
|
|
831
951
|
setRoot(document.body);
|
|
832
952
|
}, []);
|
|
833
953
|
if (!root || !isOpen) return null;
|
|
@@ -890,7 +1010,7 @@ var Modal = ({
|
|
|
890
1010
|
headerProps
|
|
891
1011
|
}) => {
|
|
892
1012
|
const ref = useRef3(null);
|
|
893
|
-
|
|
1013
|
+
useEffect10(() => {
|
|
894
1014
|
if (!isOpen) return;
|
|
895
1015
|
const modal = ref.current;
|
|
896
1016
|
if (!modal) {
|
|
@@ -955,7 +1075,7 @@ var Modal = ({
|
|
|
955
1075
|
};
|
|
956
1076
|
|
|
957
1077
|
// src/theming/useTheme.tsx
|
|
958
|
-
import { createContext as createContext2, useContext as useContext2, useEffect as
|
|
1078
|
+
import { createContext as createContext2, useContext as useContext2, useEffect as useEffect11, useState as useState9 } from "react";
|
|
959
1079
|
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
960
1080
|
var themes = ["light", "dark"];
|
|
961
1081
|
var defaultThemeTypeTranslation = {
|