@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
|
@@ -96,12 +96,21 @@ import clsx2 from "clsx";
|
|
|
96
96
|
// src/components/user-action/Button.tsx
|
|
97
97
|
import clsx from "clsx";
|
|
98
98
|
import { jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
99
|
+
var ButtonColorUtil = {
|
|
100
|
+
solid: ["primary", "secondary", "tertiary", "positive", "warning", "negative", "neutral"],
|
|
101
|
+
text: ["primary", "negative", "neutral"],
|
|
102
|
+
outline: ["primary"]
|
|
103
|
+
};
|
|
104
|
+
var IconButtonUtil = {
|
|
105
|
+
icon: [...ButtonColorUtil.solid, "transparent"]
|
|
106
|
+
};
|
|
99
107
|
var paddingMapping = {
|
|
100
108
|
small: "btn-sm",
|
|
101
109
|
medium: "btn-md",
|
|
102
110
|
large: "btn-lg"
|
|
103
111
|
};
|
|
104
112
|
var iconPaddingMapping = {
|
|
113
|
+
tiny: "icon-btn-xs",
|
|
105
114
|
small: "icon-btn-sm",
|
|
106
115
|
medium: "icon-btn-md",
|
|
107
116
|
large: "icon-btn-lg"
|
|
@@ -139,7 +148,7 @@ var TextButton = ({
|
|
|
139
148
|
className: clsx(
|
|
140
149
|
{
|
|
141
150
|
"text-disabled-text cursor-not-allowed": disabled,
|
|
142
|
-
[clsx(colorClasses, "hover:bg-button-text-hover-background
|
|
151
|
+
[clsx(colorClasses, "hover:bg-button-text-hover-background")]: !disabled
|
|
143
152
|
},
|
|
144
153
|
ButtonUtil.paddingMapping[size],
|
|
145
154
|
className
|
|
@@ -187,7 +196,8 @@ var IconButton = ({
|
|
|
187
196
|
positive: "bg-button-solid-positive-background text-button-solid-positive-text",
|
|
188
197
|
warning: "bg-button-solid-warning-background text-button-solid-warning-text",
|
|
189
198
|
negative: "bg-button-solid-negative-background text-button-solid-negative-text",
|
|
190
|
-
neutral: "bg-button-solid-neutral-background text-button-solid-neutral-text"
|
|
199
|
+
neutral: "bg-button-solid-neutral-background text-button-solid-neutral-text",
|
|
200
|
+
transparent: "bg-transparent"
|
|
191
201
|
}[color];
|
|
192
202
|
return /* @__PURE__ */ jsx2(
|
|
193
203
|
"button",
|
|
@@ -196,7 +206,9 @@ var IconButton = ({
|
|
|
196
206
|
disabled: disabled || onClick === void 0,
|
|
197
207
|
className: clsx(
|
|
198
208
|
{
|
|
199
|
-
"text-disabled-text bg-disabled-background cursor-not-allowed": disabled,
|
|
209
|
+
"text-disabled-text bg-disabled-background cursor-not-allowed": disabled && color !== "transparent",
|
|
210
|
+
"text-disabled-text cursor-not-allowed opacity-70": disabled && color === "transparent",
|
|
211
|
+
"hover:bg-button-text-hover-background": !disabled && color === "transparent",
|
|
200
212
|
[clsx(colorClasses, "hover:brightness-90")]: !disabled
|
|
201
213
|
},
|
|
202
214
|
ButtonUtil.iconPaddingMapping[size],
|
|
@@ -212,6 +224,7 @@ var IconButton = ({
|
|
|
212
224
|
var formTranslation = {
|
|
213
225
|
en: {
|
|
214
226
|
all: "All",
|
|
227
|
+
apply: "Apply",
|
|
215
228
|
back: "Back",
|
|
216
229
|
cancel: "Cancel",
|
|
217
230
|
change: "Change",
|
|
@@ -260,6 +273,7 @@ var formTranslation = {
|
|
|
260
273
|
},
|
|
261
274
|
de: {
|
|
262
275
|
all: "Alle",
|
|
276
|
+
apply: "Anwenden",
|
|
263
277
|
back: "Zur\xFCck",
|
|
264
278
|
cancel: "Abbrechen",
|
|
265
279
|
change: "\xC4ndern",
|
|
@@ -365,7 +379,7 @@ var PropertyBase = ({
|
|
|
365
379
|
|
|
366
380
|
// src/components/user-action/Select.tsx
|
|
367
381
|
import { ChevronDown, ChevronUp } from "lucide-react";
|
|
368
|
-
import { useEffect as
|
|
382
|
+
import { useEffect as useEffect8, useRef as useRef2, useState as useState6 } from "react";
|
|
369
383
|
import clsx7 from "clsx";
|
|
370
384
|
|
|
371
385
|
// src/components/user-action/Label.tsx
|
|
@@ -391,55 +405,147 @@ import { Search } from "lucide-react";
|
|
|
391
405
|
import clsx5 from "clsx";
|
|
392
406
|
|
|
393
407
|
// src/components/user-action/Input.tsx
|
|
394
|
-
import { forwardRef, useEffect as
|
|
408
|
+
import { forwardRef, useEffect as useEffect5, useImperativeHandle, useRef, useState as useState4 } from "react";
|
|
395
409
|
import clsx4 from "clsx";
|
|
396
410
|
|
|
397
|
-
// src/hooks/
|
|
411
|
+
// src/hooks/useDelay.ts
|
|
398
412
|
import { useEffect as useEffect3, useState as useState3 } from "react";
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
setNotificationTimer(setTimeout(() => {
|
|
409
|
-
setNotificationStatus(false);
|
|
410
|
-
clearTimeout(notificationTimer);
|
|
411
|
-
}, delay));
|
|
412
|
-
clearTimeout(updateTimer);
|
|
413
|
-
}, delay));
|
|
413
|
+
var defaultOptions = {
|
|
414
|
+
delay: 3e3,
|
|
415
|
+
disabled: false
|
|
416
|
+
};
|
|
417
|
+
function useDelay(options) {
|
|
418
|
+
const [timer, setTimer] = useState3(void 0);
|
|
419
|
+
const { delay, disabled } = {
|
|
420
|
+
...defaultOptions,
|
|
421
|
+
...options
|
|
414
422
|
};
|
|
415
|
-
const
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
setNotificationStatus(true);
|
|
419
|
-
clearTimeout(notificationTimer);
|
|
420
|
-
setNotificationTimer(setTimeout(() => {
|
|
421
|
-
setNotificationStatus(false);
|
|
422
|
-
clearTimeout(notificationTimer);
|
|
423
|
-
}, delay));
|
|
424
|
-
} else {
|
|
425
|
-
setNotificationStatus(false);
|
|
423
|
+
const restartTimer = (onDelayFinish) => {
|
|
424
|
+
if (disabled) {
|
|
425
|
+
return;
|
|
426
426
|
}
|
|
427
|
+
clearTimeout(timer);
|
|
428
|
+
setTimer(setTimeout(() => {
|
|
429
|
+
onDelayFinish();
|
|
430
|
+
}, delay));
|
|
431
|
+
};
|
|
432
|
+
const clearTimer = () => {
|
|
433
|
+
clearTimeout(timer);
|
|
427
434
|
};
|
|
428
435
|
useEffect3(() => {
|
|
429
436
|
return () => {
|
|
430
|
-
clearTimeout(
|
|
431
|
-
clearTimeout(notificationTimer);
|
|
437
|
+
clearTimeout(timer);
|
|
432
438
|
};
|
|
433
|
-
}, []);
|
|
434
|
-
|
|
439
|
+
}, [timer]);
|
|
440
|
+
useEffect3(() => {
|
|
441
|
+
if (disabled) {
|
|
442
|
+
clearTimeout(timer);
|
|
443
|
+
}
|
|
444
|
+
}, [disabled, timer]);
|
|
445
|
+
return { restartTimer, clearTimer };
|
|
435
446
|
}
|
|
436
447
|
|
|
437
448
|
// src/util/noop.ts
|
|
438
449
|
var noop = () => void 0;
|
|
439
450
|
|
|
451
|
+
// src/hooks/useFocusManagement.ts
|
|
452
|
+
import { useCallback as useCallback2 } from "react";
|
|
453
|
+
function useFocusManagement() {
|
|
454
|
+
const getFocusableElements = useCallback2(() => {
|
|
455
|
+
return Array.from(
|
|
456
|
+
document.querySelectorAll(
|
|
457
|
+
'input, button, select, textarea, a[href], [tabindex]:not([tabindex="-1"])'
|
|
458
|
+
)
|
|
459
|
+
).filter(
|
|
460
|
+
(el) => el instanceof HTMLElement && !el.hasAttribute("disabled") && !el.hasAttribute("hidden") && el.tabIndex !== -1
|
|
461
|
+
);
|
|
462
|
+
}, []);
|
|
463
|
+
const getNextFocusElement = useCallback2(() => {
|
|
464
|
+
const elements = getFocusableElements();
|
|
465
|
+
if (elements.length === 0) {
|
|
466
|
+
return void 0;
|
|
467
|
+
}
|
|
468
|
+
let nextElement = elements[0];
|
|
469
|
+
if (document.activeElement instanceof HTMLElement) {
|
|
470
|
+
const currentIndex = elements.indexOf(document.activeElement);
|
|
471
|
+
nextElement = elements[(currentIndex + 1) % elements.length];
|
|
472
|
+
}
|
|
473
|
+
return nextElement;
|
|
474
|
+
}, [getFocusableElements]);
|
|
475
|
+
const focusNext = useCallback2(() => {
|
|
476
|
+
const nextElement = getNextFocusElement();
|
|
477
|
+
nextElement?.focus();
|
|
478
|
+
}, [getNextFocusElement]);
|
|
479
|
+
const getPreviousFocusElement = useCallback2(() => {
|
|
480
|
+
const elements = getFocusableElements();
|
|
481
|
+
if (elements.length === 0) {
|
|
482
|
+
return void 0;
|
|
483
|
+
}
|
|
484
|
+
let previousElement = elements[0];
|
|
485
|
+
if (document.activeElement instanceof HTMLElement) {
|
|
486
|
+
const currentIndex = elements.indexOf(document.activeElement);
|
|
487
|
+
if (currentIndex === 0) {
|
|
488
|
+
previousElement = elements[elements.length - 1];
|
|
489
|
+
} else {
|
|
490
|
+
previousElement = elements[currentIndex - 1];
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
return previousElement;
|
|
494
|
+
}, [getFocusableElements]);
|
|
495
|
+
const focusPrevious = useCallback2(() => {
|
|
496
|
+
const previousElement = getPreviousFocusElement();
|
|
497
|
+
if (previousElement) previousElement.focus();
|
|
498
|
+
}, [getPreviousFocusElement]);
|
|
499
|
+
return {
|
|
500
|
+
getFocusableElements,
|
|
501
|
+
getNextFocusElement,
|
|
502
|
+
getPreviousFocusElement,
|
|
503
|
+
focusNext,
|
|
504
|
+
focusPrevious
|
|
505
|
+
};
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
// src/hooks/useFocusOnceVisible.ts
|
|
509
|
+
import React, { useEffect as useEffect4 } from "react";
|
|
510
|
+
var useFocusOnceVisible = (ref, disable = false) => {
|
|
511
|
+
const [hasUsedFocus, setHasUsedFocus] = React.useState(false);
|
|
512
|
+
useEffect4(() => {
|
|
513
|
+
if (disable || hasUsedFocus) {
|
|
514
|
+
return;
|
|
515
|
+
}
|
|
516
|
+
const observer = new IntersectionObserver(([entry]) => {
|
|
517
|
+
if (entry.isIntersecting && !hasUsedFocus) {
|
|
518
|
+
ref.current?.focus();
|
|
519
|
+
setHasUsedFocus(hasUsedFocus);
|
|
520
|
+
}
|
|
521
|
+
}, {
|
|
522
|
+
threshold: 0.1
|
|
523
|
+
});
|
|
524
|
+
if (ref.current) {
|
|
525
|
+
observer.observe(ref.current);
|
|
526
|
+
}
|
|
527
|
+
return () => observer.disconnect();
|
|
528
|
+
}, [disable, hasUsedFocus, ref]);
|
|
529
|
+
};
|
|
530
|
+
|
|
440
531
|
// src/components/user-action/Input.tsx
|
|
441
532
|
import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
442
|
-
var
|
|
533
|
+
var getInputClassName = ({ disabled = false, hasError = false }) => {
|
|
534
|
+
return clsx4(
|
|
535
|
+
"px-2 py-1.5 rounded-md border-2",
|
|
536
|
+
{
|
|
537
|
+
"bg-surface text-on-surface hover:border-primary focus:border-primary": !disabled && !hasError,
|
|
538
|
+
"bg-on-negative text-negative border-negative-border hover:border-negative-border-hover": !disabled && hasError,
|
|
539
|
+
"bg-disabled-background text-disabled-text border-disabled-border": disabled
|
|
540
|
+
}
|
|
541
|
+
);
|
|
542
|
+
};
|
|
543
|
+
var defaultEditCompleteOptions = {
|
|
544
|
+
onBlur: true,
|
|
545
|
+
afterDelay: true,
|
|
546
|
+
delay: 2500
|
|
547
|
+
};
|
|
548
|
+
var Input = forwardRef(function Input2({
|
|
443
549
|
id,
|
|
444
550
|
type = "text",
|
|
445
551
|
value,
|
|
@@ -448,57 +554,72 @@ var Input = ({
|
|
|
448
554
|
onChangeText = noop,
|
|
449
555
|
onEditCompleted,
|
|
450
556
|
className = "",
|
|
557
|
+
allowEnterComplete = true,
|
|
451
558
|
expanded = true,
|
|
452
|
-
autoFocus,
|
|
559
|
+
autoFocus = false,
|
|
453
560
|
onBlur,
|
|
561
|
+
editCompleteOptions,
|
|
454
562
|
containerClassName,
|
|
563
|
+
disabled,
|
|
455
564
|
...restProps
|
|
456
|
-
})
|
|
565
|
+
}, forwardedRef) {
|
|
566
|
+
const { onBlur: allowEditCompleteOnBlur, afterDelay, delay } = { ...defaultEditCompleteOptions, ...editCompleteOptions };
|
|
457
567
|
const {
|
|
458
568
|
restartTimer,
|
|
459
|
-
|
|
460
|
-
} =
|
|
461
|
-
const
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
569
|
+
clearTimer
|
|
570
|
+
} = useDelay({ delay, disabled: !afterDelay });
|
|
571
|
+
const innerRef = useRef(null);
|
|
572
|
+
const { focusNext } = useFocusManagement();
|
|
573
|
+
useFocusOnceVisible(innerRef, !autoFocus);
|
|
574
|
+
useImperativeHandle(forwardedRef, () => innerRef.current);
|
|
575
|
+
const handleKeyDown = (e) => {
|
|
576
|
+
if (e.key === "Enter" && !e.shiftKey) {
|
|
577
|
+
e.preventDefault();
|
|
578
|
+
innerRef.current?.blur();
|
|
579
|
+
focusNext();
|
|
465
580
|
}
|
|
466
|
-
}
|
|
581
|
+
};
|
|
467
582
|
return /* @__PURE__ */ jsxs3("div", { className: clsx4({ "w-full": expanded }, containerClassName), children: [
|
|
468
583
|
label && /* @__PURE__ */ jsx5(Label, { ...label, htmlFor: id, className: clsx4("mb-1", label.className) }),
|
|
469
584
|
/* @__PURE__ */ jsx5(
|
|
470
585
|
"input",
|
|
471
586
|
{
|
|
472
|
-
|
|
587
|
+
...restProps,
|
|
588
|
+
ref: innerRef,
|
|
473
589
|
value,
|
|
474
590
|
id,
|
|
475
591
|
type,
|
|
476
|
-
|
|
592
|
+
disabled,
|
|
593
|
+
className: clsx4(getInputClassName({ disabled }), className),
|
|
594
|
+
onKeyDown: allowEnterComplete ? handleKeyDown : void 0,
|
|
477
595
|
onBlur: (event) => {
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
}
|
|
481
|
-
if (onEditCompleted) {
|
|
596
|
+
onBlur?.(event);
|
|
597
|
+
if (onEditCompleted && allowEditCompleteOnBlur) {
|
|
482
598
|
onEditCompleted(event.target.value);
|
|
483
|
-
|
|
599
|
+
clearTimer();
|
|
484
600
|
}
|
|
485
601
|
},
|
|
486
602
|
onChange: (e) => {
|
|
487
603
|
const value2 = e.target.value;
|
|
488
604
|
if (onEditCompleted) {
|
|
489
605
|
restartTimer(() => {
|
|
490
|
-
|
|
491
|
-
|
|
606
|
+
if (innerRef.current) {
|
|
607
|
+
innerRef.current.blur();
|
|
608
|
+
if (!allowEditCompleteOnBlur) {
|
|
609
|
+
onEditCompleted(value2);
|
|
610
|
+
}
|
|
611
|
+
} else {
|
|
612
|
+
onEditCompleted(value2);
|
|
613
|
+
}
|
|
492
614
|
});
|
|
493
615
|
}
|
|
494
616
|
onChange(e);
|
|
495
617
|
onChangeText(value2);
|
|
496
|
-
}
|
|
497
|
-
...restProps
|
|
618
|
+
}
|
|
498
619
|
}
|
|
499
620
|
)
|
|
500
621
|
] });
|
|
501
|
-
};
|
|
622
|
+
});
|
|
502
623
|
var FormInput = forwardRef(function FormInput2({
|
|
503
624
|
id,
|
|
504
625
|
labelText,
|
|
@@ -508,19 +629,18 @@ var FormInput = forwardRef(function FormInput2({
|
|
|
508
629
|
errorClassName,
|
|
509
630
|
containerClassName,
|
|
510
631
|
required,
|
|
632
|
+
disabled,
|
|
511
633
|
...restProps
|
|
512
634
|
}, ref) {
|
|
513
635
|
const input = /* @__PURE__ */ jsx5(
|
|
514
636
|
"input",
|
|
515
637
|
{
|
|
638
|
+
...restProps,
|
|
516
639
|
ref,
|
|
517
640
|
id,
|
|
518
|
-
|
|
641
|
+
disabled,
|
|
519
642
|
className: clsx4(
|
|
520
|
-
{
|
|
521
|
-
"focus:border-primary focus:ring-primary": !errorText,
|
|
522
|
-
"focus:border-negative focus:ring-negative text-negative": !!errorText
|
|
523
|
-
},
|
|
643
|
+
getInputClassName({ disabled, hasError: !!errorText }),
|
|
524
644
|
className
|
|
525
645
|
)
|
|
526
646
|
}
|
|
@@ -536,7 +656,7 @@ var FormInput = forwardRef(function FormInput2({
|
|
|
536
656
|
});
|
|
537
657
|
|
|
538
658
|
// src/hooks/useSearch.ts
|
|
539
|
-
import { useEffect as
|
|
659
|
+
import { useEffect as useEffect6, useMemo, useState as useState5 } from "react";
|
|
540
660
|
|
|
541
661
|
// src/util/simpleSearch.ts
|
|
542
662
|
var MultiSearchWithMapping = (search, objects, mapping) => {
|
|
@@ -557,7 +677,7 @@ var useSearch = ({
|
|
|
557
677
|
}) => {
|
|
558
678
|
const [items, setItems] = useState5(list);
|
|
559
679
|
const [search, setSearch] = useState5(initialSearch);
|
|
560
|
-
|
|
680
|
+
useEffect6(() => {
|
|
561
681
|
setItems(list);
|
|
562
682
|
}, [list]);
|
|
563
683
|
const result = useMemo(
|
|
@@ -658,9 +778,9 @@ var Tile = ({
|
|
|
658
778
|
};
|
|
659
779
|
|
|
660
780
|
// src/hooks/useOutsideClick.ts
|
|
661
|
-
import { useEffect as
|
|
781
|
+
import { useEffect as useEffect7 } from "react";
|
|
662
782
|
var useOutsideClick = (refs, handler) => {
|
|
663
|
-
|
|
783
|
+
useEffect7(() => {
|
|
664
784
|
const listener = (event) => {
|
|
665
785
|
if (event.target === null) return;
|
|
666
786
|
if (refs.some((ref) => !ref.current || ref.current.contains(event.target))) {
|