@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,5 +1,5 @@
|
|
|
1
1
|
// src/components/user-action/MultiSelect.tsx
|
|
2
|
-
import { useEffect as
|
|
2
|
+
import { useEffect as useEffect8, useRef as useRef2, useState as useState6 } from "react";
|
|
3
3
|
import { ChevronDown, ChevronUp } from "lucide-react";
|
|
4
4
|
|
|
5
5
|
// src/localization/LanguageProvider.tsx
|
|
@@ -115,55 +115,147 @@ import { Search } from "lucide-react";
|
|
|
115
115
|
import clsx4 from "clsx";
|
|
116
116
|
|
|
117
117
|
// src/components/user-action/Input.tsx
|
|
118
|
-
import { forwardRef, useEffect as
|
|
118
|
+
import { forwardRef, useEffect as useEffect5, useImperativeHandle, useRef, useState as useState4 } from "react";
|
|
119
119
|
import clsx2 from "clsx";
|
|
120
120
|
|
|
121
|
-
// src/hooks/
|
|
121
|
+
// src/hooks/useDelay.ts
|
|
122
122
|
import { useEffect as useEffect3, useState as useState3 } from "react";
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
setNotificationTimer(setTimeout(() => {
|
|
133
|
-
setNotificationStatus(false);
|
|
134
|
-
clearTimeout(notificationTimer);
|
|
135
|
-
}, delay));
|
|
136
|
-
clearTimeout(updateTimer);
|
|
137
|
-
}, delay));
|
|
123
|
+
var defaultOptions = {
|
|
124
|
+
delay: 3e3,
|
|
125
|
+
disabled: false
|
|
126
|
+
};
|
|
127
|
+
function useDelay(options) {
|
|
128
|
+
const [timer, setTimer] = useState3(void 0);
|
|
129
|
+
const { delay, disabled } = {
|
|
130
|
+
...defaultOptions,
|
|
131
|
+
...options
|
|
138
132
|
};
|
|
139
|
-
const
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
setNotificationStatus(true);
|
|
143
|
-
clearTimeout(notificationTimer);
|
|
144
|
-
setNotificationTimer(setTimeout(() => {
|
|
145
|
-
setNotificationStatus(false);
|
|
146
|
-
clearTimeout(notificationTimer);
|
|
147
|
-
}, delay));
|
|
148
|
-
} else {
|
|
149
|
-
setNotificationStatus(false);
|
|
133
|
+
const restartTimer = (onDelayFinish) => {
|
|
134
|
+
if (disabled) {
|
|
135
|
+
return;
|
|
150
136
|
}
|
|
137
|
+
clearTimeout(timer);
|
|
138
|
+
setTimer(setTimeout(() => {
|
|
139
|
+
onDelayFinish();
|
|
140
|
+
}, delay));
|
|
141
|
+
};
|
|
142
|
+
const clearTimer = () => {
|
|
143
|
+
clearTimeout(timer);
|
|
151
144
|
};
|
|
152
145
|
useEffect3(() => {
|
|
153
146
|
return () => {
|
|
154
|
-
clearTimeout(
|
|
155
|
-
clearTimeout(notificationTimer);
|
|
147
|
+
clearTimeout(timer);
|
|
156
148
|
};
|
|
157
|
-
}, []);
|
|
158
|
-
|
|
149
|
+
}, [timer]);
|
|
150
|
+
useEffect3(() => {
|
|
151
|
+
if (disabled) {
|
|
152
|
+
clearTimeout(timer);
|
|
153
|
+
}
|
|
154
|
+
}, [disabled, timer]);
|
|
155
|
+
return { restartTimer, clearTimer };
|
|
159
156
|
}
|
|
160
157
|
|
|
161
158
|
// src/util/noop.ts
|
|
162
159
|
var noop = () => void 0;
|
|
163
160
|
|
|
161
|
+
// src/hooks/useFocusManagement.ts
|
|
162
|
+
import { useCallback as useCallback2 } from "react";
|
|
163
|
+
function useFocusManagement() {
|
|
164
|
+
const getFocusableElements = useCallback2(() => {
|
|
165
|
+
return Array.from(
|
|
166
|
+
document.querySelectorAll(
|
|
167
|
+
'input, button, select, textarea, a[href], [tabindex]:not([tabindex="-1"])'
|
|
168
|
+
)
|
|
169
|
+
).filter(
|
|
170
|
+
(el) => el instanceof HTMLElement && !el.hasAttribute("disabled") && !el.hasAttribute("hidden") && el.tabIndex !== -1
|
|
171
|
+
);
|
|
172
|
+
}, []);
|
|
173
|
+
const getNextFocusElement = useCallback2(() => {
|
|
174
|
+
const elements = getFocusableElements();
|
|
175
|
+
if (elements.length === 0) {
|
|
176
|
+
return void 0;
|
|
177
|
+
}
|
|
178
|
+
let nextElement = elements[0];
|
|
179
|
+
if (document.activeElement instanceof HTMLElement) {
|
|
180
|
+
const currentIndex = elements.indexOf(document.activeElement);
|
|
181
|
+
nextElement = elements[(currentIndex + 1) % elements.length];
|
|
182
|
+
}
|
|
183
|
+
return nextElement;
|
|
184
|
+
}, [getFocusableElements]);
|
|
185
|
+
const focusNext = useCallback2(() => {
|
|
186
|
+
const nextElement = getNextFocusElement();
|
|
187
|
+
nextElement?.focus();
|
|
188
|
+
}, [getNextFocusElement]);
|
|
189
|
+
const getPreviousFocusElement = useCallback2(() => {
|
|
190
|
+
const elements = getFocusableElements();
|
|
191
|
+
if (elements.length === 0) {
|
|
192
|
+
return void 0;
|
|
193
|
+
}
|
|
194
|
+
let previousElement = elements[0];
|
|
195
|
+
if (document.activeElement instanceof HTMLElement) {
|
|
196
|
+
const currentIndex = elements.indexOf(document.activeElement);
|
|
197
|
+
if (currentIndex === 0) {
|
|
198
|
+
previousElement = elements[elements.length - 1];
|
|
199
|
+
} else {
|
|
200
|
+
previousElement = elements[currentIndex - 1];
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
return previousElement;
|
|
204
|
+
}, [getFocusableElements]);
|
|
205
|
+
const focusPrevious = useCallback2(() => {
|
|
206
|
+
const previousElement = getPreviousFocusElement();
|
|
207
|
+
if (previousElement) previousElement.focus();
|
|
208
|
+
}, [getPreviousFocusElement]);
|
|
209
|
+
return {
|
|
210
|
+
getFocusableElements,
|
|
211
|
+
getNextFocusElement,
|
|
212
|
+
getPreviousFocusElement,
|
|
213
|
+
focusNext,
|
|
214
|
+
focusPrevious
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
// src/hooks/useFocusOnceVisible.ts
|
|
219
|
+
import React, { useEffect as useEffect4 } from "react";
|
|
220
|
+
var useFocusOnceVisible = (ref, disable = false) => {
|
|
221
|
+
const [hasUsedFocus, setHasUsedFocus] = React.useState(false);
|
|
222
|
+
useEffect4(() => {
|
|
223
|
+
if (disable || hasUsedFocus) {
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
const observer = new IntersectionObserver(([entry]) => {
|
|
227
|
+
if (entry.isIntersecting && !hasUsedFocus) {
|
|
228
|
+
ref.current?.focus();
|
|
229
|
+
setHasUsedFocus(hasUsedFocus);
|
|
230
|
+
}
|
|
231
|
+
}, {
|
|
232
|
+
threshold: 0.1
|
|
233
|
+
});
|
|
234
|
+
if (ref.current) {
|
|
235
|
+
observer.observe(ref.current);
|
|
236
|
+
}
|
|
237
|
+
return () => observer.disconnect();
|
|
238
|
+
}, [disable, hasUsedFocus, ref]);
|
|
239
|
+
};
|
|
240
|
+
|
|
164
241
|
// src/components/user-action/Input.tsx
|
|
165
242
|
import { jsx as jsx3, jsxs } from "react/jsx-runtime";
|
|
166
|
-
var
|
|
243
|
+
var getInputClassName = ({ disabled = false, hasError = false }) => {
|
|
244
|
+
return clsx2(
|
|
245
|
+
"px-2 py-1.5 rounded-md border-2",
|
|
246
|
+
{
|
|
247
|
+
"bg-surface text-on-surface hover:border-primary focus:border-primary": !disabled && !hasError,
|
|
248
|
+
"bg-on-negative text-negative border-negative-border hover:border-negative-border-hover": !disabled && hasError,
|
|
249
|
+
"bg-disabled-background text-disabled-text border-disabled-border": disabled
|
|
250
|
+
}
|
|
251
|
+
);
|
|
252
|
+
};
|
|
253
|
+
var defaultEditCompleteOptions = {
|
|
254
|
+
onBlur: true,
|
|
255
|
+
afterDelay: true,
|
|
256
|
+
delay: 2500
|
|
257
|
+
};
|
|
258
|
+
var Input = forwardRef(function Input2({
|
|
167
259
|
id,
|
|
168
260
|
type = "text",
|
|
169
261
|
value,
|
|
@@ -172,57 +264,72 @@ var Input = ({
|
|
|
172
264
|
onChangeText = noop,
|
|
173
265
|
onEditCompleted,
|
|
174
266
|
className = "",
|
|
267
|
+
allowEnterComplete = true,
|
|
175
268
|
expanded = true,
|
|
176
|
-
autoFocus,
|
|
269
|
+
autoFocus = false,
|
|
177
270
|
onBlur,
|
|
271
|
+
editCompleteOptions,
|
|
178
272
|
containerClassName,
|
|
273
|
+
disabled,
|
|
179
274
|
...restProps
|
|
180
|
-
})
|
|
275
|
+
}, forwardedRef) {
|
|
276
|
+
const { onBlur: allowEditCompleteOnBlur, afterDelay, delay } = { ...defaultEditCompleteOptions, ...editCompleteOptions };
|
|
181
277
|
const {
|
|
182
278
|
restartTimer,
|
|
183
|
-
|
|
184
|
-
} =
|
|
185
|
-
const
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
279
|
+
clearTimer
|
|
280
|
+
} = useDelay({ delay, disabled: !afterDelay });
|
|
281
|
+
const innerRef = useRef(null);
|
|
282
|
+
const { focusNext } = useFocusManagement();
|
|
283
|
+
useFocusOnceVisible(innerRef, !autoFocus);
|
|
284
|
+
useImperativeHandle(forwardedRef, () => innerRef.current);
|
|
285
|
+
const handleKeyDown = (e) => {
|
|
286
|
+
if (e.key === "Enter" && !e.shiftKey) {
|
|
287
|
+
e.preventDefault();
|
|
288
|
+
innerRef.current?.blur();
|
|
289
|
+
focusNext();
|
|
189
290
|
}
|
|
190
|
-
}
|
|
291
|
+
};
|
|
191
292
|
return /* @__PURE__ */ jsxs("div", { className: clsx2({ "w-full": expanded }, containerClassName), children: [
|
|
192
293
|
label && /* @__PURE__ */ jsx3(Label, { ...label, htmlFor: id, className: clsx2("mb-1", label.className) }),
|
|
193
294
|
/* @__PURE__ */ jsx3(
|
|
194
295
|
"input",
|
|
195
296
|
{
|
|
196
|
-
|
|
297
|
+
...restProps,
|
|
298
|
+
ref: innerRef,
|
|
197
299
|
value,
|
|
198
300
|
id,
|
|
199
301
|
type,
|
|
200
|
-
|
|
302
|
+
disabled,
|
|
303
|
+
className: clsx2(getInputClassName({ disabled }), className),
|
|
304
|
+
onKeyDown: allowEnterComplete ? handleKeyDown : void 0,
|
|
201
305
|
onBlur: (event) => {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
}
|
|
205
|
-
if (onEditCompleted) {
|
|
306
|
+
onBlur?.(event);
|
|
307
|
+
if (onEditCompleted && allowEditCompleteOnBlur) {
|
|
206
308
|
onEditCompleted(event.target.value);
|
|
207
|
-
|
|
309
|
+
clearTimer();
|
|
208
310
|
}
|
|
209
311
|
},
|
|
210
312
|
onChange: (e) => {
|
|
211
313
|
const value2 = e.target.value;
|
|
212
314
|
if (onEditCompleted) {
|
|
213
315
|
restartTimer(() => {
|
|
214
|
-
|
|
215
|
-
|
|
316
|
+
if (innerRef.current) {
|
|
317
|
+
innerRef.current.blur();
|
|
318
|
+
if (!allowEditCompleteOnBlur) {
|
|
319
|
+
onEditCompleted(value2);
|
|
320
|
+
}
|
|
321
|
+
} else {
|
|
322
|
+
onEditCompleted(value2);
|
|
323
|
+
}
|
|
216
324
|
});
|
|
217
325
|
}
|
|
218
326
|
onChange(e);
|
|
219
327
|
onChangeText(value2);
|
|
220
|
-
}
|
|
221
|
-
...restProps
|
|
328
|
+
}
|
|
222
329
|
}
|
|
223
330
|
)
|
|
224
331
|
] });
|
|
225
|
-
};
|
|
332
|
+
});
|
|
226
333
|
var FormInput = forwardRef(function FormInput2({
|
|
227
334
|
id,
|
|
228
335
|
labelText,
|
|
@@ -232,19 +339,18 @@ var FormInput = forwardRef(function FormInput2({
|
|
|
232
339
|
errorClassName,
|
|
233
340
|
containerClassName,
|
|
234
341
|
required,
|
|
342
|
+
disabled,
|
|
235
343
|
...restProps
|
|
236
344
|
}, ref) {
|
|
237
345
|
const input = /* @__PURE__ */ jsx3(
|
|
238
346
|
"input",
|
|
239
347
|
{
|
|
348
|
+
...restProps,
|
|
240
349
|
ref,
|
|
241
350
|
id,
|
|
242
|
-
|
|
351
|
+
disabled,
|
|
243
352
|
className: clsx2(
|
|
244
|
-
{
|
|
245
|
-
"focus:border-primary focus:ring-primary": !errorText,
|
|
246
|
-
"focus:border-negative focus:ring-negative text-negative": !!errorText
|
|
247
|
-
},
|
|
353
|
+
getInputClassName({ disabled, hasError: !!errorText }),
|
|
248
354
|
className
|
|
249
355
|
)
|
|
250
356
|
}
|
|
@@ -262,12 +368,21 @@ var FormInput = forwardRef(function FormInput2({
|
|
|
262
368
|
// src/components/user-action/Button.tsx
|
|
263
369
|
import clsx3 from "clsx";
|
|
264
370
|
import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
371
|
+
var ButtonColorUtil = {
|
|
372
|
+
solid: ["primary", "secondary", "tertiary", "positive", "warning", "negative", "neutral"],
|
|
373
|
+
text: ["primary", "negative", "neutral"],
|
|
374
|
+
outline: ["primary"]
|
|
375
|
+
};
|
|
376
|
+
var IconButtonUtil = {
|
|
377
|
+
icon: [...ButtonColorUtil.solid, "transparent"]
|
|
378
|
+
};
|
|
265
379
|
var paddingMapping = {
|
|
266
380
|
small: "btn-sm",
|
|
267
381
|
medium: "btn-md",
|
|
268
382
|
large: "btn-lg"
|
|
269
383
|
};
|
|
270
384
|
var iconPaddingMapping = {
|
|
385
|
+
tiny: "icon-btn-xs",
|
|
271
386
|
small: "icon-btn-sm",
|
|
272
387
|
medium: "icon-btn-md",
|
|
273
388
|
large: "icon-btn-lg"
|
|
@@ -361,7 +476,8 @@ var IconButton = ({
|
|
|
361
476
|
positive: "bg-button-solid-positive-background text-button-solid-positive-text",
|
|
362
477
|
warning: "bg-button-solid-warning-background text-button-solid-warning-text",
|
|
363
478
|
negative: "bg-button-solid-negative-background text-button-solid-negative-text",
|
|
364
|
-
neutral: "bg-button-solid-neutral-background text-button-solid-neutral-text"
|
|
479
|
+
neutral: "bg-button-solid-neutral-background text-button-solid-neutral-text",
|
|
480
|
+
transparent: "bg-transparent"
|
|
365
481
|
}[color];
|
|
366
482
|
return /* @__PURE__ */ jsx4(
|
|
367
483
|
"button",
|
|
@@ -370,7 +486,9 @@ var IconButton = ({
|
|
|
370
486
|
disabled: disabled || onClick === void 0,
|
|
371
487
|
className: clsx3(
|
|
372
488
|
{
|
|
373
|
-
"text-disabled-text bg-disabled-background cursor-not-allowed": disabled,
|
|
489
|
+
"text-disabled-text bg-disabled-background cursor-not-allowed": disabled && color !== "transparent",
|
|
490
|
+
"text-disabled-text cursor-not-allowed opacity-70": disabled && color === "transparent",
|
|
491
|
+
"hover:bg-button-text-hover-background": !disabled && color === "transparent",
|
|
374
492
|
[clsx3(colorClasses, "hover:brightness-90")]: !disabled
|
|
375
493
|
},
|
|
376
494
|
ButtonUtil.iconPaddingMapping[size],
|
|
@@ -383,7 +501,7 @@ var IconButton = ({
|
|
|
383
501
|
};
|
|
384
502
|
|
|
385
503
|
// src/hooks/useSearch.ts
|
|
386
|
-
import { useEffect as
|
|
504
|
+
import { useEffect as useEffect6, useMemo, useState as useState5 } from "react";
|
|
387
505
|
|
|
388
506
|
// src/util/simpleSearch.ts
|
|
389
507
|
var MultiSearchWithMapping = (search, objects, mapping) => {
|
|
@@ -404,7 +522,7 @@ var useSearch = ({
|
|
|
404
522
|
}) => {
|
|
405
523
|
const [items, setItems] = useState5(list);
|
|
406
524
|
const [search, setSearch] = useState5(initialSearch);
|
|
407
|
-
|
|
525
|
+
useEffect6(() => {
|
|
408
526
|
setItems(list);
|
|
409
527
|
}, [list]);
|
|
410
528
|
const result = useMemo(
|
|
@@ -425,6 +543,7 @@ var useSearch = ({
|
|
|
425
543
|
var formTranslation = {
|
|
426
544
|
en: {
|
|
427
545
|
all: "All",
|
|
546
|
+
apply: "Apply",
|
|
428
547
|
back: "Back",
|
|
429
548
|
cancel: "Cancel",
|
|
430
549
|
change: "Change",
|
|
@@ -473,6 +592,7 @@ var formTranslation = {
|
|
|
473
592
|
},
|
|
474
593
|
de: {
|
|
475
594
|
all: "Alle",
|
|
595
|
+
apply: "Anwenden",
|
|
476
596
|
back: "Zur\xFCck",
|
|
477
597
|
cancel: "Abbrechen",
|
|
478
598
|
change: "\xC4ndern",
|
|
@@ -670,9 +790,9 @@ var ChipList = ({
|
|
|
670
790
|
};
|
|
671
791
|
|
|
672
792
|
// src/hooks/useOutsideClick.ts
|
|
673
|
-
import { useEffect as
|
|
793
|
+
import { useEffect as useEffect7 } from "react";
|
|
674
794
|
var useOutsideClick = (refs, handler) => {
|
|
675
|
-
|
|
795
|
+
useEffect7(() => {
|
|
676
796
|
const listener = (event) => {
|
|
677
797
|
if (event.target === null) return;
|
|
678
798
|
if (refs.some((ref) => !ref.current || ref.current.contains(event.target))) {
|
|
@@ -827,7 +947,7 @@ var MultiSelectUncontrolled = ({
|
|
|
827
947
|
...props
|
|
828
948
|
}) => {
|
|
829
949
|
const [usedOptions, setUsedOptions] = useState6(options);
|
|
830
|
-
|
|
950
|
+
useEffect8(() => {
|
|
831
951
|
setUsedOptions(options);
|
|
832
952
|
}, [options]);
|
|
833
953
|
return /* @__PURE__ */ jsx8(
|