@helpwave/hightide 0.1.7 → 0.1.9
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/branding/HelpwaveBadge.js +30 -8
- package/dist/components/branding/HelpwaveBadge.js.map +1 -1
- package/dist/components/branding/HelpwaveBadge.mjs +30 -8
- package/dist/components/branding/HelpwaveBadge.mjs.map +1 -1
- package/dist/components/date/DatePicker.d.mts +3 -4
- package/dist/components/date/DatePicker.d.ts +3 -4
- package/dist/components/date/DatePicker.js +135 -33
- package/dist/components/date/DatePicker.js.map +1 -1
- package/dist/components/date/DatePicker.mjs +135 -33
- package/dist/components/date/DatePicker.mjs.map +1 -1
- package/dist/components/date/DayPicker.d.mts +1 -1
- package/dist/components/date/DayPicker.d.ts +1 -1
- package/dist/components/date/DayPicker.js +23 -11
- package/dist/components/date/DayPicker.js.map +1 -1
- package/dist/components/date/DayPicker.mjs +23 -11
- package/dist/components/date/DayPicker.mjs.map +1 -1
- package/dist/components/date/TimeDisplay.d.mts +5 -19
- package/dist/components/date/TimeDisplay.d.ts +5 -19
- package/dist/components/date/TimeDisplay.js +121 -37
- package/dist/components/date/TimeDisplay.js.map +1 -1
- package/dist/components/date/TimeDisplay.mjs +121 -37
- package/dist/components/date/TimeDisplay.mjs.map +1 -1
- package/dist/components/date/YearMonthPicker.js +106 -22
- package/dist/components/date/YearMonthPicker.js.map +1 -1
- package/dist/components/date/YearMonthPicker.mjs +106 -22
- package/dist/components/date/YearMonthPicker.mjs.map +1 -1
- package/dist/components/dialogs/ConfirmDialog.d.mts +2 -5
- package/dist/components/dialogs/ConfirmDialog.d.ts +2 -5
- package/dist/components/dialogs/ConfirmDialog.js +157 -25
- package/dist/components/dialogs/ConfirmDialog.js.map +1 -1
- package/dist/components/dialogs/ConfirmDialog.mjs +157 -25
- package/dist/components/dialogs/ConfirmDialog.mjs.map +1 -1
- package/dist/components/icons-and-geometry/Avatar.js +2 -2
- package/dist/components/icons-and-geometry/Avatar.js.map +1 -1
- package/dist/components/icons-and-geometry/Avatar.mjs +2 -2
- package/dist/components/icons-and-geometry/Avatar.mjs.map +1 -1
- package/dist/components/layout-and-navigation/Carousel.d.mts +1 -1
- package/dist/components/layout-and-navigation/Carousel.d.ts +1 -1
- package/dist/components/layout-and-navigation/Carousel.js +86 -28
- package/dist/components/layout-and-navigation/Carousel.js.map +1 -1
- package/dist/components/layout-and-navigation/Carousel.mjs +86 -28
- package/dist/components/layout-and-navigation/Carousel.mjs.map +1 -1
- package/dist/components/layout-and-navigation/Expandable.d.mts +3 -0
- package/dist/components/layout-and-navigation/Expandable.d.ts +3 -0
- package/dist/components/layout-and-navigation/Expandable.js +4 -3
- package/dist/components/layout-and-navigation/Expandable.js.map +1 -1
- package/dist/components/layout-and-navigation/Expandable.mjs +4 -3
- package/dist/components/layout-and-navigation/Expandable.mjs.map +1 -1
- package/dist/components/layout-and-navigation/FAQSection.js +4 -3
- package/dist/components/layout-and-navigation/FAQSection.js.map +1 -1
- package/dist/components/layout-and-navigation/FAQSection.mjs +4 -3
- package/dist/components/layout-and-navigation/FAQSection.mjs.map +1 -1
- package/dist/components/layout-and-navigation/Overlay.d.mts +2 -3
- package/dist/components/layout-and-navigation/Overlay.d.ts +2 -3
- package/dist/components/layout-and-navigation/Overlay.js +152 -12
- package/dist/components/layout-and-navigation/Overlay.js.map +1 -1
- package/dist/components/layout-and-navigation/Overlay.mjs +152 -12
- package/dist/components/layout-and-navigation/Overlay.mjs.map +1 -1
- package/dist/components/layout-and-navigation/Pagination.d.mts +2 -3
- package/dist/components/layout-and-navigation/Pagination.d.ts +2 -3
- package/dist/components/layout-and-navigation/Pagination.js +145 -13
- package/dist/components/layout-and-navigation/Pagination.js.map +1 -1
- package/dist/components/layout-and-navigation/Pagination.mjs +145 -13
- package/dist/components/layout-and-navigation/Pagination.mjs.map +1 -1
- package/dist/components/layout-and-navigation/SearchableList.d.mts +10 -8
- package/dist/components/layout-and-navigation/SearchableList.d.ts +10 -8
- package/dist/components/layout-and-navigation/SearchableList.js +261 -30
- package/dist/components/layout-and-navigation/SearchableList.js.map +1 -1
- package/dist/components/layout-and-navigation/SearchableList.mjs +261 -30
- package/dist/components/layout-and-navigation/SearchableList.mjs.map +1 -1
- package/dist/components/layout-and-navigation/StepperBar.d.mts +2 -5
- package/dist/components/layout-and-navigation/StepperBar.d.ts +2 -5
- package/dist/components/layout-and-navigation/StepperBar.js +149 -19
- package/dist/components/layout-and-navigation/StepperBar.js.map +1 -1
- package/dist/components/layout-and-navigation/StepperBar.mjs +149 -19
- package/dist/components/layout-and-navigation/StepperBar.mjs.map +1 -1
- package/dist/components/layout-and-navigation/Table.js +146 -14
- package/dist/components/layout-and-navigation/Table.js.map +1 -1
- package/dist/components/layout-and-navigation/Table.mjs +146 -14
- package/dist/components/layout-and-navigation/Table.mjs.map +1 -1
- package/dist/components/layout-and-navigation/TextImage.d.mts +3 -4
- package/dist/components/layout-and-navigation/TextImage.d.ts +3 -4
- package/dist/components/layout-and-navigation/TextImage.js +153 -19
- package/dist/components/layout-and-navigation/TextImage.js.map +1 -1
- package/dist/components/layout-and-navigation/TextImage.mjs +153 -19
- package/dist/components/layout-and-navigation/TextImage.mjs.map +1 -1
- package/dist/components/layout-and-navigation/Tile.d.mts +10 -15
- package/dist/components/layout-and-navigation/Tile.d.ts +10 -15
- package/dist/components/layout-and-navigation/Tile.js +30 -8
- package/dist/components/layout-and-navigation/Tile.js.map +1 -1
- package/dist/components/layout-and-navigation/Tile.mjs +30 -8
- package/dist/components/layout-and-navigation/Tile.mjs.map +1 -1
- package/dist/components/loading-states/ErrorComponent.js +48 -8
- package/dist/components/loading-states/ErrorComponent.js.map +1 -1
- package/dist/components/loading-states/ErrorComponent.mjs +48 -8
- package/dist/components/loading-states/ErrorComponent.mjs.map +1 -1
- package/dist/components/loading-states/LoadingAndErrorComponent.d.mts +1 -0
- package/dist/components/loading-states/LoadingAndErrorComponent.d.ts +1 -0
- package/dist/components/loading-states/LoadingAndErrorComponent.js +147 -15
- package/dist/components/loading-states/LoadingAndErrorComponent.js.map +1 -1
- package/dist/components/loading-states/LoadingAndErrorComponent.mjs +147 -15
- package/dist/components/loading-states/LoadingAndErrorComponent.mjs.map +1 -1
- package/dist/components/loading-states/LoadingAnimation.d.mts +2 -3
- package/dist/components/loading-states/LoadingAnimation.d.ts +2 -3
- package/dist/components/loading-states/LoadingAnimation.js +145 -13
- package/dist/components/loading-states/LoadingAnimation.js.map +1 -1
- package/dist/components/loading-states/LoadingAnimation.mjs +145 -13
- package/dist/components/loading-states/LoadingAnimation.mjs.map +1 -1
- package/dist/components/loading-states/ProgressIndicator.js +2 -2
- package/dist/components/loading-states/ProgressIndicator.js.map +1 -1
- package/dist/components/loading-states/ProgressIndicator.mjs +2 -2
- package/dist/components/loading-states/ProgressIndicator.mjs.map +1 -1
- package/dist/components/modals/ConfirmModal.d.mts +2 -5
- package/dist/components/modals/ConfirmModal.d.ts +2 -5
- package/dist/components/modals/ConfirmModal.js +158 -28
- package/dist/components/modals/ConfirmModal.js.map +1 -1
- package/dist/components/modals/ConfirmModal.mjs +158 -28
- package/dist/components/modals/ConfirmModal.mjs.map +1 -1
- package/dist/components/modals/DiscardChangesModal.d.mts +2 -7
- package/dist/components/modals/DiscardChangesModal.d.ts +2 -7
- package/dist/components/modals/DiscardChangesModal.js +162 -48
- package/dist/components/modals/DiscardChangesModal.js.map +1 -1
- package/dist/components/modals/DiscardChangesModal.mjs +162 -48
- 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 +158 -28
- package/dist/components/modals/InputModal.js.map +1 -1
- package/dist/components/modals/InputModal.mjs +158 -28
- package/dist/components/modals/InputModal.mjs.map +1 -1
- package/dist/components/modals/LanguageModal.d.mts +3 -2
- package/dist/components/modals/LanguageModal.d.ts +3 -2
- package/dist/components/modals/LanguageModal.js +538 -166
- package/dist/components/modals/LanguageModal.js.map +1 -1
- package/dist/components/modals/LanguageModal.mjs +537 -165
- package/dist/components/modals/LanguageModal.mjs.map +1 -1
- package/dist/components/modals/ThemeModal.d.mts +5 -5
- package/dist/components/modals/ThemeModal.d.ts +5 -5
- package/dist/components/modals/ThemeModal.js +547 -176
- package/dist/components/modals/ThemeModal.js.map +1 -1
- package/dist/components/modals/ThemeModal.mjs +544 -173
- package/dist/components/modals/ThemeModal.mjs.map +1 -1
- package/dist/components/properties/CheckboxProperty.d.mts +3 -5
- package/dist/components/properties/CheckboxProperty.d.ts +3 -5
- package/dist/components/properties/CheckboxProperty.js +148 -26
- package/dist/components/properties/CheckboxProperty.js.map +1 -1
- package/dist/components/properties/CheckboxProperty.mjs +148 -26
- package/dist/components/properties/CheckboxProperty.mjs.map +1 -1
- package/dist/components/properties/DateProperty.d.mts +1 -0
- package/dist/components/properties/DateProperty.d.ts +1 -0
- package/dist/components/properties/DateProperty.js +146 -14
- package/dist/components/properties/DateProperty.js.map +1 -1
- package/dist/components/properties/DateProperty.mjs +146 -14
- package/dist/components/properties/DateProperty.mjs.map +1 -1
- package/dist/components/properties/MultiSelectProperty.d.mts +5 -5
- package/dist/components/properties/MultiSelectProperty.d.ts +5 -5
- package/dist/components/properties/MultiSelectProperty.js +626 -456
- package/dist/components/properties/MultiSelectProperty.js.map +1 -1
- package/dist/components/properties/MultiSelectProperty.mjs +622 -452
- package/dist/components/properties/MultiSelectProperty.mjs.map +1 -1
- package/dist/components/properties/NumberProperty.d.mts +1 -0
- package/dist/components/properties/NumberProperty.d.ts +1 -0
- package/dist/components/properties/NumberProperty.js +148 -16
- package/dist/components/properties/NumberProperty.js.map +1 -1
- package/dist/components/properties/NumberProperty.mjs +148 -16
- package/dist/components/properties/NumberProperty.mjs.map +1 -1
- package/dist/components/properties/PropertyBase.d.mts +2 -3
- package/dist/components/properties/PropertyBase.d.ts +2 -3
- package/dist/components/properties/PropertyBase.js +146 -14
- package/dist/components/properties/PropertyBase.js.map +1 -1
- package/dist/components/properties/PropertyBase.mjs +146 -14
- package/dist/components/properties/PropertyBase.mjs.map +1 -1
- package/dist/components/properties/SelectProperty.d.mts +5 -6
- package/dist/components/properties/SelectProperty.d.ts +5 -6
- package/dist/components/properties/SelectProperty.js +542 -279
- package/dist/components/properties/SelectProperty.js.map +1 -1
- package/dist/components/properties/SelectProperty.mjs +542 -279
- package/dist/components/properties/SelectProperty.mjs.map +1 -1
- package/dist/components/properties/TextProperty.d.mts +2 -1
- package/dist/components/properties/TextProperty.d.ts +2 -1
- package/dist/components/properties/TextProperty.js +150 -18
- package/dist/components/properties/TextProperty.js.map +1 -1
- package/dist/components/properties/TextProperty.mjs +150 -18
- package/dist/components/properties/TextProperty.mjs.map +1 -1
- package/dist/components/user-action/DateAndTimePicker.d.mts +4 -20
- package/dist/components/user-action/DateAndTimePicker.d.ts +4 -20
- package/dist/components/user-action/DateAndTimePicker.js +233 -71
- package/dist/components/user-action/DateAndTimePicker.js.map +1 -1
- package/dist/components/user-action/DateAndTimePicker.mjs +233 -71
- package/dist/components/user-action/DateAndTimePicker.mjs.map +1 -1
- package/dist/components/user-action/Menu.d.mts +14 -8
- package/dist/components/user-action/Menu.d.ts +14 -8
- package/dist/components/user-action/Menu.js +32 -11
- package/dist/components/user-action/Menu.js.map +1 -1
- package/dist/components/user-action/Menu.mjs +32 -11
- package/dist/components/user-action/Menu.mjs.map +1 -1
- package/dist/components/user-action/MultiSelect.d.mts +13 -23
- package/dist/components/user-action/MultiSelect.d.ts +13 -23
- package/dist/components/user-action/MultiSelect.js +632 -325
- package/dist/components/user-action/MultiSelect.js.map +1 -1
- package/dist/components/user-action/MultiSelect.mjs +629 -323
- package/dist/components/user-action/MultiSelect.mjs.map +1 -1
- package/dist/components/user-action/Select.d.mts +5 -18
- package/dist/components/user-action/Select.d.ts +5 -18
- package/dist/components/user-action/Select.js +447 -113
- package/dist/components/user-action/Select.js.map +1 -1
- package/dist/components/user-action/Select.mjs +442 -107
- package/dist/components/user-action/Select.mjs.map +1 -1
- package/dist/components/user-action/Tooltip.js +2 -2
- package/dist/components/user-action/Tooltip.js.map +1 -1
- package/dist/components/user-action/Tooltip.mjs +2 -2
- package/dist/components/user-action/Tooltip.mjs.map +1 -1
- package/dist/css/globals.css +224 -207
- package/dist/css/uncompiled/globals.css +138 -74
- package/dist/hooks/useSearch.d.mts +17 -0
- package/dist/hooks/useSearch.d.ts +17 -0
- package/dist/hooks/useSearch.js +66 -0
- package/dist/hooks/useSearch.js.map +1 -0
- package/dist/hooks/useSearch.mjs +42 -0
- package/dist/hooks/useSearch.mjs.map +1 -0
- package/dist/index.d.mts +10 -6
- package/dist/index.d.ts +10 -6
- package/dist/index.js +882 -758
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +836 -717
- package/dist/index.mjs.map +1 -1
- package/dist/localization/defaults/form.d.mts +54 -0
- package/dist/localization/defaults/form.d.ts +54 -0
- package/dist/localization/defaults/form.js +127 -0
- package/dist/localization/defaults/form.js.map +1 -0
- package/dist/localization/defaults/form.mjs +103 -0
- package/dist/localization/defaults/form.mjs.map +1 -0
- package/dist/localization/defaults/time.d.mts +39 -0
- package/dist/localization/defaults/time.d.ts +39 -0
- package/dist/localization/defaults/time.js +101 -0
- package/dist/localization/defaults/time.js.map +1 -0
- package/dist/localization/defaults/time.mjs +76 -0
- package/dist/localization/defaults/time.mjs.map +1 -0
- package/dist/localization/useTranslation.d.mts +30 -6
- package/dist/localization/useTranslation.d.ts +30 -6
- package/dist/localization/useTranslation.js +46 -6
- package/dist/localization/useTranslation.js.map +1 -1
- package/dist/localization/useTranslation.mjs +46 -6
- package/dist/localization/useTranslation.mjs.map +1 -1
- package/dist/theming/useTheme.d.mts +4 -2
- package/dist/theming/useTheme.d.ts +4 -2
- package/dist/theming/useTheme.js +10 -2
- package/dist/theming/useTheme.js.map +1 -1
- package/dist/theming/useTheme.mjs +10 -2
- package/dist/theming/useTheme.mjs.map +1 -1
- package/dist/util/PropsWithFunctionChildren.d.mts +14 -0
- package/dist/util/PropsWithFunctionChildren.d.ts +14 -0
- package/dist/util/PropsWithFunctionChildren.js +38 -0
- package/dist/util/PropsWithFunctionChildren.js.map +1 -0
- package/dist/util/PropsWithFunctionChildren.mjs +14 -0
- package/dist/util/PropsWithFunctionChildren.mjs.map +1 -0
- package/dist/util/simpleSearch.d.mts +2 -2
- package/dist/util/simpleSearch.d.ts +2 -2
- package/dist/util/simpleSearch.js +4 -1
- package/dist/util/simpleSearch.js.map +1 -1
- package/dist/util/simpleSearch.mjs +4 -1
- package/dist/util/simpleSearch.mjs.map +1 -1
- package/package.json +1 -2
package/dist/index.js
CHANGED
|
@@ -2845,6 +2845,7 @@ __export(index_exports, {
|
|
|
2845
2845
|
ArrayUtil: () => ArrayUtil,
|
|
2846
2846
|
Avatar: () => Avatar,
|
|
2847
2847
|
AvatarGroup: () => AvatarGroup,
|
|
2848
|
+
BagFunctionUtil: () => BagFunctionUtil,
|
|
2848
2849
|
BreadCrumb: () => BreadCrumb,
|
|
2849
2850
|
ButtonColorUtil: () => ButtonColorUtil,
|
|
2850
2851
|
ButtonUtil: () => ButtonUtil,
|
|
@@ -2889,12 +2890,13 @@ __export(index_exports, {
|
|
|
2889
2890
|
LocalStorageService: () => LocalStorageService,
|
|
2890
2891
|
LoopingArrayCalculator: () => LoopingArrayCalculator,
|
|
2891
2892
|
MarkdownInterpreter: () => MarkdownInterpreter,
|
|
2892
|
-
Menu: () =>
|
|
2893
|
+
Menu: () => Menu,
|
|
2893
2894
|
MenuItem: () => MenuItem,
|
|
2894
2895
|
Modal: () => Modal,
|
|
2895
2896
|
MultiSearchWithMapping: () => MultiSearchWithMapping,
|
|
2896
2897
|
MultiSelect: () => MultiSelect,
|
|
2897
2898
|
MultiSelectProperty: () => MultiSelectProperty,
|
|
2899
|
+
MultiSelectUncontrolled: () => MultiSelectUncontrolled,
|
|
2898
2900
|
MultiSubjectSearchWithMapping: () => MultiSubjectSearchWithMapping,
|
|
2899
2901
|
NumberProperty: () => NumberProperty,
|
|
2900
2902
|
OutlineButton: () => OutlineButton,
|
|
@@ -2908,7 +2910,6 @@ __export(index_exports, {
|
|
|
2908
2910
|
RingWave: () => RingWave,
|
|
2909
2911
|
ScrollPicker: () => ScrollPicker,
|
|
2910
2912
|
SearchableList: () => SearchableList,
|
|
2911
|
-
SearchableSelect: () => SearchableSelect,
|
|
2912
2913
|
Select: () => Select,
|
|
2913
2914
|
SelectUncontrolled: () => SelectUncontrolled,
|
|
2914
2915
|
SessionStorageService: () => SessionStorageService,
|
|
@@ -2956,6 +2957,7 @@ __export(index_exports, {
|
|
|
2956
2957
|
equalDate: () => equalDate,
|
|
2957
2958
|
equalSizeGroups: () => equalSizeGroups,
|
|
2958
2959
|
filterNews: () => filterNews,
|
|
2960
|
+
formTranslation: () => formTranslation,
|
|
2959
2961
|
formatDate: () => formatDate,
|
|
2960
2962
|
formatDateTime: () => formatDateTime,
|
|
2961
2963
|
generateShadingColors: () => generateShadingColors,
|
|
@@ -2966,6 +2968,7 @@ __export(index_exports, {
|
|
|
2966
2968
|
isDataObjectSelected: () => isDataObjectSelected,
|
|
2967
2969
|
isInTimeSpan: () => isInTimeSpan,
|
|
2968
2970
|
localizedNewsSchema: () => localizedNewsSchema,
|
|
2971
|
+
monthTranslation: () => monthTranslation,
|
|
2969
2972
|
monthsList: () => monthsList,
|
|
2970
2973
|
newsListSchema: () => newsListSchema,
|
|
2971
2974
|
newsSchema: () => newsSchema,
|
|
@@ -2975,6 +2978,7 @@ __export(index_exports, {
|
|
|
2975
2978
|
removeFromTableSelection: () => removeFromTableSelection,
|
|
2976
2979
|
shadingColorValues: () => shadingColorValues,
|
|
2977
2980
|
subtractDuration: () => subtractDuration,
|
|
2981
|
+
timeTranslation: () => timeTranslation,
|
|
2978
2982
|
updatePagination: () => updatePagination,
|
|
2979
2983
|
useHoverState: () => useHoverState,
|
|
2980
2984
|
useLanguage: () => useLanguage,
|
|
@@ -2982,6 +2986,7 @@ __export(index_exports, {
|
|
|
2982
2986
|
useLocale: () => useLocale,
|
|
2983
2987
|
useOutsideClick: () => useOutsideClick,
|
|
2984
2988
|
useSaveDelay: () => useSaveDelay,
|
|
2989
|
+
useSearch: () => useSearch,
|
|
2985
2990
|
useTheme: () => useTheme,
|
|
2986
2991
|
useTranslation: () => useTranslation,
|
|
2987
2992
|
validateEmail: () => validateEmail,
|
|
@@ -3038,22 +3043,44 @@ var import_clsx3 = __toESM(require("clsx"));
|
|
|
3038
3043
|
|
|
3039
3044
|
// src/components/layout-and-navigation/Tile.tsx
|
|
3040
3045
|
var import_clsx = __toESM(require("clsx"));
|
|
3046
|
+
var import_lucide_react = require("lucide-react");
|
|
3041
3047
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
3042
3048
|
var Tile = ({
|
|
3043
3049
|
title,
|
|
3044
3050
|
description,
|
|
3051
|
+
onClick,
|
|
3052
|
+
isSelected = false,
|
|
3053
|
+
isDisabled = false,
|
|
3045
3054
|
prefix,
|
|
3046
3055
|
suffix,
|
|
3056
|
+
normalClassName = "hover:bg-primary/40 cursor-pointer",
|
|
3057
|
+
selectedClassName = " bg-primary/20",
|
|
3058
|
+
disabledClassName = "text-disabled-text bg-disabled-background cursor-not-allowed",
|
|
3047
3059
|
className
|
|
3048
3060
|
}) => {
|
|
3049
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
3050
|
-
|
|
3051
|
-
|
|
3052
|
-
|
|
3053
|
-
|
|
3054
|
-
|
|
3055
|
-
|
|
3056
|
-
|
|
3061
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
3062
|
+
"div",
|
|
3063
|
+
{
|
|
3064
|
+
className: (0, import_clsx.default)(
|
|
3065
|
+
"row gap-x-2 w-full items-center",
|
|
3066
|
+
{
|
|
3067
|
+
[normalClassName]: !!onClick && !isDisabled,
|
|
3068
|
+
[selectedClassName]: isSelected && !isDisabled,
|
|
3069
|
+
[disabledClassName]: isDisabled
|
|
3070
|
+
},
|
|
3071
|
+
className
|
|
3072
|
+
),
|
|
3073
|
+
onClick: isDisabled ? void 0 : onClick,
|
|
3074
|
+
children: [
|
|
3075
|
+
prefix ?? (isSelected ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Check, { size: 24 }) : void 0),
|
|
3076
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "col gap-y-0 w-full", children: [
|
|
3077
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h4", { className: (0, import_clsx.default)(title.className ?? "textstyle-title-normal"), children: title.value }),
|
|
3078
|
+
!!description && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: (0, import_clsx.default)(description.className ?? "textstyle-description"), children: description.value })
|
|
3079
|
+
] }),
|
|
3080
|
+
suffix
|
|
3081
|
+
]
|
|
3082
|
+
}
|
|
3083
|
+
);
|
|
3057
3084
|
};
|
|
3058
3085
|
|
|
3059
3086
|
// src/components/icons-and-geometry/Helpwave.tsx
|
|
@@ -3154,7 +3181,7 @@ var HelpwaveBadge = ({
|
|
|
3154
3181
|
|
|
3155
3182
|
// src/components/date/DatePicker.tsx
|
|
3156
3183
|
var import_react6 = require("react");
|
|
3157
|
-
var
|
|
3184
|
+
var import_lucide_react3 = require("lucide-react");
|
|
3158
3185
|
|
|
3159
3186
|
// src/localization/LanguageProvider.tsx
|
|
3160
3187
|
var import_react2 = require("react");
|
|
@@ -3277,15 +3304,55 @@ var LanguageProvider = ({ initialLanguage, children }) => {
|
|
|
3277
3304
|
};
|
|
3278
3305
|
|
|
3279
3306
|
// src/localization/useTranslation.ts
|
|
3280
|
-
var useTranslation = (
|
|
3281
|
-
const { language: languageProp, translation: overwrite } =
|
|
3307
|
+
var useTranslation = (translations, overwriteTranslation = {}) => {
|
|
3308
|
+
const { language: languageProp, translation: overwrite } = overwriteTranslation;
|
|
3282
3309
|
const { language: inferredLanguage } = useLanguage();
|
|
3283
3310
|
const usedLanguage = languageProp ?? inferredLanguage;
|
|
3284
|
-
|
|
3285
|
-
if (overwrite
|
|
3286
|
-
|
|
3287
|
-
}
|
|
3288
|
-
return
|
|
3311
|
+
const usedTranslations = [...translations];
|
|
3312
|
+
if (overwrite) {
|
|
3313
|
+
usedTranslations.push(overwrite);
|
|
3314
|
+
}
|
|
3315
|
+
return (key, options) => {
|
|
3316
|
+
const { count, replacements } = { ...{ count: 0, replacements: {} }, ...options };
|
|
3317
|
+
try {
|
|
3318
|
+
for (let i = translations.length - 1; i >= 0; i--) {
|
|
3319
|
+
const translation = translations[i];
|
|
3320
|
+
const localizedTranslation = translation[usedLanguage];
|
|
3321
|
+
if (!localizedTranslation) {
|
|
3322
|
+
continue;
|
|
3323
|
+
}
|
|
3324
|
+
const value = localizedTranslation[key];
|
|
3325
|
+
if (!value) {
|
|
3326
|
+
continue;
|
|
3327
|
+
}
|
|
3328
|
+
let forProcessing;
|
|
3329
|
+
if (typeof value !== "string") {
|
|
3330
|
+
if (count <= 0 && value?.zero) {
|
|
3331
|
+
forProcessing = value.zero;
|
|
3332
|
+
} else if (count === 1 && value?.one) {
|
|
3333
|
+
forProcessing = value.one;
|
|
3334
|
+
} else if (count === 2 && value?.two) {
|
|
3335
|
+
forProcessing = value.two;
|
|
3336
|
+
} else if (count <= 10 && value?.few) {
|
|
3337
|
+
forProcessing = value.few;
|
|
3338
|
+
} else if (count > 10 && value?.many) {
|
|
3339
|
+
forProcessing = value.many;
|
|
3340
|
+
} else {
|
|
3341
|
+
forProcessing = value.other;
|
|
3342
|
+
}
|
|
3343
|
+
} else {
|
|
3344
|
+
forProcessing = value;
|
|
3345
|
+
}
|
|
3346
|
+
forProcessing = forProcessing.replace(/\{\{(\w+)}}/g, (_, placeholder) => {
|
|
3347
|
+
return replacements[placeholder] ?? `{{${placeholder}}}`;
|
|
3348
|
+
});
|
|
3349
|
+
return forProcessing;
|
|
3350
|
+
}
|
|
3351
|
+
} catch (e) {
|
|
3352
|
+
console.error(e);
|
|
3353
|
+
}
|
|
3354
|
+
return `{{${usedLanguage}:${key}}}`;
|
|
3355
|
+
};
|
|
3289
3356
|
};
|
|
3290
3357
|
|
|
3291
3358
|
// src/util/noop.ts
|
|
@@ -3766,10 +3833,10 @@ var import_clsx6 = __toESM(require("clsx"));
|
|
|
3766
3833
|
|
|
3767
3834
|
// src/components/layout-and-navigation/Expandable.tsx
|
|
3768
3835
|
var import_react3 = require("react");
|
|
3769
|
-
var
|
|
3836
|
+
var import_lucide_react2 = require("lucide-react");
|
|
3770
3837
|
var import_clsx5 = __toESM(require("clsx"));
|
|
3771
3838
|
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
3772
|
-
var DefaultIcon = (expanded) => expanded ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
3839
|
+
var DefaultIcon = (expanded) => expanded ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_lucide_react2.ChevronUp, { size: 16, className: "min-w-[16px]" }) : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_lucide_react2.ChevronDown, { size: 16, className: "min-w-[16px]" });
|
|
3773
3840
|
var Expandable = (0, import_react3.forwardRef)(function Expandable2({
|
|
3774
3841
|
children,
|
|
3775
3842
|
label,
|
|
@@ -3778,8 +3845,9 @@ var Expandable = (0, import_react3.forwardRef)(function Expandable2({
|
|
|
3778
3845
|
onChange = noop,
|
|
3779
3846
|
clickOnlyOnHeader = true,
|
|
3780
3847
|
disabled = false,
|
|
3781
|
-
className
|
|
3782
|
-
headerClassName
|
|
3848
|
+
className,
|
|
3849
|
+
headerClassName,
|
|
3850
|
+
contentClassName
|
|
3783
3851
|
}, ref) {
|
|
3784
3852
|
icon ??= DefaultIcon;
|
|
3785
3853
|
return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
|
|
@@ -3808,7 +3876,7 @@ var Expandable = (0, import_react3.forwardRef)(function Expandable2({
|
|
|
3808
3876
|
]
|
|
3809
3877
|
}
|
|
3810
3878
|
),
|
|
3811
|
-
isExpanded && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "col px-4 pb-2", children })
|
|
3879
|
+
isExpanded && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: (0, import_clsx5.default)("col px-4 pb-2", contentClassName), children })
|
|
3812
3880
|
]
|
|
3813
3881
|
}
|
|
3814
3882
|
);
|
|
@@ -3873,7 +3941,8 @@ var YearMonthPicker = ({
|
|
|
3873
3941
|
ref: (displayedYearMonth.getFullYear() ?? (/* @__PURE__ */ new Date()).getFullYear()) === year ? ref : void 0,
|
|
3874
3942
|
label: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: (0, import_clsx6.default)({ "text-primary font-bold": selectedYear }), children: year }),
|
|
3875
3943
|
isExpanded: showValueOpen && selectedYear,
|
|
3876
|
-
|
|
3944
|
+
contentClassName: "gap-y-1",
|
|
3945
|
+
children: equalSizeGroups([...monthsList], 3).map((monthList, index) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "row gap-x-1", children: monthList.map((month) => {
|
|
3877
3946
|
const monthIndex = monthsList.indexOf(month);
|
|
3878
3947
|
const newDate = new Date(year, monthIndex);
|
|
3879
3948
|
const selectedMonth = selectedYear && monthIndex === displayedYearMonth.getMonth();
|
|
@@ -3883,17 +3952,12 @@ var YearMonthPicker = ({
|
|
|
3883
3952
|
const isBeforeEnd = end === void 0 || firstOfMonth <= end;
|
|
3884
3953
|
const isValid = isAfterStart && isBeforeEnd;
|
|
3885
3954
|
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
3886
|
-
|
|
3955
|
+
SolidButton,
|
|
3887
3956
|
{
|
|
3888
3957
|
disabled: !isValid,
|
|
3889
|
-
|
|
3890
|
-
|
|
3891
|
-
|
|
3892
|
-
"bg-gray-50 text-black": !selectedMonth && isValid,
|
|
3893
|
-
"bg-primary text-on-primary": selectedMonth && isValid,
|
|
3894
|
-
"bg-disabled-background text-disabled-text": !isValid
|
|
3895
|
-
}
|
|
3896
|
-
),
|
|
3958
|
+
color: selectedMonth && isValid ? "primary" : "neutral",
|
|
3959
|
+
className: "flex-1",
|
|
3960
|
+
size: "small",
|
|
3897
3961
|
onClick: () => {
|
|
3898
3962
|
onChange(newDate);
|
|
3899
3963
|
},
|
|
@@ -3908,11 +3972,11 @@ var YearMonthPicker = ({
|
|
|
3908
3972
|
}) }) }) });
|
|
3909
3973
|
};
|
|
3910
3974
|
var YearMonthPickerUncontrolled = ({
|
|
3911
|
-
displayedYearMonth
|
|
3975
|
+
displayedYearMonth,
|
|
3912
3976
|
onChange = noop,
|
|
3913
3977
|
...props
|
|
3914
3978
|
}) => {
|
|
3915
|
-
const [yearMonth, setYearMonth] = (0, import_react4.useState)(displayedYearMonth);
|
|
3979
|
+
const [yearMonth, setYearMonth] = (0, import_react4.useState)(displayedYearMonth ?? /* @__PURE__ */ new Date());
|
|
3916
3980
|
(0, import_react4.useEffect)(() => setYearMonth(displayedYearMonth), [displayedYearMonth]);
|
|
3917
3981
|
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
3918
3982
|
YearMonthPicker,
|
|
@@ -3956,14 +4020,15 @@ var DayPicker = ({
|
|
|
3956
4020
|
{
|
|
3957
4021
|
disabled: !isDayValid,
|
|
3958
4022
|
className: (0, import_clsx7.default)(
|
|
3959
|
-
"flex-1 rounded-full border-2
|
|
4023
|
+
"flex-1 rounded-full border-2",
|
|
3960
4024
|
{
|
|
3961
|
-
"text-
|
|
3962
|
-
"text-
|
|
3963
|
-
"text-
|
|
3964
|
-
"
|
|
3965
|
-
"
|
|
3966
|
-
"
|
|
4025
|
+
"text-description": !isSameMonth && !isSelected && isDayValid,
|
|
4026
|
+
"text-button-solid-neutral-text bg-button-solid-neutral-background": !isSelected && isSameMonth && isDayValid,
|
|
4027
|
+
"text-button-solid-primary-text bg-button-solid-primary-background": isSelected && isDayValid,
|
|
4028
|
+
"hover:brightness-90 hover:bg-button-solid-primary-background hover:text-button-solid-primary-text": isDayValid,
|
|
4029
|
+
"text-disabled-text bg-disabled-background cursor-not-allowed": !isDayValid,
|
|
4030
|
+
"border-secondary": isToday && markToday,
|
|
4031
|
+
"border-transparent": !isToday || !markToday
|
|
3967
4032
|
}
|
|
3968
4033
|
),
|
|
3969
4034
|
onClick: () => onChange(date),
|
|
@@ -3974,15 +4039,26 @@ var DayPicker = ({
|
|
|
3974
4039
|
}) }, index))
|
|
3975
4040
|
] });
|
|
3976
4041
|
};
|
|
3977
|
-
var DayPickerUncontrolled = ({
|
|
3978
|
-
|
|
3979
|
-
|
|
4042
|
+
var DayPickerUncontrolled = ({
|
|
4043
|
+
displayedMonth,
|
|
4044
|
+
selected,
|
|
4045
|
+
onChange = noop,
|
|
4046
|
+
...restProps
|
|
4047
|
+
}) => {
|
|
4048
|
+
const [date, setDate] = (0, import_react5.useState)(selected);
|
|
4049
|
+
const [usedDisplayedMonth, setUsedDDisplayedMonth] = (0, import_react5.useState)(displayedMonth);
|
|
4050
|
+
(0, import_react5.useEffect)(() => {
|
|
4051
|
+
setDate(selected);
|
|
4052
|
+
setUsedDDisplayedMonth(selected);
|
|
4053
|
+
}, [selected]);
|
|
3980
4054
|
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
3981
4055
|
DayPicker,
|
|
3982
4056
|
{
|
|
3983
|
-
displayedMonth:
|
|
4057
|
+
displayedMonth: usedDisplayedMonth,
|
|
4058
|
+
selected: date,
|
|
3984
4059
|
onChange: (newDate) => {
|
|
3985
4060
|
setDate(newDate);
|
|
4061
|
+
setUsedDDisplayedMonth(newDate);
|
|
3986
4062
|
onChange(newDate);
|
|
3987
4063
|
},
|
|
3988
4064
|
...restProps
|
|
@@ -3990,16 +4066,80 @@ var DayPickerUncontrolled = ({ displayedMonth, onChange = noop, ...restProps })
|
|
|
3990
4066
|
);
|
|
3991
4067
|
};
|
|
3992
4068
|
|
|
3993
|
-
// src/
|
|
3994
|
-
var
|
|
3995
|
-
|
|
4069
|
+
// src/localization/defaults/time.ts
|
|
4070
|
+
var monthTranslation = {
|
|
4071
|
+
en: {
|
|
4072
|
+
january: "January",
|
|
4073
|
+
february: "Febuary",
|
|
4074
|
+
march: "March",
|
|
4075
|
+
april: "April",
|
|
4076
|
+
may: "May",
|
|
4077
|
+
june: "June",
|
|
4078
|
+
july: "July",
|
|
4079
|
+
august: "August",
|
|
4080
|
+
september: "September",
|
|
4081
|
+
october: "October",
|
|
4082
|
+
november: "November",
|
|
4083
|
+
december: "December"
|
|
4084
|
+
},
|
|
4085
|
+
de: {
|
|
4086
|
+
january: "Januar",
|
|
4087
|
+
february: "Febuar",
|
|
4088
|
+
march: "M\xE4rz",
|
|
4089
|
+
april: "April",
|
|
4090
|
+
may: "Mai",
|
|
4091
|
+
june: "Juni",
|
|
4092
|
+
july: "Juli",
|
|
4093
|
+
august: "August",
|
|
4094
|
+
september: "September",
|
|
4095
|
+
october: "October",
|
|
4096
|
+
november: "November",
|
|
4097
|
+
december: "December"
|
|
4098
|
+
}
|
|
4099
|
+
};
|
|
4100
|
+
var timeTranslation = {
|
|
3996
4101
|
en: {
|
|
3997
|
-
|
|
4102
|
+
...monthTranslation.en,
|
|
4103
|
+
century: { one: "Century", other: "Centuries" },
|
|
4104
|
+
decade: { one: "Decade", other: "Decades" },
|
|
4105
|
+
year: { one: "Year", other: "Years" },
|
|
4106
|
+
month: { one: "Month", other: "Months" },
|
|
4107
|
+
day: { one: "Day", other: "Days" },
|
|
4108
|
+
hour: { one: "Hour", other: "Hours" },
|
|
4109
|
+
minute: { one: "Minute", other: "Minutes" },
|
|
4110
|
+
second: { one: "Second", other: "Seconds" },
|
|
4111
|
+
millisecond: { one: "Millisecond", other: "Milliseconds" },
|
|
4112
|
+
microsecond: { one: "Microsecond", other: "Microseconds" },
|
|
4113
|
+
nanosecond: { one: "Nanosecond", other: "Nanoseconds" },
|
|
4114
|
+
yesterday: "Yesterday",
|
|
4115
|
+
today: "Today",
|
|
4116
|
+
tomorrow: "Tomorrow",
|
|
4117
|
+
in: "in",
|
|
4118
|
+
ago: "ago"
|
|
3998
4119
|
},
|
|
3999
4120
|
de: {
|
|
4000
|
-
|
|
4121
|
+
...monthTranslation.de,
|
|
4122
|
+
century: { one: "Jahrhundert", other: "Jahrhunderte" },
|
|
4123
|
+
decade: { one: "Jahrzehnt", other: "Jahrzehnte" },
|
|
4124
|
+
year: { one: "Jahr", other: "Jahre" },
|
|
4125
|
+
month: { one: "Monat", other: "Monate" },
|
|
4126
|
+
day: { one: "Tag", other: "Tage" },
|
|
4127
|
+
hour: { one: "Stunde", other: "Stunden" },
|
|
4128
|
+
minute: { one: "Minute", other: "Minuten" },
|
|
4129
|
+
second: { one: "Sekunde", other: "Sekunden" },
|
|
4130
|
+
millisecond: { one: "Millisekunde", other: "Millisekunden" },
|
|
4131
|
+
microsecond: { one: "Mikrosekunde", other: "Mikrosekunden" },
|
|
4132
|
+
nanosecond: { one: "Nanosekunde", other: "Nanosekunden" },
|
|
4133
|
+
yesterday: "Gestern",
|
|
4134
|
+
today: "Heute",
|
|
4135
|
+
tomorrow: "Morgen",
|
|
4136
|
+
in: "in",
|
|
4137
|
+
ago: "vor"
|
|
4001
4138
|
}
|
|
4002
4139
|
};
|
|
4140
|
+
|
|
4141
|
+
// src/components/date/DatePicker.tsx
|
|
4142
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
4003
4143
|
var DatePicker = ({
|
|
4004
4144
|
overwriteTranslation,
|
|
4005
4145
|
value = /* @__PURE__ */ new Date(),
|
|
@@ -4012,7 +4152,7 @@ var DatePicker = ({
|
|
|
4012
4152
|
className = ""
|
|
4013
4153
|
}) => {
|
|
4014
4154
|
const locale = useLocale();
|
|
4015
|
-
const translation = useTranslation(
|
|
4155
|
+
const translation = useTranslation([timeTranslation], overwriteTranslation);
|
|
4016
4156
|
const [displayedMonth, setDisplayedMonth] = (0, import_react6.useState)(value);
|
|
4017
4157
|
const [displayMode, setDisplayMode] = (0, import_react6.useState)(initialDisplay);
|
|
4018
4158
|
(0, import_react6.useEffect)(() => {
|
|
@@ -4029,7 +4169,7 @@ var DatePicker = ({
|
|
|
4029
4169
|
onClick: () => setDisplayMode(displayMode === "day" ? "yearMonth" : "day"),
|
|
4030
4170
|
children: [
|
|
4031
4171
|
`${new Intl.DateTimeFormat(locale, { month: "long" }).format(displayedMonth)} ${displayedMonth.getFullYear()}`,
|
|
4032
|
-
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
4172
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_lucide_react3.ChevronDown, { size: 16 })
|
|
4033
4173
|
]
|
|
4034
4174
|
}
|
|
4035
4175
|
),
|
|
@@ -4043,7 +4183,7 @@ var DatePicker = ({
|
|
|
4043
4183
|
onClick: () => {
|
|
4044
4184
|
setDisplayedMonth(subtractDuration(displayedMonth, { months: 1 }));
|
|
4045
4185
|
},
|
|
4046
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
4186
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_lucide_react3.ArrowUp, { size: 20 })
|
|
4047
4187
|
}
|
|
4048
4188
|
),
|
|
4049
4189
|
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
@@ -4055,7 +4195,7 @@ var DatePicker = ({
|
|
|
4055
4195
|
onClick: () => {
|
|
4056
4196
|
setDisplayedMonth(addDuration(displayedMonth, { months: 1 }));
|
|
4057
4197
|
},
|
|
4058
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
4198
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_lucide_react3.ArrowDown, { size: 20 })
|
|
4059
4199
|
}
|
|
4060
4200
|
)
|
|
4061
4201
|
] })
|
|
@@ -4095,7 +4235,7 @@ var DatePicker = ({
|
|
|
4095
4235
|
newDate.setHours(value.getHours(), value.getMinutes());
|
|
4096
4236
|
onChange(newDate);
|
|
4097
4237
|
},
|
|
4098
|
-
children: translation
|
|
4238
|
+
children: translation("today")
|
|
4099
4239
|
}
|
|
4100
4240
|
) })
|
|
4101
4241
|
] })
|
|
@@ -4125,42 +4265,14 @@ var DatePickerUncontrolled = ({
|
|
|
4125
4265
|
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
4126
4266
|
var defaultTimeDisplayTranslations = {
|
|
4127
4267
|
en: {
|
|
4128
|
-
|
|
4129
|
-
|
|
4130
|
-
|
|
4131
|
-
inDays: (days) => `in ${days} days`,
|
|
4132
|
-
agoDays: (days) => `${days} days ago`,
|
|
4133
|
-
january: "January",
|
|
4134
|
-
february: "February",
|
|
4135
|
-
march: "March",
|
|
4136
|
-
april: "April",
|
|
4137
|
-
may: "May",
|
|
4138
|
-
june: "June",
|
|
4139
|
-
july: "July",
|
|
4140
|
-
august: "August",
|
|
4141
|
-
september: "September",
|
|
4142
|
-
october: "October",
|
|
4143
|
-
november: "November",
|
|
4144
|
-
december: "December"
|
|
4268
|
+
...timeTranslation.en,
|
|
4269
|
+
inDays: `in {{days}} days`,
|
|
4270
|
+
agoDays: `{{days}} days ago`
|
|
4145
4271
|
},
|
|
4146
4272
|
de: {
|
|
4147
|
-
|
|
4148
|
-
|
|
4149
|
-
|
|
4150
|
-
inDays: (days) => `in ${days} Tagen`,
|
|
4151
|
-
agoDays: (days) => `vor ${days} Tagen`,
|
|
4152
|
-
january: "Januar",
|
|
4153
|
-
february: "Februar",
|
|
4154
|
-
march: "M\xE4rz",
|
|
4155
|
-
april: "April",
|
|
4156
|
-
may: "Mai",
|
|
4157
|
-
june: "Juni",
|
|
4158
|
-
july: "Juli",
|
|
4159
|
-
august: "August",
|
|
4160
|
-
september: "September",
|
|
4161
|
-
october: "October",
|
|
4162
|
-
november: "November",
|
|
4163
|
-
december: "December"
|
|
4273
|
+
...timeTranslation.de,
|
|
4274
|
+
inDays: `in {{days}} Tagen`,
|
|
4275
|
+
agoDays: `vor {{days}} Tagen`
|
|
4164
4276
|
}
|
|
4165
4277
|
};
|
|
4166
4278
|
var TimeDisplay = ({
|
|
@@ -4168,31 +4280,31 @@ var TimeDisplay = ({
|
|
|
4168
4280
|
date,
|
|
4169
4281
|
mode = "daysFromToday"
|
|
4170
4282
|
}) => {
|
|
4171
|
-
const translation = useTranslation(defaultTimeDisplayTranslations, overwriteTranslation);
|
|
4283
|
+
const translation = useTranslation([defaultTimeDisplayTranslations], overwriteTranslation);
|
|
4172
4284
|
const difference = (/* @__PURE__ */ new Date()).setHours(0, 0, 0, 0).valueOf() - new Date(date).setHours(0, 0, 0, 0).valueOf();
|
|
4173
4285
|
const isBefore = difference > 0;
|
|
4174
4286
|
const differenceInDays = Math.floor(Math.abs(difference) / (1e3 * 3600 * 24));
|
|
4175
4287
|
let displayString;
|
|
4176
4288
|
if (differenceInDays === 0) {
|
|
4177
|
-
displayString = translation
|
|
4289
|
+
displayString = translation("today");
|
|
4178
4290
|
} else if (differenceInDays === 1) {
|
|
4179
|
-
displayString = isBefore ? translation
|
|
4291
|
+
displayString = isBefore ? translation("yesterday") : translation("tomorrow");
|
|
4180
4292
|
} else {
|
|
4181
|
-
displayString = isBefore ? translation.
|
|
4293
|
+
displayString = isBefore ? translation("agoDays", { replacements: { days: differenceInDays.toString() } }) : translation("inDays", { replacements: { days: differenceInDays.toString() } });
|
|
4182
4294
|
}
|
|
4183
4295
|
const monthToTranslation = {
|
|
4184
|
-
0: translation
|
|
4185
|
-
1: translation
|
|
4186
|
-
2: translation
|
|
4187
|
-
3: translation
|
|
4188
|
-
4: translation
|
|
4189
|
-
5: translation
|
|
4190
|
-
6: translation
|
|
4191
|
-
7: translation
|
|
4192
|
-
8: translation
|
|
4193
|
-
9: translation
|
|
4194
|
-
10: translation
|
|
4195
|
-
11: translation
|
|
4296
|
+
0: translation("january"),
|
|
4297
|
+
1: translation("february"),
|
|
4298
|
+
2: translation("march"),
|
|
4299
|
+
3: translation("april"),
|
|
4300
|
+
4: translation("may"),
|
|
4301
|
+
5: translation("june"),
|
|
4302
|
+
6: translation("july"),
|
|
4303
|
+
7: translation("august"),
|
|
4304
|
+
8: translation("september"),
|
|
4305
|
+
9: translation("october"),
|
|
4306
|
+
10: translation("november"),
|
|
4307
|
+
11: translation("december")
|
|
4196
4308
|
};
|
|
4197
4309
|
let fullString;
|
|
4198
4310
|
if (mode === "daysFromToday") {
|
|
@@ -4438,7 +4550,7 @@ var Tooltip = ({
|
|
|
4438
4550
|
{
|
|
4439
4551
|
className: (0, import_clsx10.clsx)(
|
|
4440
4552
|
`opacity-0 absolute text-xs font-semibold text-tooltip-text px-2 py-1 rounded whitespace-nowrap
|
|
4441
|
-
animate-tooltip-fade-in shadow-
|
|
4553
|
+
animate-tooltip-fade-in shadow-around-md bg-tooltip-background`,
|
|
4442
4554
|
positionClasses[position],
|
|
4443
4555
|
tooltipClassName
|
|
4444
4556
|
),
|
|
@@ -4449,7 +4561,7 @@ var Tooltip = ({
|
|
|
4449
4561
|
"div",
|
|
4450
4562
|
{
|
|
4451
4563
|
className: (0, import_clsx10.clsx)(`absolute w-0 h-0`, triangleClasses[position]),
|
|
4452
|
-
style: { ...triangleStyle[position], zIndex }
|
|
4564
|
+
style: { ...triangleStyle[position], zIndex: zIndex + 1 }
|
|
4453
4565
|
}
|
|
4454
4566
|
)
|
|
4455
4567
|
]
|
|
@@ -4461,7 +4573,109 @@ var Tooltip = ({
|
|
|
4461
4573
|
};
|
|
4462
4574
|
|
|
4463
4575
|
// src/components/layout-and-navigation/Overlay.tsx
|
|
4464
|
-
var
|
|
4576
|
+
var import_lucide_react4 = require("lucide-react");
|
|
4577
|
+
|
|
4578
|
+
// src/localization/defaults/form.ts
|
|
4579
|
+
var formTranslation = {
|
|
4580
|
+
en: {
|
|
4581
|
+
all: "All",
|
|
4582
|
+
back: "Back",
|
|
4583
|
+
cancel: "Cancel",
|
|
4584
|
+
change: "Change",
|
|
4585
|
+
clear: "Clear",
|
|
4586
|
+
close: "Close",
|
|
4587
|
+
confirm: "Confirm",
|
|
4588
|
+
decline: "Decline",
|
|
4589
|
+
delete: "Delete",
|
|
4590
|
+
discard: "Discard",
|
|
4591
|
+
discardChanges: "Discard Changes",
|
|
4592
|
+
done: "Done",
|
|
4593
|
+
edit: "Edit",
|
|
4594
|
+
enterText: "Enter text here",
|
|
4595
|
+
error: "Error",
|
|
4596
|
+
exit: "Exit",
|
|
4597
|
+
fieldRequiredError: "This field is required.",
|
|
4598
|
+
invalidEmailError: "Please enter a valid email address.",
|
|
4599
|
+
less: "Less",
|
|
4600
|
+
loading: "Loading",
|
|
4601
|
+
maxLengthError: "Maximum length exceeded.",
|
|
4602
|
+
minLengthError: "Minimum length not met.",
|
|
4603
|
+
more: "More",
|
|
4604
|
+
next: "Next",
|
|
4605
|
+
no: "No",
|
|
4606
|
+
none: "None",
|
|
4607
|
+
of: "of",
|
|
4608
|
+
optional: "Optional",
|
|
4609
|
+
pleaseWait: "Please wait...",
|
|
4610
|
+
previous: "Previous",
|
|
4611
|
+
remove: "Remove",
|
|
4612
|
+
required: "Required",
|
|
4613
|
+
reset: "Reset",
|
|
4614
|
+
save: "Save",
|
|
4615
|
+
search: "Search",
|
|
4616
|
+
select: "Select",
|
|
4617
|
+
selectOption: "Select an option",
|
|
4618
|
+
show: "Show",
|
|
4619
|
+
showMore: "Show more",
|
|
4620
|
+
showLess: "Show less",
|
|
4621
|
+
submit: "Submit",
|
|
4622
|
+
success: "Success",
|
|
4623
|
+
update: "Update",
|
|
4624
|
+
unsavedChanges: "Unsaved Changes",
|
|
4625
|
+
unsavedChangesSaveQuestion: "Do you want to save your changes?",
|
|
4626
|
+
yes: "Yes"
|
|
4627
|
+
},
|
|
4628
|
+
de: {
|
|
4629
|
+
all: "Alle",
|
|
4630
|
+
back: "Zur\xFCck",
|
|
4631
|
+
cancel: "Abbrechen",
|
|
4632
|
+
change: "\xC4ndern",
|
|
4633
|
+
clear: "L\xF6schen",
|
|
4634
|
+
close: "Schlie\xDFen",
|
|
4635
|
+
confirm: "Best\xE4tigen",
|
|
4636
|
+
decline: "Ablehnen",
|
|
4637
|
+
delete: "L\xF6schen",
|
|
4638
|
+
discard: "Verwerfen",
|
|
4639
|
+
discardChanges: "\xC4nderungen Verwerfen",
|
|
4640
|
+
done: "Fertig",
|
|
4641
|
+
edit: "Bearbeiten",
|
|
4642
|
+
enterText: "Text hier eingeben",
|
|
4643
|
+
error: "Fehler",
|
|
4644
|
+
exit: "Beenden",
|
|
4645
|
+
fieldRequiredError: "Dieses Feld ist erforderlich.",
|
|
4646
|
+
invalidEmailError: "Bitte geben Sie eine g\xFCltige E-Mail-Adresse ein.",
|
|
4647
|
+
less: "Weniger",
|
|
4648
|
+
loading: "L\xE4dt",
|
|
4649
|
+
maxLengthError: "Maximale L\xE4nge \xFCberschritten.",
|
|
4650
|
+
minLengthError: "Mindestl\xE4nge nicht erreicht.",
|
|
4651
|
+
more: "Mehr",
|
|
4652
|
+
next: "Weiter",
|
|
4653
|
+
no: "Nein",
|
|
4654
|
+
none: "Nichts",
|
|
4655
|
+
of: "von",
|
|
4656
|
+
optional: "Optional",
|
|
4657
|
+
pleaseWait: "Bitte warten...",
|
|
4658
|
+
previous: "Vorherige",
|
|
4659
|
+
remove: "Entfernen",
|
|
4660
|
+
required: "Erforderlich",
|
|
4661
|
+
reset: "Zur\xFCcksetzen",
|
|
4662
|
+
save: "Speichern",
|
|
4663
|
+
search: "Suche",
|
|
4664
|
+
select: "Select",
|
|
4665
|
+
selectOption: "Option ausw\xE4hlen",
|
|
4666
|
+
show: "Anzeigen",
|
|
4667
|
+
showMore: "Mehr anzeigen",
|
|
4668
|
+
showLess: "Weniger anzeigen",
|
|
4669
|
+
submit: "Abschicken",
|
|
4670
|
+
success: "Erfolg",
|
|
4671
|
+
update: "Update",
|
|
4672
|
+
unsavedChanges: "Ungespeicherte \xC4nderungen",
|
|
4673
|
+
unsavedChangesSaveQuestion: "M\xF6chtest du die \xC4nderungen speichern?",
|
|
4674
|
+
yes: "Ja"
|
|
4675
|
+
}
|
|
4676
|
+
};
|
|
4677
|
+
|
|
4678
|
+
// src/components/layout-and-navigation/Overlay.tsx
|
|
4465
4679
|
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
4466
4680
|
var Overlay = ({
|
|
4467
4681
|
children,
|
|
@@ -4491,10 +4705,10 @@ var Overlay = ({
|
|
|
4491
4705
|
var overlayStack = [];
|
|
4492
4706
|
var defaultModalHeaderTranslation = {
|
|
4493
4707
|
en: {
|
|
4494
|
-
|
|
4708
|
+
...formTranslation.en
|
|
4495
4709
|
},
|
|
4496
4710
|
de: {
|
|
4497
|
-
|
|
4711
|
+
...formTranslation.de
|
|
4498
4712
|
}
|
|
4499
4713
|
};
|
|
4500
4714
|
var OverlayHeader = ({
|
|
@@ -4505,7 +4719,7 @@ var OverlayHeader = ({
|
|
|
4505
4719
|
description,
|
|
4506
4720
|
descriptionText = ""
|
|
4507
4721
|
}) => {
|
|
4508
|
-
const translation = useTranslation(defaultModalHeaderTranslation, overwriteTranslation);
|
|
4722
|
+
const translation = useTranslation([defaultModalHeaderTranslation], overwriteTranslation);
|
|
4509
4723
|
const hasTitleRow = !!title || !!titleText || !!onClose;
|
|
4510
4724
|
const titleRow = /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "row justify-between items-start gap-x-8", children: [
|
|
4511
4725
|
title ?? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
@@ -4517,7 +4731,7 @@ var OverlayHeader = ({
|
|
|
4517
4731
|
children: titleText
|
|
4518
4732
|
}
|
|
4519
4733
|
),
|
|
4520
|
-
!!onClose && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Tooltip, { tooltip: translation
|
|
4734
|
+
!!onClose && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Tooltip, { tooltip: translation("close"), children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(IconButton, { color: "neutral", size: "small", onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_lucide_react4.X, { className: "w-full h-full" }) }) })
|
|
4521
4735
|
] });
|
|
4522
4736
|
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "col", children: [
|
|
4523
4737
|
hasTitleRow && titleRow,
|
|
@@ -4668,16 +4882,6 @@ var Dialog = ({
|
|
|
4668
4882
|
|
|
4669
4883
|
// src/components/dialogs/ConfirmDialog.tsx
|
|
4670
4884
|
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
4671
|
-
var defaultConfirmDialogTranslation = {
|
|
4672
|
-
en: {
|
|
4673
|
-
confirm: "Confirm",
|
|
4674
|
-
decline: "Decline"
|
|
4675
|
-
},
|
|
4676
|
-
de: {
|
|
4677
|
-
confirm: "Best\xE4tigen",
|
|
4678
|
-
decline: "Ablehnen"
|
|
4679
|
-
}
|
|
4680
|
-
};
|
|
4681
4885
|
var ConfirmDialog = ({
|
|
4682
4886
|
overwriteTranslation,
|
|
4683
4887
|
children,
|
|
@@ -4688,7 +4892,7 @@ var ConfirmDialog = ({
|
|
|
4688
4892
|
className,
|
|
4689
4893
|
...restProps
|
|
4690
4894
|
}) => {
|
|
4691
|
-
const translation = useTranslation(
|
|
4895
|
+
const translation = useTranslation([formTranslation], overwriteTranslation);
|
|
4692
4896
|
const mapping = {
|
|
4693
4897
|
neutral: "primary",
|
|
4694
4898
|
negative: "negative",
|
|
@@ -4704,7 +4908,7 @@ var ConfirmDialog = ({
|
|
|
4704
4908
|
color: buttonOverwrites?.[0].color ?? "negative",
|
|
4705
4909
|
onClick: onDecline,
|
|
4706
4910
|
disabled: buttonOverwrites?.[0].disabled ?? false,
|
|
4707
|
-
children: buttonOverwrites?.[0].text ?? translation
|
|
4911
|
+
children: buttonOverwrites?.[0].text ?? translation("decline")
|
|
4708
4912
|
}
|
|
4709
4913
|
),
|
|
4710
4914
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
@@ -4714,7 +4918,7 @@ var ConfirmDialog = ({
|
|
|
4714
4918
|
color: buttonOverwrites?.[1].color ?? mapping[confirmType],
|
|
4715
4919
|
onClick: onConfirm,
|
|
4716
4920
|
disabled: buttonOverwrites?.[1].disabled ?? false,
|
|
4717
|
-
children: buttonOverwrites?.[1].text ?? translation
|
|
4921
|
+
children: buttonOverwrites?.[1].text ?? translation("confirm")
|
|
4718
4922
|
}
|
|
4719
4923
|
)
|
|
4720
4924
|
] })
|
|
@@ -4749,10 +4953,10 @@ var Avatar = ({ avatarUrl, alt, size = "medium", className = "" }) => {
|
|
|
4749
4953
|
};
|
|
4750
4954
|
return (
|
|
4751
4955
|
// TODO transparent or white background later
|
|
4752
|
-
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: (0, import_clsx13.default)(`rounded-full bg-primary`, className), style, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
4956
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: (0, import_clsx13.default)(`rounded-full bg-primary shadow`, className), style, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
4753
4957
|
"img",
|
|
4754
4958
|
{
|
|
4755
|
-
className: "rounded-full
|
|
4959
|
+
className: "rounded-full",
|
|
4756
4960
|
style,
|
|
4757
4961
|
src: avatarUrl,
|
|
4758
4962
|
alt,
|
|
@@ -5125,7 +5329,7 @@ var BreadCrumb = ({ crumbs, linkClassName, containerClassName }) => {
|
|
|
5125
5329
|
// src/components/layout-and-navigation/Carousel.tsx
|
|
5126
5330
|
var import_react11 = require("react");
|
|
5127
5331
|
var import_clsx17 = __toESM(require("clsx"));
|
|
5128
|
-
var
|
|
5332
|
+
var import_lucide_react5 = require("lucide-react");
|
|
5129
5333
|
|
|
5130
5334
|
// src/util/math.ts
|
|
5131
5335
|
var clamp = (value, min = 0, max = 1) => {
|
|
@@ -5242,7 +5446,7 @@ var Carousel = ({
|
|
|
5242
5446
|
arrows = false,
|
|
5243
5447
|
dots = true,
|
|
5244
5448
|
overScrollThreshold = 0.1,
|
|
5245
|
-
blurColor = "from-
|
|
5449
|
+
blurColor = "from-background",
|
|
5246
5450
|
className = "",
|
|
5247
5451
|
heightClassName = "h-[24rem]",
|
|
5248
5452
|
widthClassName = "w-[70%] desktop:w-1/2"
|
|
@@ -5474,19 +5678,23 @@ var Carousel = ({
|
|
|
5474
5678
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: (0, import_clsx17.default)(`relative w-full overflow-hidden`, heightClassName, className), children: [
|
|
5475
5679
|
arrows && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
|
|
5476
5680
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5477
|
-
|
|
5681
|
+
IconButton,
|
|
5478
5682
|
{
|
|
5479
|
-
|
|
5683
|
+
color: "neutral",
|
|
5684
|
+
className: (0, import_clsx17.default)("absolute z-10 left-0 top-1/2 -translate-y-1/2 shadow-md", { hidden: !canGoLeft() }),
|
|
5685
|
+
disabled: !canGoLeft(),
|
|
5480
5686
|
onClick: () => left(),
|
|
5481
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5687
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react5.ChevronLeft, { size: 24 })
|
|
5482
5688
|
}
|
|
5483
5689
|
),
|
|
5484
5690
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5485
|
-
|
|
5691
|
+
IconButton,
|
|
5486
5692
|
{
|
|
5487
|
-
|
|
5693
|
+
color: "neutral",
|
|
5694
|
+
className: (0, import_clsx17.default)("absolute z-10 right-0 top-1/2 -translate-y-1/2 shadow-md", { hidden: !canGoRight() }),
|
|
5695
|
+
disabled: !canGoRight(),
|
|
5488
5696
|
onClick: () => right(),
|
|
5489
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5697
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react5.ChevronRight, { size: 24 })
|
|
5490
5698
|
}
|
|
5491
5699
|
)
|
|
5492
5700
|
] }),
|
|
@@ -5526,9 +5734,9 @@ var Carousel = ({
|
|
|
5526
5734
|
children: range(0, length - 1).map((index) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5527
5735
|
"button",
|
|
5528
5736
|
{
|
|
5529
|
-
className: (0, import_clsx17.default)("w-[2rem] min-w-[2rem] h-[0.75rem] min-h-[0.75rem]
|
|
5530
|
-
"bg-
|
|
5531
|
-
"bg-
|
|
5737
|
+
className: (0, import_clsx17.default)("w-[2rem] min-w-[2rem] h-[0.75rem] min-h-[0.75rem] first:rounded-l-md last:rounded-r-md", {
|
|
5738
|
+
"bg-carousel-dot-disabled hover:bg-carousel-dot-active": currentIndex !== index,
|
|
5739
|
+
"bg-carousel-dot-active hover:brightness-90": currentIndex === index
|
|
5532
5740
|
}),
|
|
5533
5741
|
onClick: () => startAnimation(index)
|
|
5534
5742
|
},
|
|
@@ -5628,7 +5836,7 @@ var DividerInserter = ({
|
|
|
5628
5836
|
|
|
5629
5837
|
// src/components/layout-and-navigation/FAQSection.tsx
|
|
5630
5838
|
var import_clsx20 = __toESM(require("clsx"));
|
|
5631
|
-
var
|
|
5839
|
+
var import_lucide_react6 = require("lucide-react");
|
|
5632
5840
|
|
|
5633
5841
|
// src/components/layout-and-navigation/MarkdownInterpreter.tsx
|
|
5634
5842
|
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
@@ -5726,7 +5934,7 @@ var inserterIdentifierMapping = [
|
|
|
5726
5934
|
{ id: "helpwave", name: "helpwave" },
|
|
5727
5935
|
{ id: "newline", name: "newline" }
|
|
5728
5936
|
];
|
|
5729
|
-
var parseMarkdown = (text, commandStart = "\\",
|
|
5937
|
+
var parseMarkdown = (text, commandStart = "\\", open2 = "{", close = "}") => {
|
|
5730
5938
|
let start = text.indexOf(commandStart);
|
|
5731
5939
|
const children = [];
|
|
5732
5940
|
while (text !== "") {
|
|
@@ -5747,7 +5955,7 @@ var parseMarkdown = (text, commandStart = "\\", open = "{", close = "}") => {
|
|
|
5747
5955
|
text = "";
|
|
5748
5956
|
continue;
|
|
5749
5957
|
}
|
|
5750
|
-
const simpleReplace = [commandStart,
|
|
5958
|
+
const simpleReplace = [commandStart, open2, close];
|
|
5751
5959
|
if (simpleReplace.some((value) => text[1] === value)) {
|
|
5752
5960
|
children.push({
|
|
5753
5961
|
type: "text",
|
|
@@ -5768,7 +5976,7 @@ var parseMarkdown = (text, commandStart = "\\", open = "{", close = "}") => {
|
|
|
5768
5976
|
}
|
|
5769
5977
|
const modifier = modifierIdentifierMapping.find((value) => text.substring(1).startsWith(value.id));
|
|
5770
5978
|
if (modifier) {
|
|
5771
|
-
if (text[modifier.id.length + 1] !==
|
|
5979
|
+
if (text[modifier.id.length + 1] !== open2) {
|
|
5772
5980
|
children.push({
|
|
5773
5981
|
type: "text",
|
|
5774
5982
|
text: text.substring(0, modifier.id.length + 1)
|
|
@@ -5782,7 +5990,7 @@ var parseMarkdown = (text, commandStart = "\\", open = "{", close = "}") => {
|
|
|
5782
5990
|
let counter = 1;
|
|
5783
5991
|
let escaping = false;
|
|
5784
5992
|
while (index < text.length) {
|
|
5785
|
-
if (text[index] ===
|
|
5993
|
+
if (text[index] === open2 && !escaping) {
|
|
5786
5994
|
counter++;
|
|
5787
5995
|
}
|
|
5788
5996
|
if (text[index] === close && !escaping) {
|
|
@@ -5874,7 +6082,7 @@ var FAQSection = ({
|
|
|
5874
6082
|
...restProps,
|
|
5875
6083
|
label: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("h3", { id, className: "textstyle-title-md", children: title }),
|
|
5876
6084
|
clickOnlyOnHeader: false,
|
|
5877
|
-
icon: (expanded) => expanded ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
6085
|
+
icon: (expanded) => expanded ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react6.ChevronUp, { size: chevronSize, className: "text-primary", style: { minWidth: `${chevronSize}px` } }) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react6.ChevronDown, { size: chevronSize, className: "text-primary" }),
|
|
5878
6086
|
className: (0, import_clsx20.default)("rounded-xl", expandableClassName),
|
|
5879
6087
|
children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "mt-2", children: content.type === "markdown" ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(MarkdownInterpreter, { text: content.value }) : content.value })
|
|
5880
6088
|
},
|
|
@@ -5883,24 +6091,16 @@ var FAQSection = ({
|
|
|
5883
6091
|
};
|
|
5884
6092
|
|
|
5885
6093
|
// src/components/layout-and-navigation/Pagination.tsx
|
|
5886
|
-
var
|
|
6094
|
+
var import_lucide_react7 = require("lucide-react");
|
|
5887
6095
|
var import_clsx21 = __toESM(require("clsx"));
|
|
5888
6096
|
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
5889
|
-
var defaultPaginationTranslations = {
|
|
5890
|
-
en: {
|
|
5891
|
-
of: "of"
|
|
5892
|
-
},
|
|
5893
|
-
de: {
|
|
5894
|
-
of: "von"
|
|
5895
|
-
}
|
|
5896
|
-
};
|
|
5897
6097
|
var Pagination = ({
|
|
5898
6098
|
overwriteTranslation,
|
|
5899
6099
|
page,
|
|
5900
6100
|
numberOfPages,
|
|
5901
6101
|
onPageChanged
|
|
5902
6102
|
}) => {
|
|
5903
|
-
const translation = useTranslation(
|
|
6103
|
+
const translation = useTranslation([formTranslation], overwriteTranslation);
|
|
5904
6104
|
const changePage = (page2) => {
|
|
5905
6105
|
onPageChanged(page2);
|
|
5906
6106
|
};
|
|
@@ -5908,43 +6108,22 @@ var Pagination = ({
|
|
|
5908
6108
|
const onFirstPage = page === 0 && !noPages;
|
|
5909
6109
|
const onLastPage = page === numberOfPages - 1;
|
|
5910
6110
|
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: (0, import_clsx21.default)("row", { "opacity-30": noPages }), children: [
|
|
5911
|
-
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("button", { onClick: () => changePage(0), disabled: onFirstPage, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
5912
|
-
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("button", { onClick: () => changePage(page - 1), disabled: onFirstPage, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
6111
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("button", { onClick: () => changePage(0), disabled: onFirstPage, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react7.ChevronFirst, { className: (0, import_clsx21.default)({ "opacity-30": onFirstPage }) }) }),
|
|
6112
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("button", { onClick: () => changePage(page - 1), disabled: onFirstPage, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react7.ChevronLeft, { className: (0, import_clsx21.default)({ "opacity-30": onFirstPage }) }) }),
|
|
5913
6113
|
/* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "min-w-[80px] justify-center mx-2", children: [
|
|
5914
6114
|
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "select-none text-right flex-1", children: noPages ? 0 : page + 1 }),
|
|
5915
|
-
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "select-none mx-2", children: translation
|
|
6115
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "select-none mx-2", children: translation("of") }),
|
|
5916
6116
|
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "select-none text-left flex-1", children: numberOfPages })
|
|
5917
6117
|
] }),
|
|
5918
|
-
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("button", { onClick: () => changePage(page + 1), disabled: onLastPage || noPages, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
5919
|
-
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("button", { onClick: () => changePage(numberOfPages - 1), disabled: onLastPage || noPages, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
6118
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("button", { onClick: () => changePage(page + 1), disabled: onLastPage || noPages, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react7.ChevronRight, { className: (0, import_clsx21.default)({ "opacity-30": onLastPage }) }) }),
|
|
6119
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("button", { onClick: () => changePage(numberOfPages - 1), disabled: onLastPage || noPages, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react7.ChevronLast, { className: (0, import_clsx21.default)({ "opacity-30": onLastPage }) }) })
|
|
5920
6120
|
] });
|
|
5921
6121
|
};
|
|
5922
6122
|
|
|
5923
6123
|
// src/components/layout-and-navigation/SearchableList.tsx
|
|
5924
|
-
var
|
|
5925
|
-
var import_lucide_react7 = require("lucide-react");
|
|
6124
|
+
var import_lucide_react8 = require("lucide-react");
|
|
5926
6125
|
var import_clsx24 = __toESM(require("clsx"));
|
|
5927
6126
|
|
|
5928
|
-
// src/util/simpleSearch.ts
|
|
5929
|
-
var MultiSubjectSearchWithMapping = (search, objects, mapping) => {
|
|
5930
|
-
return objects.filter((object) => {
|
|
5931
|
-
const mappedSearchKeywords = mapping(object).map((value) => value ? value.toLowerCase().trim() : void 0);
|
|
5932
|
-
return search.every((searchValue) => !!mappedSearchKeywords.find((value) => !!value && value.includes(searchValue.toLowerCase().trim())));
|
|
5933
|
-
});
|
|
5934
|
-
};
|
|
5935
|
-
var MultiSearchWithMapping = (search, objects, mapping) => {
|
|
5936
|
-
return objects.filter((object) => {
|
|
5937
|
-
const mappedSearchKeywords = mapping(object).map((value) => value.toLowerCase().trim());
|
|
5938
|
-
return !!mappedSearchKeywords.find((value) => value.includes(search.toLowerCase().trim()));
|
|
5939
|
-
});
|
|
5940
|
-
};
|
|
5941
|
-
var SimpleSearchWithMapping = (search, objects, mapping) => {
|
|
5942
|
-
return MultiSearchWithMapping(search, objects, (value) => [mapping(value)]);
|
|
5943
|
-
};
|
|
5944
|
-
var SimpleSearch = (search, objects) => {
|
|
5945
|
-
return SimpleSearchWithMapping(search, objects, (value) => value);
|
|
5946
|
-
};
|
|
5947
|
-
|
|
5948
6127
|
// src/components/user-action/Input.tsx
|
|
5949
6128
|
var import_react13 = require("react");
|
|
5950
6129
|
var import_clsx23 = __toESM(require("clsx"));
|
|
@@ -6123,15 +6302,64 @@ var FormInput = (0, import_react13.forwardRef)(function FormInput2({
|
|
|
6123
6302
|
] });
|
|
6124
6303
|
});
|
|
6125
6304
|
|
|
6305
|
+
// src/hooks/useSearch.ts
|
|
6306
|
+
var import_react14 = require("react");
|
|
6307
|
+
|
|
6308
|
+
// src/util/simpleSearch.ts
|
|
6309
|
+
var MultiSubjectSearchWithMapping = (search, objects, mapping) => {
|
|
6310
|
+
return objects.filter((object) => {
|
|
6311
|
+
const mappedSearchKeywords = mapping(object).map((value) => value ? value.toLowerCase().trim() : void 0);
|
|
6312
|
+
return search.every((searchValue) => !!mappedSearchKeywords.find((value) => !!value && value.includes(searchValue.toLowerCase().trim())));
|
|
6313
|
+
});
|
|
6314
|
+
};
|
|
6315
|
+
var MultiSearchWithMapping = (search, objects, mapping) => {
|
|
6316
|
+
return objects.filter((object) => {
|
|
6317
|
+
const mappedSearchKeywords = mapping(object)?.map((value) => value.toLowerCase().trim());
|
|
6318
|
+
if (!mappedSearchKeywords) {
|
|
6319
|
+
return true;
|
|
6320
|
+
}
|
|
6321
|
+
return !!mappedSearchKeywords.find((value) => value.includes(search.toLowerCase().trim()));
|
|
6322
|
+
});
|
|
6323
|
+
};
|
|
6324
|
+
var SimpleSearchWithMapping = (search, objects, mapping) => {
|
|
6325
|
+
return MultiSearchWithMapping(search, objects, (value) => [mapping(value)]);
|
|
6326
|
+
};
|
|
6327
|
+
var SimpleSearch = (search, objects) => {
|
|
6328
|
+
return SimpleSearchWithMapping(search, objects, (value) => value);
|
|
6329
|
+
};
|
|
6330
|
+
|
|
6331
|
+
// src/hooks/useSearch.ts
|
|
6332
|
+
var useSearch = ({
|
|
6333
|
+
list,
|
|
6334
|
+
initialSearch,
|
|
6335
|
+
searchMapping
|
|
6336
|
+
}) => {
|
|
6337
|
+
const [items, setItems] = (0, import_react14.useState)(list);
|
|
6338
|
+
const [search, setSearch] = (0, import_react14.useState)(initialSearch);
|
|
6339
|
+
(0, import_react14.useEffect)(() => {
|
|
6340
|
+
setItems(list);
|
|
6341
|
+
}, [list]);
|
|
6342
|
+
const result = (0, import_react14.useMemo)(
|
|
6343
|
+
() => MultiSearchWithMapping(search, items, searchMapping),
|
|
6344
|
+
[search, items, searchMapping]
|
|
6345
|
+
);
|
|
6346
|
+
return {
|
|
6347
|
+
result,
|
|
6348
|
+
hasResult: result.length > 0,
|
|
6349
|
+
allItems: items,
|
|
6350
|
+
setItems,
|
|
6351
|
+
search,
|
|
6352
|
+
setSearch
|
|
6353
|
+
};
|
|
6354
|
+
};
|
|
6355
|
+
|
|
6126
6356
|
// src/components/layout-and-navigation/SearchableList.tsx
|
|
6127
6357
|
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
6128
6358
|
var defaultSearchableListTranslation = {
|
|
6129
6359
|
en: {
|
|
6130
|
-
search: "Search",
|
|
6131
6360
|
nothingFound: "Nothing found"
|
|
6132
6361
|
},
|
|
6133
6362
|
de: {
|
|
6134
|
-
search: "Suche",
|
|
6135
6363
|
nothingFound: "Nichts gefunden"
|
|
6136
6364
|
}
|
|
6137
6365
|
};
|
|
@@ -6140,40 +6368,37 @@ var SearchableList = ({
|
|
|
6140
6368
|
list,
|
|
6141
6369
|
initialSearch = "",
|
|
6142
6370
|
searchMapping,
|
|
6371
|
+
autoFocus,
|
|
6372
|
+
minimumItemsForSearch = 6,
|
|
6143
6373
|
itemMapper,
|
|
6144
|
-
className
|
|
6374
|
+
className,
|
|
6375
|
+
resultListClassName
|
|
6145
6376
|
}) => {
|
|
6146
|
-
const translation = useTranslation(defaultSearchableListTranslation, overwriteTranslation);
|
|
6147
|
-
const
|
|
6148
|
-
(0, import_react14.useEffect)(() => setSearch(initialSearch), [initialSearch]);
|
|
6149
|
-
const filteredEntries = (0, import_react14.useMemo)(() => MultiSearchWithMapping(search, list, searchMapping), [search, list, searchMapping]);
|
|
6377
|
+
const translation = useTranslation([defaultSearchableListTranslation, formTranslation], overwriteTranslation);
|
|
6378
|
+
const { result, hasResult, search, setSearch } = useSearch({ list, initialSearch, searchMapping });
|
|
6150
6379
|
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: (0, import_clsx24.default)("col gap-y-2", className), children: [
|
|
6151
|
-
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "row justify-between gap-x-
|
|
6152
|
-
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
6153
|
-
|
|
6380
|
+
list.length > minimumItemsForSearch && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "row justify-between gap-x-4 items-center", children: [
|
|
6381
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
6382
|
+
Input,
|
|
6383
|
+
{
|
|
6384
|
+
value: search,
|
|
6385
|
+
onChangeText: setSearch,
|
|
6386
|
+
placeholder: translation("search"),
|
|
6387
|
+
autoFocus,
|
|
6388
|
+
className: "w-full"
|
|
6389
|
+
}
|
|
6390
|
+
),
|
|
6391
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(IconButton, { color: "neutral", disabled: search.length === 0, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react8.Search, { className: "w-full h-full" }) })
|
|
6154
6392
|
] }),
|
|
6155
|
-
|
|
6156
|
-
!filteredEntries.length && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "row justify-center", children: translation.nothingFound })
|
|
6393
|
+
hasResult ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: (0, import_clsx24.default)("col gap-y-1", resultListClassName), children: result.map(itemMapper) }) : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "row text-description py-2 px-2", children: translation("nothingFound") })
|
|
6157
6394
|
] });
|
|
6158
6395
|
};
|
|
6159
6396
|
|
|
6160
6397
|
// src/components/layout-and-navigation/StepperBar.tsx
|
|
6161
|
-
var
|
|
6398
|
+
var import_lucide_react9 = require("lucide-react");
|
|
6162
6399
|
var import_clsx25 = __toESM(require("clsx"));
|
|
6163
6400
|
var import_react15 = require("react");
|
|
6164
6401
|
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
6165
|
-
var defaultStepperBarTranslation = {
|
|
6166
|
-
en: {
|
|
6167
|
-
back: "Back",
|
|
6168
|
-
next: "Next Step",
|
|
6169
|
-
confirm: "Create"
|
|
6170
|
-
},
|
|
6171
|
-
de: {
|
|
6172
|
-
back: "Zur\xFCck",
|
|
6173
|
-
next: "N\xE4chster Schritt",
|
|
6174
|
-
confirm: "Erstellen"
|
|
6175
|
-
}
|
|
6176
|
-
};
|
|
6177
6402
|
var defaultState = {
|
|
6178
6403
|
currentStep: 0,
|
|
6179
6404
|
seenSteps: /* @__PURE__ */ new Set([0])
|
|
@@ -6189,7 +6414,7 @@ var StepperBar = ({
|
|
|
6189
6414
|
showDots = true,
|
|
6190
6415
|
className = ""
|
|
6191
6416
|
}) => {
|
|
6192
|
-
const translation = useTranslation(
|
|
6417
|
+
const translation = useTranslation([formTranslation], overwriteTranslation);
|
|
6193
6418
|
const dots = range(0, numberOfSteps);
|
|
6194
6419
|
const { currentStep, seenSteps } = state ?? defaultState;
|
|
6195
6420
|
const update = (newStep) => {
|
|
@@ -6210,8 +6435,8 @@ var StepperBar = ({
|
|
|
6210
6435
|
},
|
|
6211
6436
|
className: "row gap-x-1 items-center justify-center",
|
|
6212
6437
|
children: [
|
|
6213
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
6214
|
-
translation
|
|
6438
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react9.ChevronLeft, { size: 14 }),
|
|
6439
|
+
translation("back")
|
|
6215
6440
|
]
|
|
6216
6441
|
}
|
|
6217
6442
|
) }),
|
|
@@ -6224,9 +6449,9 @@ var StepperBar = ({
|
|
|
6224
6449
|
className: (0, import_clsx25.default)(
|
|
6225
6450
|
"rounded-full w-4 h-4",
|
|
6226
6451
|
{
|
|
6227
|
-
"bg-
|
|
6228
|
-
"bg-
|
|
6229
|
-
"bg-
|
|
6452
|
+
"bg-stepperbar-dot-active hover:brightness-75": index === currentStep && seen && !disabledSteps.has(currentStep),
|
|
6453
|
+
"bg-stepperbar-dot-normal hover:bg-stepperbar-dot-active": index !== currentStep && seen && !disabledSteps.has(currentStep),
|
|
6454
|
+
"bg-stepperbar-dot-disabled": !seen || disabledSteps.has(currentStep)
|
|
6230
6455
|
},
|
|
6231
6456
|
{
|
|
6232
6457
|
"cursor-pointer": seen,
|
|
@@ -6244,8 +6469,8 @@ var StepperBar = ({
|
|
|
6244
6469
|
className: "row gap-x-1 items-center justify-center",
|
|
6245
6470
|
disabled: disabledSteps.has(currentStep),
|
|
6246
6471
|
children: [
|
|
6247
|
-
translation
|
|
6248
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
6472
|
+
translation("next"),
|
|
6473
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react9.ChevronRight, { size: 14 })
|
|
6249
6474
|
]
|
|
6250
6475
|
}
|
|
6251
6476
|
) }),
|
|
@@ -6256,8 +6481,8 @@ var StepperBar = ({
|
|
|
6256
6481
|
onClick: onFinish,
|
|
6257
6482
|
className: "row gap-x-1 items-center justify-center",
|
|
6258
6483
|
children: [
|
|
6259
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
6260
|
-
finishText ?? translation
|
|
6484
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react9.Check, { size: 14 }),
|
|
6485
|
+
finishText ?? translation("confirm")
|
|
6261
6486
|
]
|
|
6262
6487
|
}
|
|
6263
6488
|
) })
|
|
@@ -6290,7 +6515,7 @@ var import_react_custom_scrollbars_23 = require("react-custom-scrollbars-2");
|
|
|
6290
6515
|
// src/components/user-action/Checkbox.tsx
|
|
6291
6516
|
var import_react16 = require("react");
|
|
6292
6517
|
var CheckboxPrimitive = __toESM(require("@radix-ui/react-checkbox"));
|
|
6293
|
-
var
|
|
6518
|
+
var import_lucide_react10 = require("lucide-react");
|
|
6294
6519
|
var import_clsx26 = __toESM(require("clsx"));
|
|
6295
6520
|
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
6296
6521
|
var checkboxSizeMapping = {
|
|
@@ -6343,8 +6568,8 @@ var Checkbox = ({
|
|
|
6343
6568
|
"hover:border-primary focus:hover:border-primary": !checked
|
|
6344
6569
|
}, className),
|
|
6345
6570
|
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(CheckboxPrimitive.Indicator, { children: [
|
|
6346
|
-
checked === true && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
6347
|
-
checked === "indeterminate" && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
6571
|
+
checked === true && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react10.Check, { className: innerIconSize }),
|
|
6572
|
+
checked === "indeterminate" && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react10.Minus, { className: innerIconSize })
|
|
6348
6573
|
] })
|
|
6349
6574
|
}
|
|
6350
6575
|
),
|
|
@@ -6387,7 +6612,7 @@ var CheckboxUncontrolled = ({
|
|
|
6387
6612
|
|
|
6388
6613
|
// src/components/layout-and-navigation/Table.tsx
|
|
6389
6614
|
var import_clsx27 = __toESM(require("clsx"));
|
|
6390
|
-
var
|
|
6615
|
+
var import_lucide_react11 = require("lucide-react");
|
|
6391
6616
|
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
6392
6617
|
var defaultTableStatePagination = {
|
|
6393
6618
|
currentPage: 0,
|
|
@@ -6536,7 +6761,7 @@ var Table = ({
|
|
|
6536
6761
|
} else {
|
|
6537
6762
|
currentPage = 0;
|
|
6538
6763
|
}
|
|
6539
|
-
const headerRow = "border-b-2
|
|
6764
|
+
const headerRow = "border-b-2";
|
|
6540
6765
|
const headerPaddingHead = "pb-2";
|
|
6541
6766
|
const headerPaddingBody = "pt-2";
|
|
6542
6767
|
const cellPadding = "py-1 px-2";
|
|
@@ -6612,7 +6837,7 @@ var SortButton = ({
|
|
|
6612
6837
|
...buttonProps,
|
|
6613
6838
|
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "row gap-x-2", children: [
|
|
6614
6839
|
children,
|
|
6615
|
-
ascending === "ascending" ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
6840
|
+
ascending === "ascending" ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react11.ChevronUp, {}) : !ascending ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react11.ChevronsUpDown, {}) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react11.ChevronDown, {})
|
|
6616
6841
|
] })
|
|
6617
6842
|
}
|
|
6618
6843
|
);
|
|
@@ -6621,14 +6846,6 @@ var SortButton = ({
|
|
|
6621
6846
|
// src/components/layout-and-navigation/TextImage.tsx
|
|
6622
6847
|
var import_clsx28 = __toESM(require("clsx"));
|
|
6623
6848
|
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
6624
|
-
var defaultTextImageTranslation = {
|
|
6625
|
-
de: {
|
|
6626
|
-
showMore: "Mehr anzeigen"
|
|
6627
|
-
},
|
|
6628
|
-
en: {
|
|
6629
|
-
showMore: "Show more"
|
|
6630
|
-
}
|
|
6631
|
-
};
|
|
6632
6849
|
var TextImage = ({
|
|
6633
6850
|
overwriteTranslation,
|
|
6634
6851
|
title,
|
|
@@ -6640,11 +6857,11 @@ var TextImage = ({
|
|
|
6640
6857
|
contentClassName = "",
|
|
6641
6858
|
className = ""
|
|
6642
6859
|
}) => {
|
|
6643
|
-
const translation = useTranslation(
|
|
6860
|
+
const translation = useTranslation([formTranslation], overwriteTranslation);
|
|
6644
6861
|
const chipColorMapping = {
|
|
6645
|
-
primary: "text-text-image-primary-background bg-text-
|
|
6646
|
-
secondary: "text-text-image-secondary-background bg-text-
|
|
6647
|
-
dark: "text-text-image-dark-background bg-text-
|
|
6862
|
+
primary: "text-text-image-primary-background bg-text-image-primary-text",
|
|
6863
|
+
secondary: "text-text-image-secondary-background bg-text-image-secondary-text",
|
|
6864
|
+
dark: "text-text-image-dark-background bg-text-image-dark-text"
|
|
6648
6865
|
};
|
|
6649
6866
|
const colorMapping = {
|
|
6650
6867
|
primary: "text-text-image-primary-text bg-linear-to-r from-30% from-text-image-primary-background to-text-image-primary-background/55",
|
|
@@ -6664,12 +6881,12 @@ var TextImage = ({
|
|
|
6664
6881
|
{
|
|
6665
6882
|
className: (0, import_clsx28.default)(`col px-6 py-12 rounded-2xl h-full`, colorMapping[color], contentClassName),
|
|
6666
6883
|
children: [
|
|
6667
|
-
badge && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: (0, import_clsx28.default)(`chip-full
|
|
6668
|
-
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "col gap-y-1
|
|
6884
|
+
badge && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: (0, import_clsx28.default)(`chip-full mb-2 py-2 px-4 w-fit`, chipColorMapping[color]), children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-lg font-bold", children: badge }) }),
|
|
6885
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "col gap-y-1 overflow-hidden", children: [
|
|
6669
6886
|
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "textstyle-title-xl", children: title }),
|
|
6670
6887
|
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-ellipsis overflow-hidden", children: description })
|
|
6671
6888
|
] }),
|
|
6672
|
-
onShowMoreClicked && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "row mt-2
|
|
6889
|
+
onShowMoreClicked && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "row mt-2 underline", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("button", { onClick: onShowMoreClicked, children: translation("showMore") }) })
|
|
6673
6890
|
]
|
|
6674
6891
|
}
|
|
6675
6892
|
)
|
|
@@ -6731,7 +6948,7 @@ var VerticalDivider = ({
|
|
|
6731
6948
|
};
|
|
6732
6949
|
|
|
6733
6950
|
// src/components/loading-states/ErrorComponent.tsx
|
|
6734
|
-
var
|
|
6951
|
+
var import_lucide_react12 = require("lucide-react");
|
|
6735
6952
|
var import_clsx29 = __toESM(require("clsx"));
|
|
6736
6953
|
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
6737
6954
|
var defaultErrorComponentTranslation = {
|
|
@@ -6747,10 +6964,10 @@ var ErrorComponent = ({
|
|
|
6747
6964
|
errorText,
|
|
6748
6965
|
classname
|
|
6749
6966
|
}) => {
|
|
6750
|
-
const translation = useTranslation(defaultErrorComponentTranslation, overwriteTranslation);
|
|
6967
|
+
const translation = useTranslation([defaultErrorComponentTranslation], overwriteTranslation);
|
|
6751
6968
|
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: (0, import_clsx29.default)("col items-center justify-center gap-y-4 w-full h-24", classname), children: [
|
|
6752
|
-
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
6753
|
-
errorText ?? `${translation
|
|
6969
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_lucide_react12.AlertOctagon, { size: 64, className: "text-warning" }),
|
|
6970
|
+
errorText ?? `${translation("errorOccurred")} :(`
|
|
6754
6971
|
] });
|
|
6755
6972
|
};
|
|
6756
6973
|
|
|
@@ -6760,23 +6977,15 @@ var import_react18 = require("react");
|
|
|
6760
6977
|
// src/components/loading-states/LoadingAnimation.tsx
|
|
6761
6978
|
var import_clsx30 = __toESM(require("clsx"));
|
|
6762
6979
|
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
6763
|
-
var defaultLoadingAnimationTranslation = {
|
|
6764
|
-
en: {
|
|
6765
|
-
loading: "Loading data"
|
|
6766
|
-
},
|
|
6767
|
-
de: {
|
|
6768
|
-
loading: "Lade Daten"
|
|
6769
|
-
}
|
|
6770
|
-
};
|
|
6771
6980
|
var LoadingAnimation = ({
|
|
6772
6981
|
overwriteTranslation,
|
|
6773
6982
|
loadingText,
|
|
6774
6983
|
classname
|
|
6775
6984
|
}) => {
|
|
6776
|
-
const translation = useTranslation(
|
|
6985
|
+
const translation = useTranslation([formTranslation], overwriteTranslation);
|
|
6777
6986
|
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: (0, import_clsx30.default)("col items-center justify-center w-full h-24", classname), children: [
|
|
6778
6987
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Helpwave, { animate: "loading" }),
|
|
6779
|
-
loadingText ?? `${translation
|
|
6988
|
+
loadingText ?? `${translation("loading")}...`
|
|
6780
6989
|
] });
|
|
6781
6990
|
};
|
|
6782
6991
|
|
|
@@ -6854,7 +7063,7 @@ var ProgressIndicator = ({
|
|
|
6854
7063
|
r: radius,
|
|
6855
7064
|
fill: "transparent",
|
|
6856
7065
|
strokeWidth,
|
|
6857
|
-
className: "stroke-
|
|
7066
|
+
className: "stroke-progress-indicator-fill"
|
|
6858
7067
|
}
|
|
6859
7068
|
),
|
|
6860
7069
|
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
@@ -6867,7 +7076,7 @@ var ProgressIndicator = ({
|
|
|
6867
7076
|
strokeWidth,
|
|
6868
7077
|
strokeDasharray: arcLength,
|
|
6869
7078
|
strokeDashoffset: arcOffset,
|
|
6870
|
-
className: "stroke-
|
|
7079
|
+
className: "stroke-progress-indicator-background"
|
|
6871
7080
|
}
|
|
6872
7081
|
)
|
|
6873
7082
|
]
|
|
@@ -6878,18 +7087,6 @@ var ProgressIndicator = ({
|
|
|
6878
7087
|
// src/components/modals/ConfirmModal.tsx
|
|
6879
7088
|
var import_clsx32 = __toESM(require("clsx"));
|
|
6880
7089
|
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
6881
|
-
var defaultConfirmDialogTranslation2 = {
|
|
6882
|
-
en: {
|
|
6883
|
-
confirm: "Confirm",
|
|
6884
|
-
cancel: "Cancel",
|
|
6885
|
-
decline: "Decline"
|
|
6886
|
-
},
|
|
6887
|
-
de: {
|
|
6888
|
-
confirm: "Best\xE4tigen",
|
|
6889
|
-
cancel: "Abbrechen",
|
|
6890
|
-
decline: "Ablehnen"
|
|
6891
|
-
}
|
|
6892
|
-
};
|
|
6893
7090
|
var ConfirmModal = ({
|
|
6894
7091
|
overwriteTranslation,
|
|
6895
7092
|
children,
|
|
@@ -6901,7 +7098,7 @@ var ConfirmModal = ({
|
|
|
6901
7098
|
className,
|
|
6902
7099
|
...restProps
|
|
6903
7100
|
}) => {
|
|
6904
|
-
const translation = useTranslation(
|
|
7101
|
+
const translation = useTranslation([formTranslation], overwriteTranslation);
|
|
6905
7102
|
const mapping = {
|
|
6906
7103
|
neutral: "neutral",
|
|
6907
7104
|
negative: "negative",
|
|
@@ -6917,7 +7114,7 @@ var ConfirmModal = ({
|
|
|
6917
7114
|
color: buttonOverwrites?.[0].color ?? "neutral",
|
|
6918
7115
|
onClick: onCancel,
|
|
6919
7116
|
disabled: buttonOverwrites?.[0].disabled ?? false,
|
|
6920
|
-
children: buttonOverwrites?.[0].text ?? translation
|
|
7117
|
+
children: buttonOverwrites?.[0].text ?? translation("cancel")
|
|
6921
7118
|
}
|
|
6922
7119
|
),
|
|
6923
7120
|
onDecline && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
@@ -6926,7 +7123,7 @@ var ConfirmModal = ({
|
|
|
6926
7123
|
color: buttonOverwrites?.[1].color ?? "negative",
|
|
6927
7124
|
onClick: onDecline,
|
|
6928
7125
|
disabled: buttonOverwrites?.[1].disabled ?? false,
|
|
6929
|
-
children: buttonOverwrites?.[1].text ?? translation
|
|
7126
|
+
children: buttonOverwrites?.[1].text ?? translation("decline")
|
|
6930
7127
|
}
|
|
6931
7128
|
),
|
|
6932
7129
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
@@ -6936,7 +7133,7 @@ var ConfirmModal = ({
|
|
|
6936
7133
|
color: buttonOverwrites?.[2].color ?? mapping[confirmType],
|
|
6937
7134
|
onClick: onConfirm,
|
|
6938
7135
|
disabled: buttonOverwrites?.[2].disabled ?? false,
|
|
6939
|
-
children: buttonOverwrites?.[2].text ?? translation
|
|
7136
|
+
children: buttonOverwrites?.[2].text ?? translation("confirm")
|
|
6940
7137
|
}
|
|
6941
7138
|
)
|
|
6942
7139
|
] })
|
|
@@ -6945,22 +7142,6 @@ var ConfirmModal = ({
|
|
|
6945
7142
|
|
|
6946
7143
|
// src/components/modals/DiscardChangesModal.tsx
|
|
6947
7144
|
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
6948
|
-
var defaultDiscardChangesModalTranslation = {
|
|
6949
|
-
en: {
|
|
6950
|
-
save: "Save",
|
|
6951
|
-
cancel: "Cancel",
|
|
6952
|
-
dontSave: "Don't save",
|
|
6953
|
-
title: "Unsaved Changes",
|
|
6954
|
-
description: "Do you want to save your changes?"
|
|
6955
|
-
},
|
|
6956
|
-
de: {
|
|
6957
|
-
save: "Speichern",
|
|
6958
|
-
cancel: "Abbrechen",
|
|
6959
|
-
dontSave: "Nicht Speichern",
|
|
6960
|
-
title: "Ungespeicherte \xC4nderungen",
|
|
6961
|
-
description: "M\xF6chtest du die \xC4nderungen speichern?"
|
|
6962
|
-
}
|
|
6963
|
-
};
|
|
6964
7145
|
var DiscardChangesModal = ({
|
|
6965
7146
|
overwriteTranslation,
|
|
6966
7147
|
children,
|
|
@@ -6970,19 +7151,19 @@ var DiscardChangesModal = ({
|
|
|
6970
7151
|
headerProps,
|
|
6971
7152
|
...modalProps
|
|
6972
7153
|
}) => {
|
|
6973
|
-
const translation = useTranslation(
|
|
7154
|
+
const translation = useTranslation([formTranslation], overwriteTranslation);
|
|
6974
7155
|
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
6975
7156
|
ConfirmModal,
|
|
6976
7157
|
{
|
|
6977
7158
|
headerProps: {
|
|
6978
7159
|
...headerProps,
|
|
6979
|
-
titleText: headerProps?.titleText ?? translation
|
|
6980
|
-
descriptionText: headerProps?.descriptionText ?? translation
|
|
7160
|
+
titleText: headerProps?.titleText ?? translation("unsavedChanges"),
|
|
7161
|
+
descriptionText: headerProps?.descriptionText ?? translation("unsavedChangesSaveQuestion")
|
|
6981
7162
|
},
|
|
6982
7163
|
onConfirm: onSave,
|
|
6983
7164
|
onCancel,
|
|
6984
7165
|
onDecline: onDontSave,
|
|
6985
|
-
buttonOverwrites: [{ text: translation
|
|
7166
|
+
buttonOverwrites: [{ text: translation("cancel") }, { text: translation("discardChanges") }, { text: translation("save") }],
|
|
6986
7167
|
...modalProps,
|
|
6987
7168
|
children
|
|
6988
7169
|
}
|
|
@@ -7007,99 +7188,107 @@ var InputModal = ({
|
|
|
7007
7188
|
};
|
|
7008
7189
|
|
|
7009
7190
|
// src/components/user-action/Select.tsx
|
|
7010
|
-
var
|
|
7011
|
-
var import_lucide_react12 = require("lucide-react");
|
|
7191
|
+
var import_lucide_react13 = require("lucide-react");
|
|
7012
7192
|
var import_react20 = require("react");
|
|
7013
7193
|
var import_clsx33 = __toESM(require("clsx"));
|
|
7014
|
-
|
|
7015
|
-
|
|
7016
|
-
|
|
7017
|
-
|
|
7018
|
-
|
|
7019
|
-
|
|
7020
|
-
|
|
7194
|
+
|
|
7195
|
+
// src/hooks/useOutsideClick.ts
|
|
7196
|
+
var import_react19 = require("react");
|
|
7197
|
+
var useOutsideClick = (refs, handler) => {
|
|
7198
|
+
(0, import_react19.useEffect)(() => {
|
|
7199
|
+
const listener = (event) => {
|
|
7200
|
+
if (event.target === null) return;
|
|
7201
|
+
if (refs.some((ref) => !ref.current || ref.current.contains(event.target))) {
|
|
7202
|
+
return;
|
|
7203
|
+
}
|
|
7204
|
+
handler();
|
|
7205
|
+
};
|
|
7206
|
+
document.addEventListener("mousedown", listener);
|
|
7207
|
+
document.addEventListener("touchstart", listener);
|
|
7208
|
+
return () => {
|
|
7209
|
+
document.removeEventListener("mousedown", listener);
|
|
7210
|
+
document.removeEventListener("touchstart", listener);
|
|
7211
|
+
};
|
|
7212
|
+
}, [refs, handler]);
|
|
7213
|
+
};
|
|
7214
|
+
|
|
7215
|
+
// src/components/user-action/Select.tsx
|
|
7216
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
7217
|
+
var Select = ({
|
|
7218
|
+
value,
|
|
7219
|
+
label,
|
|
7220
|
+
options,
|
|
7221
|
+
onChange,
|
|
7021
7222
|
hintText = "",
|
|
7022
|
-
showDisabledOptions = true,
|
|
7023
7223
|
isDisabled,
|
|
7224
|
+
isSearchEnabled = false,
|
|
7024
7225
|
className,
|
|
7025
|
-
textColor = "text-menu-text",
|
|
7026
|
-
additionalItems,
|
|
7027
7226
|
selectedDisplayOverwrite
|
|
7028
7227
|
}) => {
|
|
7029
|
-
|
|
7030
|
-
|
|
7031
|
-
|
|
7032
|
-
|
|
7228
|
+
const triggerRef = (0, import_react20.useRef)(null);
|
|
7229
|
+
const menuRef = (0, import_react20.useRef)(null);
|
|
7230
|
+
const [isOpen, setIsOpen] = (0, import_react20.useState)(false);
|
|
7231
|
+
useOutsideClick([triggerRef, menuRef], () => setIsOpen(false));
|
|
7033
7232
|
const selectedOption = options.find((option) => option.value === value);
|
|
7034
7233
|
if (value !== void 0 && selectedOption === void 0 && selectedDisplayOverwrite === void 0) {
|
|
7035
7234
|
console.warn("The selected value is not found in the options list. This might be an error on your part or default behavior if it is complex data type on which === does not work. In case of the latter use selectedDisplayOverwrite to set your selected text or component");
|
|
7036
7235
|
}
|
|
7037
|
-
const
|
|
7236
|
+
const isShowingHint = !selectedDisplayOverwrite && !selectedOption?.label;
|
|
7038
7237
|
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: (0, import_clsx33.default)(className), children: [
|
|
7039
7238
|
label && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Label, { ...label, labelType: label.labelType ?? "labelBig", className: (0, import_clsx33.default)("mb-1", label.className) }),
|
|
7040
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.
|
|
7239
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "relative", children: [
|
|
7041
7240
|
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
7042
|
-
|
|
7241
|
+
"button",
|
|
7043
7242
|
{
|
|
7243
|
+
ref: triggerRef,
|
|
7044
7244
|
className: (0, import_clsx33.default)(
|
|
7045
|
-
"
|
|
7046
|
-
textColor,
|
|
7047
|
-
borderColor,
|
|
7245
|
+
"btn-md justify-between w-full border-2",
|
|
7048
7246
|
{
|
|
7049
7247
|
"rounded-b-lg": !open,
|
|
7050
|
-
"hover:border-primary": !isDisabled,
|
|
7051
|
-
"bg-disabled-background cursor-not-allowed
|
|
7248
|
+
"bg-menu-background border-menu-border hover:border-primary": !isDisabled,
|
|
7249
|
+
"bg-disabled-background text-disabled-text border-disabled-background cursor-not-allowed": isDisabled
|
|
7052
7250
|
}
|
|
7053
7251
|
),
|
|
7252
|
+
onClick: () => setIsOpen(!isOpen),
|
|
7054
7253
|
disabled: isDisabled,
|
|
7055
7254
|
children: [
|
|
7056
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { children: selectedDisplayOverwrite ?? selectedOption?.label
|
|
7057
|
-
|
|
7255
|
+
!isShowingHint && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "font-semibold text-menu-text", children: selectedDisplayOverwrite ?? selectedOption?.label }),
|
|
7256
|
+
isShowingHint && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "textstyle-description", children: hintText }),
|
|
7257
|
+
isOpen ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react13.ChevronUp, {}) : /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react13.ChevronDown, {})
|
|
7058
7258
|
]
|
|
7059
7259
|
}
|
|
7060
7260
|
),
|
|
7061
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.
|
|
7062
|
-
|
|
7261
|
+
isOpen && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
7262
|
+
"div",
|
|
7063
7263
|
{
|
|
7064
|
-
|
|
7065
|
-
|
|
7066
|
-
|
|
7067
|
-
|
|
7068
|
-
|
|
7069
|
-
|
|
7070
|
-
|
|
7071
|
-
|
|
7072
|
-
|
|
7073
|
-
|
|
7074
|
-
|
|
7075
|
-
|
|
7076
|
-
|
|
7077
|
-
|
|
7078
|
-
|
|
7079
|
-
|
|
7080
|
-
"px-4 py-2 overflow-hidden whitespace-nowrap text-ellipsis border-2 border-t-0 cursor-pointer",
|
|
7081
|
-
option.className,
|
|
7082
|
-
borderColor,
|
|
7083
|
-
{
|
|
7084
|
-
"brightness-90": option.value === value,
|
|
7085
|
-
"brightness-95": index % 2 === 1,
|
|
7086
|
-
"text-disabled bg-disabled-background cursor-not-allowed": !!option.disabled,
|
|
7087
|
-
"bg-menu-background text-menu-text hover:brightness-90 cursor-pointer": !option.disabled,
|
|
7088
|
-
"rounded-b-lg": index === filteredOptions.length - 1
|
|
7089
|
-
}
|
|
7090
|
-
),
|
|
7091
|
-
onClick: () => {
|
|
7092
|
-
if (!option.disabled) {
|
|
7264
|
+
ref: menuRef,
|
|
7265
|
+
className: "absolute w-full z-10 rounded-lg mt-0.5 bg-menu-background text-menu-text shadow-around-md max-h-[500px] overflow-y-auto p-2",
|
|
7266
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
7267
|
+
SearchableList,
|
|
7268
|
+
{
|
|
7269
|
+
list: options,
|
|
7270
|
+
minimumItemsForSearch: isSearchEnabled ? void 0 : options.length,
|
|
7271
|
+
searchMapping: (item) => item.searchTags,
|
|
7272
|
+
itemMapper: (option, index) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
7273
|
+
Tile,
|
|
7274
|
+
{
|
|
7275
|
+
isSelected: selectedOption?.value === option.value,
|
|
7276
|
+
className: "px-2 py-1 rounded-md",
|
|
7277
|
+
disabledClassName: "text-disabled-text cursor-not-allowed",
|
|
7278
|
+
title: { value: option.label, className: "font-semibold" },
|
|
7279
|
+
onClick: () => {
|
|
7093
7280
|
onChange(option.value);
|
|
7094
|
-
|
|
7281
|
+
setIsOpen(false);
|
|
7282
|
+
},
|
|
7283
|
+
isDisabled: option.disabled
|
|
7095
7284
|
},
|
|
7096
|
-
|
|
7097
|
-
|
|
7098
|
-
|
|
7099
|
-
|
|
7285
|
+
index
|
|
7286
|
+
)
|
|
7287
|
+
}
|
|
7288
|
+
)
|
|
7100
7289
|
}
|
|
7101
7290
|
)
|
|
7102
|
-
] })
|
|
7291
|
+
] })
|
|
7103
7292
|
] });
|
|
7104
7293
|
};
|
|
7105
7294
|
var SelectUncontrolled = ({
|
|
@@ -7129,40 +7318,19 @@ var SelectUncontrolled = ({
|
|
|
7129
7318
|
}
|
|
7130
7319
|
);
|
|
7131
7320
|
};
|
|
7132
|
-
var SearchableSelect = ({
|
|
7133
|
-
value,
|
|
7134
|
-
options,
|
|
7135
|
-
searchMapping,
|
|
7136
|
-
...selectProps
|
|
7137
|
-
}) => {
|
|
7138
|
-
const [search, setSearch] = (0, import_react20.useState)("");
|
|
7139
|
-
const filteredOptions = MultiSearchWithMapping(search, options, searchMapping);
|
|
7140
|
-
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
7141
|
-
Select,
|
|
7142
|
-
{
|
|
7143
|
-
value,
|
|
7144
|
-
options: filteredOptions,
|
|
7145
|
-
additionalItems: [/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "row gap-x-2 items-center", children: [
|
|
7146
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Input, { autoFocus: true, value: search, onChangeText: setSearch, className: "w-full" }),
|
|
7147
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react12.Search, { className: "min-w-[1.5rem] min-h-[1.5rem]" })
|
|
7148
|
-
] }, "selectSearch")],
|
|
7149
|
-
...selectProps
|
|
7150
|
-
}
|
|
7151
|
-
);
|
|
7152
|
-
};
|
|
7153
7321
|
|
|
7154
7322
|
// src/components/modals/LanguageModal.tsx
|
|
7155
7323
|
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
7156
7324
|
var defaultLanguageModalTranslation = {
|
|
7157
7325
|
en: {
|
|
7158
|
-
|
|
7159
|
-
|
|
7326
|
+
language: "Language",
|
|
7327
|
+
chooseLanguage: "Choose your language",
|
|
7160
7328
|
done: "Done",
|
|
7161
7329
|
...LanguageUtil.languagesLocalNames
|
|
7162
7330
|
},
|
|
7163
7331
|
de: {
|
|
7164
|
-
|
|
7165
|
-
|
|
7332
|
+
language: "Sprache",
|
|
7333
|
+
chooseLanguage: "W\xE4hle deine bevorzugte Sprache",
|
|
7166
7334
|
done: "Fertig",
|
|
7167
7335
|
...LanguageUtil.languagesLocalNames
|
|
7168
7336
|
}
|
|
@@ -7174,14 +7342,14 @@ var LanguageModal = ({
|
|
|
7174
7342
|
...modalProps
|
|
7175
7343
|
}) => {
|
|
7176
7344
|
const { language, setLanguage } = useLanguage();
|
|
7177
|
-
const translation = useTranslation(defaultLanguageModalTranslation, overwriteTranslation);
|
|
7345
|
+
const translation = useTranslation([defaultLanguageModalTranslation], overwriteTranslation);
|
|
7178
7346
|
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
7179
7347
|
Modal,
|
|
7180
7348
|
{
|
|
7181
7349
|
headerProps: {
|
|
7182
7350
|
...headerProps,
|
|
7183
|
-
titleText: headerProps?.titleText ?? translation
|
|
7184
|
-
descriptionText: headerProps?.descriptionText ?? translation
|
|
7351
|
+
titleText: headerProps?.titleText ?? translation("language"),
|
|
7352
|
+
descriptionText: headerProps?.descriptionText ?? translation("chooseLanguage")
|
|
7185
7353
|
},
|
|
7186
7354
|
onClose,
|
|
7187
7355
|
...modalProps,
|
|
@@ -7195,7 +7363,7 @@ var LanguageModal = ({
|
|
|
7195
7363
|
onChange: (language2) => setLanguage(language2)
|
|
7196
7364
|
}
|
|
7197
7365
|
),
|
|
7198
|
-
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "row mt-3 gap-x-4 justify-end", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SolidButton, { autoFocus: true, color: "positive", onClick: onClose, children: translation
|
|
7366
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "row mt-3 gap-x-4 justify-end", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SolidButton, { autoFocus: true, color: "positive", onClick: onClose, children: translation("done") }) })
|
|
7199
7367
|
] })
|
|
7200
7368
|
}
|
|
7201
7369
|
);
|
|
@@ -7208,11 +7376,19 @@ var themes = ["light", "dark"];
|
|
|
7208
7376
|
var defaultThemeTypeTranslation = {
|
|
7209
7377
|
en: {
|
|
7210
7378
|
dark: "Dark",
|
|
7211
|
-
light: "Light"
|
|
7379
|
+
light: "Light",
|
|
7380
|
+
theme: {
|
|
7381
|
+
one: "Theme",
|
|
7382
|
+
other: "Themes"
|
|
7383
|
+
}
|
|
7212
7384
|
},
|
|
7213
7385
|
de: {
|
|
7214
7386
|
dark: "Dunkel",
|
|
7215
|
-
light: "Hell"
|
|
7387
|
+
light: "Hell",
|
|
7388
|
+
theme: {
|
|
7389
|
+
one: "Farbschema",
|
|
7390
|
+
other: "Farbschemas"
|
|
7391
|
+
}
|
|
7216
7392
|
}
|
|
7217
7393
|
};
|
|
7218
7394
|
var ThemeUtil = {
|
|
@@ -7240,18 +7416,12 @@ var useTheme = () => (0, import_react21.useContext)(ThemeContext);
|
|
|
7240
7416
|
|
|
7241
7417
|
// src/components/modals/ThemeModal.tsx
|
|
7242
7418
|
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
7243
|
-
var
|
|
7419
|
+
var defaultConfirmDialogTranslation = {
|
|
7244
7420
|
en: {
|
|
7245
|
-
|
|
7246
|
-
message: "Choose your preferred theme",
|
|
7247
|
-
done: "Done",
|
|
7248
|
-
...ThemeUtil.translation.en
|
|
7421
|
+
chooseTheme: "Choose your preferred theme"
|
|
7249
7422
|
},
|
|
7250
7423
|
de: {
|
|
7251
|
-
|
|
7252
|
-
message: "W\xE4hle dein bevorzugtes Farbschema",
|
|
7253
|
-
done: "Fertig",
|
|
7254
|
-
...ThemeUtil.translation.en
|
|
7424
|
+
chooseTheme: "W\xE4hle dein bevorzugtes Farbschema"
|
|
7255
7425
|
}
|
|
7256
7426
|
};
|
|
7257
7427
|
var ThemeModal = ({
|
|
@@ -7261,14 +7431,14 @@ var ThemeModal = ({
|
|
|
7261
7431
|
...modalProps
|
|
7262
7432
|
}) => {
|
|
7263
7433
|
const { theme, setTheme } = useTheme();
|
|
7264
|
-
const translation = useTranslation(
|
|
7434
|
+
const translation = useTranslation([defaultConfirmDialogTranslation, formTranslation, ThemeUtil.translation], overwriteTranslation);
|
|
7265
7435
|
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
7266
7436
|
Modal,
|
|
7267
7437
|
{
|
|
7268
7438
|
headerProps: {
|
|
7269
7439
|
...headerProps,
|
|
7270
|
-
titleText: headerProps?.titleText ?? translation
|
|
7271
|
-
descriptionText: headerProps?.descriptionText ?? translation
|
|
7440
|
+
titleText: headerProps?.titleText ?? translation("theme"),
|
|
7441
|
+
descriptionText: headerProps?.descriptionText ?? translation("chooseTheme")
|
|
7272
7442
|
},
|
|
7273
7443
|
onClose,
|
|
7274
7444
|
...modalProps,
|
|
@@ -7282,27 +7452,19 @@ var ThemeModal = ({
|
|
|
7282
7452
|
onChange: (theme2) => setTheme(theme2)
|
|
7283
7453
|
}
|
|
7284
7454
|
),
|
|
7285
|
-
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "row mt-3 gap-x-4 justify-end", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(SolidButton, { autoFocus: true, color: "positive", onClick: onClose, children: translation
|
|
7455
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "row mt-3 gap-x-4 justify-end", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(SolidButton, { autoFocus: true, color: "positive", onClick: onClose, children: translation("done") }) })
|
|
7286
7456
|
] })
|
|
7287
7457
|
}
|
|
7288
7458
|
);
|
|
7289
7459
|
};
|
|
7290
7460
|
|
|
7291
7461
|
// src/components/properties/CheckboxProperty.tsx
|
|
7292
|
-
var
|
|
7462
|
+
var import_lucide_react15 = require("lucide-react");
|
|
7293
7463
|
|
|
7294
7464
|
// src/components/properties/PropertyBase.tsx
|
|
7295
|
-
var
|
|
7465
|
+
var import_lucide_react14 = require("lucide-react");
|
|
7296
7466
|
var import_clsx34 = __toESM(require("clsx"));
|
|
7297
7467
|
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
7298
|
-
var defaultPropertyBaseTranslation = {
|
|
7299
|
-
en: {
|
|
7300
|
-
remove: "Remove"
|
|
7301
|
-
},
|
|
7302
|
-
de: {
|
|
7303
|
-
remove: "Entfernen"
|
|
7304
|
-
}
|
|
7305
|
-
};
|
|
7306
7468
|
var PropertyBase = ({
|
|
7307
7469
|
overwriteTranslation,
|
|
7308
7470
|
name,
|
|
@@ -7314,7 +7476,7 @@ var PropertyBase = ({
|
|
|
7314
7476
|
onRemove,
|
|
7315
7477
|
className = ""
|
|
7316
7478
|
}) => {
|
|
7317
|
-
const translation = useTranslation(
|
|
7479
|
+
const translation = useTranslation([formTranslation], overwriteTranslation);
|
|
7318
7480
|
const requiredAndNoValue = softRequired && !hasValue;
|
|
7319
7481
|
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: (0, import_clsx34.default)("row gap-x-0 group", className), children: [
|
|
7320
7482
|
/* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
|
|
@@ -7333,13 +7495,13 @@ var PropertyBase = ({
|
|
|
7333
7495
|
/* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
|
|
7334
7496
|
"div",
|
|
7335
7497
|
{
|
|
7336
|
-
className: (0, import_clsx34.default)("row grow justify-between items-center rounded-r-xl border-2 border-l-0", {
|
|
7498
|
+
className: (0, import_clsx34.default)("row gap-x-0 grow justify-between items-center rounded-r-xl border-2 border-l-0", {
|
|
7337
7499
|
"bg-surface group-hover:border-primary": !requiredAndNoValue,
|
|
7338
7500
|
"bg-surface-warning group-hover:border-warning border-warning/90": requiredAndNoValue
|
|
7339
7501
|
}, className),
|
|
7340
7502
|
children: [
|
|
7341
7503
|
input({ softRequired, hasValue }),
|
|
7342
|
-
requiredAndNoValue && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "text-warning pr-4", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
7504
|
+
requiredAndNoValue && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "text-warning pr-4", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.AlertTriangle, { size: 24 }) }),
|
|
7343
7505
|
onRemove && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
7344
7506
|
TextButton,
|
|
7345
7507
|
{
|
|
@@ -7347,7 +7509,7 @@ var PropertyBase = ({
|
|
|
7347
7509
|
color: "negative",
|
|
7348
7510
|
className: (0, import_clsx34.default)("pr-4 items-center", { "!text-transparent": !hasValue || readOnly }),
|
|
7349
7511
|
disabled: !hasValue || readOnly,
|
|
7350
|
-
children: translation
|
|
7512
|
+
children: translation("remove")
|
|
7351
7513
|
}
|
|
7352
7514
|
)
|
|
7353
7515
|
]
|
|
@@ -7358,16 +7520,6 @@ var PropertyBase = ({
|
|
|
7358
7520
|
|
|
7359
7521
|
// src/components/properties/CheckboxProperty.tsx
|
|
7360
7522
|
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
7361
|
-
var defaultCheckboxPropertyTranslation = {
|
|
7362
|
-
en: {
|
|
7363
|
-
yes: "Yes",
|
|
7364
|
-
no: "No"
|
|
7365
|
-
},
|
|
7366
|
-
de: {
|
|
7367
|
-
yes: "Ja",
|
|
7368
|
-
no: "Nein"
|
|
7369
|
-
}
|
|
7370
|
-
};
|
|
7371
7523
|
var CheckboxProperty = ({
|
|
7372
7524
|
overwriteTranslation,
|
|
7373
7525
|
value,
|
|
@@ -7375,21 +7527,21 @@ var CheckboxProperty = ({
|
|
|
7375
7527
|
readOnly,
|
|
7376
7528
|
...baseProps
|
|
7377
7529
|
}) => {
|
|
7378
|
-
const translation = useTranslation(
|
|
7530
|
+
const translation = useTranslation([formTranslation], overwriteTranslation);
|
|
7379
7531
|
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
7380
7532
|
PropertyBase,
|
|
7381
7533
|
{
|
|
7382
7534
|
...baseProps,
|
|
7383
7535
|
hasValue: true,
|
|
7384
7536
|
readOnly,
|
|
7385
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
7537
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.Check, { size: 16 }),
|
|
7386
7538
|
input: () => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "row py-2 px-4 items-center", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
7387
7539
|
Checkbox,
|
|
7388
7540
|
{
|
|
7389
7541
|
checked: value ?? true,
|
|
7390
7542
|
disabled: readOnly,
|
|
7391
7543
|
onChange,
|
|
7392
|
-
label: { name: `${translation
|
|
7544
|
+
label: { name: `${translation("yes")}/${translation("no")}`, labelType: "labelMedium" }
|
|
7393
7545
|
}
|
|
7394
7546
|
) })
|
|
7395
7547
|
}
|
|
@@ -7397,7 +7549,7 @@ var CheckboxProperty = ({
|
|
|
7397
7549
|
};
|
|
7398
7550
|
|
|
7399
7551
|
// src/components/properties/DateProperty.tsx
|
|
7400
|
-
var
|
|
7552
|
+
var import_lucide_react16 = require("lucide-react");
|
|
7401
7553
|
var import_clsx35 = __toESM(require("clsx"));
|
|
7402
7554
|
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
7403
7555
|
var DateProperty = ({
|
|
@@ -7415,7 +7567,7 @@ var DateProperty = ({
|
|
|
7415
7567
|
{
|
|
7416
7568
|
...baseProps,
|
|
7417
7569
|
hasValue,
|
|
7418
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
7570
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_lucide_react16.CalendarDays, { size: 16 }),
|
|
7419
7571
|
input: ({ softRequired }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
7420
7572
|
"div",
|
|
7421
7573
|
{
|
|
@@ -7446,222 +7598,168 @@ var DateProperty = ({
|
|
|
7446
7598
|
};
|
|
7447
7599
|
|
|
7448
7600
|
// src/components/properties/MultiSelectProperty.tsx
|
|
7449
|
-
var
|
|
7450
|
-
var import_clsx38 = __toESM(require("clsx"));
|
|
7451
|
-
|
|
7452
|
-
// src/components/user-action/MultiSelect.tsx
|
|
7453
|
-
var import_react24 = require("react");
|
|
7454
|
-
var import_lucide_react16 = require("lucide-react");
|
|
7601
|
+
var import_lucide_react18 = require("lucide-react");
|
|
7455
7602
|
var import_clsx37 = __toESM(require("clsx"));
|
|
7456
7603
|
|
|
7457
|
-
// src/components/user-action/
|
|
7458
|
-
var import_react23 = require("react");
|
|
7459
|
-
var import_clsx36 = __toESM(require("clsx"));
|
|
7460
|
-
|
|
7461
|
-
// src/hooks/useOutsideClick.ts
|
|
7604
|
+
// src/components/user-action/MultiSelect.tsx
|
|
7462
7605
|
var import_react22 = require("react");
|
|
7463
|
-
var
|
|
7464
|
-
|
|
7465
|
-
const listener = (event) => {
|
|
7466
|
-
if (event.target === null) return;
|
|
7467
|
-
if (refs.some((ref) => !ref.current || ref.current.contains(event.target))) {
|
|
7468
|
-
return;
|
|
7469
|
-
}
|
|
7470
|
-
handler();
|
|
7471
|
-
};
|
|
7472
|
-
document.addEventListener("mousedown", listener);
|
|
7473
|
-
document.addEventListener("touchstart", listener);
|
|
7474
|
-
return () => {
|
|
7475
|
-
document.removeEventListener("mousedown", listener);
|
|
7476
|
-
document.removeEventListener("touchstart", listener);
|
|
7477
|
-
};
|
|
7478
|
-
}, [refs, handler]);
|
|
7479
|
-
};
|
|
7480
|
-
|
|
7481
|
-
// src/components/user-action/Menu.tsx
|
|
7606
|
+
var import_lucide_react17 = require("lucide-react");
|
|
7607
|
+
var import_clsx36 = __toESM(require("clsx"));
|
|
7482
7608
|
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
7483
|
-
var MenuItem = ({
|
|
7484
|
-
children,
|
|
7485
|
-
onClick,
|
|
7486
|
-
alignment = "left",
|
|
7487
|
-
className
|
|
7488
|
-
}) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
7489
|
-
"div",
|
|
7490
|
-
{
|
|
7491
|
-
className: (0, import_clsx36.default)("block px-3 py-1 bg-menu-background text-menu-text hover:brightness-90", {
|
|
7492
|
-
"text-right": alignment === "right",
|
|
7493
|
-
"text-left": alignment === "left"
|
|
7494
|
-
}, className),
|
|
7495
|
-
onClick,
|
|
7496
|
-
children
|
|
7497
|
-
}
|
|
7498
|
-
);
|
|
7499
|
-
var Menu2 = ({
|
|
7500
|
-
trigger,
|
|
7501
|
-
children,
|
|
7502
|
-
alignment = "tl",
|
|
7503
|
-
showOnHover = false,
|
|
7504
|
-
menuClassName = ""
|
|
7505
|
-
}) => {
|
|
7506
|
-
const { isHovered: isOpen, setIsHovered: setIsOpen, handlers } = useHoverState({ isDisabled: !showOnHover });
|
|
7507
|
-
const triggerRef = (0, import_react23.useRef)(null);
|
|
7508
|
-
const menuRef = (0, import_react23.useRef)(null);
|
|
7509
|
-
useOutsideClick([triggerRef, menuRef], () => setIsOpen(false));
|
|
7510
|
-
return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
|
|
7511
|
-
"div",
|
|
7512
|
-
{
|
|
7513
|
-
className: "relative",
|
|
7514
|
-
...handlers,
|
|
7515
|
-
children: [
|
|
7516
|
-
trigger(() => setIsOpen(!isOpen), triggerRef),
|
|
7517
|
-
isOpen ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
7518
|
-
"div",
|
|
7519
|
-
{
|
|
7520
|
-
ref: menuRef,
|
|
7521
|
-
onClick: (e) => e.stopPropagation(),
|
|
7522
|
-
className: (0, import_clsx36.default)("absolute top-full mt-1 py-2 w-60 rounded-lg bg-menu-background text-menu-text ring-1 ring-slate-900/5 text-sm leading-6 font-semibold shadow-md z-[1]", {
|
|
7523
|
-
" top-[8px]": alignment[0] === "t",
|
|
7524
|
-
" bottom-[8px]": alignment[0] === "b",
|
|
7525
|
-
" left-[-8px]": alignment[1] === "l",
|
|
7526
|
-
" right-[-8px]": alignment[1] === "r"
|
|
7527
|
-
}, menuClassName),
|
|
7528
|
-
children
|
|
7529
|
-
}
|
|
7530
|
-
) : null
|
|
7531
|
-
]
|
|
7532
|
-
}
|
|
7533
|
-
);
|
|
7534
|
-
};
|
|
7535
|
-
|
|
7536
|
-
// src/components/user-action/MultiSelect.tsx
|
|
7537
|
-
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
7538
7609
|
var defaultMultiSelectTranslation = {
|
|
7539
7610
|
en: {
|
|
7540
|
-
|
|
7541
|
-
search: "Search",
|
|
7542
|
-
selected: "selected"
|
|
7611
|
+
selected: `{{amount}} selected`
|
|
7543
7612
|
},
|
|
7544
7613
|
de: {
|
|
7545
|
-
|
|
7546
|
-
search: "Suche",
|
|
7547
|
-
selected: "ausgew\xE4hlt"
|
|
7614
|
+
selected: `{{amount}} ausgew\xE4hlt`
|
|
7548
7615
|
}
|
|
7549
7616
|
};
|
|
7550
7617
|
var MultiSelect = ({
|
|
7551
7618
|
overwriteTranslation,
|
|
7552
7619
|
options,
|
|
7553
|
-
onChange,
|
|
7554
|
-
search,
|
|
7555
|
-
disabled = false,
|
|
7556
|
-
selectedDisplay,
|
|
7557
7620
|
label,
|
|
7621
|
+
onChange,
|
|
7558
7622
|
hintText,
|
|
7559
|
-
|
|
7560
|
-
|
|
7561
|
-
|
|
7623
|
+
isDisabled = false,
|
|
7624
|
+
isSearchEnabled = false,
|
|
7625
|
+
selectedDisplayOverwrite,
|
|
7626
|
+
useChipDisplay = false,
|
|
7627
|
+
className = ""
|
|
7562
7628
|
}) => {
|
|
7563
|
-
const translation = useTranslation(defaultMultiSelectTranslation, overwriteTranslation);
|
|
7564
|
-
const
|
|
7565
|
-
|
|
7566
|
-
const
|
|
7567
|
-
|
|
7568
|
-
filteredOptions = MultiSearchWithMapping(
|
|
7569
|
-
searchText,
|
|
7570
|
-
filteredOptions,
|
|
7571
|
-
(value) => search.searchMapping(value)
|
|
7572
|
-
);
|
|
7573
|
-
}
|
|
7574
|
-
if (!showDisabledOptions) {
|
|
7575
|
-
filteredOptions = filteredOptions.filter((value) => !value.disabled);
|
|
7576
|
-
}
|
|
7629
|
+
const translation = useTranslation([formTranslation, defaultMultiSelectTranslation], overwriteTranslation);
|
|
7630
|
+
const triggerRef = (0, import_react22.useRef)(null);
|
|
7631
|
+
const menuRef = (0, import_react22.useRef)(null);
|
|
7632
|
+
const [isOpen, setIsOpen] = (0, import_react22.useState)(false);
|
|
7633
|
+
useOutsideClick([triggerRef, menuRef], () => setIsOpen(false));
|
|
7577
7634
|
const selectedItems = options.filter((value) => value.selected);
|
|
7578
|
-
const
|
|
7579
|
-
|
|
7580
|
-
|
|
7581
|
-
label && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
7635
|
+
const isShowingHint = !selectedDisplayOverwrite && selectedItems.length === 0;
|
|
7636
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: (0, import_clsx36.default)(className), children: [
|
|
7637
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
7582
7638
|
Label,
|
|
7583
7639
|
{
|
|
7584
7640
|
...label,
|
|
7585
7641
|
htmlFor: label.name,
|
|
7586
|
-
className: (0,
|
|
7642
|
+
className: (0, import_clsx36.default)(" mb-1", label.className),
|
|
7587
7643
|
labelType: label.labelType ?? "labelBig"
|
|
7588
7644
|
}
|
|
7589
7645
|
),
|
|
7590
|
-
/* @__PURE__ */ (0,
|
|
7591
|
-
|
|
7592
|
-
|
|
7593
|
-
|
|
7594
|
-
|
|
7595
|
-
|
|
7596
|
-
|
|
7597
|
-
ref,
|
|
7598
|
-
onClick: disabled ? void 0 : onClick,
|
|
7599
|
-
className: (0, import_clsx37.default)(
|
|
7600
|
-
borderColor,
|
|
7601
|
-
"bg-menu-background text-menu-text inline-w-full justify-between items-center rounded-lg border-2 px-4 py-2 font-medium",
|
|
7602
|
-
{
|
|
7603
|
-
"hover:border-primary cursor-pointer": !disabled,
|
|
7604
|
-
"bg-disabled-background text-disabled cursor-not-allowed": disabled
|
|
7605
|
-
},
|
|
7606
|
-
triggerClassName
|
|
7607
|
-
),
|
|
7608
|
-
children: selectedDisplay ? selectedDisplay({ items: options, disabled }) : menuButtonText
|
|
7609
|
-
}
|
|
7610
|
-
),
|
|
7611
|
-
menuClassName: (0, import_clsx37.default)(
|
|
7612
|
-
"!rounded-lg !shadow-lg !max-h-[500px] !min-w-[400px] !max-w-[70vh] !overflow-y-auto !border !border-2",
|
|
7613
|
-
borderColor,
|
|
7614
|
-
{ "!py-0": !enableSearch, "!pb-0": enableSearch }
|
|
7615
|
-
),
|
|
7616
|
-
children: [
|
|
7617
|
-
enableSearch && /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "row gap-x-2 items-center px-2 py-2", children: [
|
|
7618
|
-
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Input, { autoFocus: true, className: "w-full", value: searchText, onChangeText: setSearchText }),
|
|
7619
|
-
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_lucide_react16.Search, {})
|
|
7620
|
-
] }, "selectSearch"),
|
|
7621
|
-
filteredOptions.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
7622
|
-
MenuItem,
|
|
7646
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "relative", children: [
|
|
7647
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
|
|
7648
|
+
"button",
|
|
7649
|
+
{
|
|
7650
|
+
ref: triggerRef,
|
|
7651
|
+
className: (0, import_clsx36.default)(
|
|
7652
|
+
"btn-md justify-between w-full border-2 h-auto",
|
|
7623
7653
|
{
|
|
7624
|
-
|
|
7625
|
-
|
|
7626
|
-
|
|
7627
|
-
|
|
7628
|
-
|
|
7629
|
-
|
|
7630
|
-
|
|
7631
|
-
|
|
7632
|
-
|
|
7633
|
-
|
|
7654
|
+
"rounded-b-lg": !open,
|
|
7655
|
+
"bg-menu-background border-menu-border hover:border-primary": !isDisabled,
|
|
7656
|
+
"bg-disabled-background text-disabled-text border-disabled-background cursor-not-allowed": isDisabled
|
|
7657
|
+
}
|
|
7658
|
+
),
|
|
7659
|
+
onClick: () => setIsOpen(!isOpen),
|
|
7660
|
+
disabled: isDisabled,
|
|
7661
|
+
children: [
|
|
7662
|
+
!isShowingHint && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "font-semibold text-menu-text", children: selectedDisplayOverwrite ?? (useChipDisplay && selectedItems ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ChipList, { list: selectedItems.map((value) => ({ children: value.label })) }) : translation("selected", { replacements: { amount: selectedItems.length.toString() } })) }),
|
|
7663
|
+
isShowingHint && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "textstyle-description", children: hintText ?? translation("select") }),
|
|
7664
|
+
isOpen ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react17.ChevronUp, { size: 24, className: "min-w-6" }) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react17.ChevronDown, { className: "min-w-6" })
|
|
7665
|
+
]
|
|
7666
|
+
}
|
|
7667
|
+
),
|
|
7668
|
+
isOpen && /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
|
|
7669
|
+
"div",
|
|
7670
|
+
{
|
|
7671
|
+
ref: menuRef,
|
|
7672
|
+
className: "absolute w-full z-10 rounded-lg mt-0.5 bg-menu-background text-menu-text shadow-around-md max-h-[500px] overflow-y-auto p-2",
|
|
7673
|
+
children: [
|
|
7674
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
7675
|
+
SearchableList,
|
|
7676
|
+
{
|
|
7677
|
+
list: options,
|
|
7678
|
+
minimumItemsForSearch: isSearchEnabled ? void 0 : options.length,
|
|
7679
|
+
searchMapping: (item) => item.searchTags,
|
|
7680
|
+
itemMapper: (option, index) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
7681
|
+
Tile,
|
|
7682
|
+
{
|
|
7683
|
+
isSelected: option.selected,
|
|
7684
|
+
className: "px-2 py-1 rounded-md",
|
|
7685
|
+
disabledClassName: "text-disabled-text cursor-not-allowed",
|
|
7686
|
+
title: { value: option.label, className: "font-semibold" },
|
|
7687
|
+
onClick: () => {
|
|
7634
7688
|
onChange(options.map((value) => value.value === option.value ? {
|
|
7635
7689
|
...option,
|
|
7636
7690
|
selected: !value.selected
|
|
7637
7691
|
} : value));
|
|
7638
|
-
}
|
|
7692
|
+
},
|
|
7693
|
+
isDisabled: option.disabled
|
|
7639
7694
|
},
|
|
7640
|
-
|
|
7641
|
-
|
|
7642
|
-
|
|
7643
|
-
|
|
7644
|
-
|
|
7645
|
-
)
|
|
7646
|
-
|
|
7647
|
-
|
|
7648
|
-
|
|
7649
|
-
|
|
7650
|
-
|
|
7651
|
-
|
|
7695
|
+
index
|
|
7696
|
+
)
|
|
7697
|
+
}
|
|
7698
|
+
),
|
|
7699
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "row justify-between mt-2", children: [
|
|
7700
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "row gap-x-2", children: [
|
|
7701
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
7702
|
+
SolidButton,
|
|
7703
|
+
{
|
|
7704
|
+
color: "neutral",
|
|
7705
|
+
size: "small",
|
|
7706
|
+
onClick: () => {
|
|
7707
|
+
onChange(options.map((option) => ({
|
|
7708
|
+
...option,
|
|
7709
|
+
selected: !option.disabled
|
|
7710
|
+
})));
|
|
7711
|
+
},
|
|
7712
|
+
disabled: options.every((value) => value.selected || value.disabled),
|
|
7713
|
+
children: translation("all")
|
|
7714
|
+
}
|
|
7715
|
+
),
|
|
7716
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
7717
|
+
SolidButton,
|
|
7718
|
+
{
|
|
7719
|
+
color: "neutral",
|
|
7720
|
+
size: "small",
|
|
7721
|
+
onClick: () => {
|
|
7722
|
+
onChange(options.map((option) => ({
|
|
7723
|
+
...option,
|
|
7724
|
+
selected: false
|
|
7725
|
+
})));
|
|
7726
|
+
},
|
|
7727
|
+
children: translation("none")
|
|
7728
|
+
}
|
|
7729
|
+
)
|
|
7730
|
+
] }),
|
|
7731
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(SolidButton, { size: "small", onClick: () => setIsOpen(false), children: "Done" })
|
|
7732
|
+
] })
|
|
7733
|
+
]
|
|
7734
|
+
}
|
|
7735
|
+
)
|
|
7736
|
+
] })
|
|
7652
7737
|
] });
|
|
7653
7738
|
};
|
|
7739
|
+
var MultiSelectUncontrolled = ({
|
|
7740
|
+
options,
|
|
7741
|
+
onChange,
|
|
7742
|
+
...props
|
|
7743
|
+
}) => {
|
|
7744
|
+
const [usedOptions, setUsedOptions] = (0, import_react22.useState)(options);
|
|
7745
|
+
(0, import_react22.useEffect)(() => {
|
|
7746
|
+
setUsedOptions(options);
|
|
7747
|
+
}, [options]);
|
|
7748
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
7749
|
+
MultiSelect,
|
|
7750
|
+
{
|
|
7751
|
+
...props,
|
|
7752
|
+
options: usedOptions,
|
|
7753
|
+
onChange: (options2) => {
|
|
7754
|
+
setUsedOptions(options2);
|
|
7755
|
+
onChange(options2);
|
|
7756
|
+
}
|
|
7757
|
+
}
|
|
7758
|
+
);
|
|
7759
|
+
};
|
|
7654
7760
|
|
|
7655
7761
|
// src/components/properties/MultiSelectProperty.tsx
|
|
7656
|
-
var
|
|
7657
|
-
var defaultMultiSelectPropertyTranslation = {
|
|
7658
|
-
en: {
|
|
7659
|
-
select: "Select"
|
|
7660
|
-
},
|
|
7661
|
-
de: {
|
|
7662
|
-
select: "Ausw\xE4hlen"
|
|
7663
|
-
}
|
|
7664
|
-
};
|
|
7762
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
7665
7763
|
var MultiSelectProperty = ({
|
|
7666
7764
|
overwriteTranslation,
|
|
7667
7765
|
options,
|
|
@@ -7671,13 +7769,9 @@ var MultiSelectProperty = ({
|
|
|
7671
7769
|
onRemove,
|
|
7672
7770
|
...multiSelectProps
|
|
7673
7771
|
}) => {
|
|
7674
|
-
const translation = useTranslation(
|
|
7772
|
+
const translation = useTranslation([formTranslation], overwriteTranslation);
|
|
7675
7773
|
const hasValue = options.some((value) => value.selected);
|
|
7676
|
-
|
|
7677
|
-
if (softRequired && !hasValue) {
|
|
7678
|
-
triggerClassName = "border-warning hover:brightness-90";
|
|
7679
|
-
}
|
|
7680
|
-
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
7774
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
7681
7775
|
PropertyBase,
|
|
7682
7776
|
{
|
|
7683
7777
|
name,
|
|
@@ -7685,27 +7779,20 @@ var MultiSelectProperty = ({
|
|
|
7685
7779
|
readOnly,
|
|
7686
7780
|
softRequired,
|
|
7687
7781
|
hasValue,
|
|
7688
|
-
icon: /* @__PURE__ */ (0,
|
|
7689
|
-
input: ({ softRequired: softRequired2 }) => /* @__PURE__ */ (0,
|
|
7782
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_lucide_react18.List, { size: 16 }),
|
|
7783
|
+
input: ({ softRequired: softRequired2 }) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
7690
7784
|
"div",
|
|
7691
7785
|
{
|
|
7692
|
-
className: (0,
|
|
7693
|
-
children: /* @__PURE__ */ (0,
|
|
7786
|
+
className: (0, import_clsx37.default)("row grow py-2 px-4 cursor-pointer", { "text-warning": softRequired2 && !hasValue }),
|
|
7787
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
7694
7788
|
MultiSelect,
|
|
7695
7789
|
{
|
|
7696
7790
|
...multiSelectProps,
|
|
7697
|
-
className: (0,
|
|
7698
|
-
triggerClassName,
|
|
7699
|
-
selectedDisplay: ({ items }) => {
|
|
7700
|
-
const selected = items.filter((value) => value.selected);
|
|
7701
|
-
if (selected.length === 0) {
|
|
7702
|
-
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { children: "Select" });
|
|
7703
|
-
}
|
|
7704
|
-
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ChipList, { list: selected.map((value) => ({ children: value.label })) });
|
|
7705
|
-
},
|
|
7791
|
+
className: (0, import_clsx37.default)("w-full", { "bg-surface-warning": softRequired2 && !hasValue }),
|
|
7706
7792
|
options,
|
|
7707
|
-
|
|
7708
|
-
|
|
7793
|
+
isDisabled: readOnly,
|
|
7794
|
+
useChipDisplay: true,
|
|
7795
|
+
hintText: `${translation("select")}...`
|
|
7709
7796
|
}
|
|
7710
7797
|
)
|
|
7711
7798
|
}
|
|
@@ -7715,9 +7802,9 @@ var MultiSelectProperty = ({
|
|
|
7715
7802
|
};
|
|
7716
7803
|
|
|
7717
7804
|
// src/components/properties/NumberProperty.tsx
|
|
7718
|
-
var
|
|
7719
|
-
var
|
|
7720
|
-
var
|
|
7805
|
+
var import_lucide_react19 = require("lucide-react");
|
|
7806
|
+
var import_clsx38 = __toESM(require("clsx"));
|
|
7807
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
7721
7808
|
var defaultNumberPropertyTranslation = {
|
|
7722
7809
|
en: {
|
|
7723
7810
|
value: "Value"
|
|
@@ -7736,29 +7823,29 @@ var NumberProperty = ({
|
|
|
7736
7823
|
suffix,
|
|
7737
7824
|
...baseProps
|
|
7738
7825
|
}) => {
|
|
7739
|
-
const translation = useTranslation(defaultNumberPropertyTranslation, overwriteTranslation);
|
|
7826
|
+
const translation = useTranslation([defaultNumberPropertyTranslation], overwriteTranslation);
|
|
7740
7827
|
const hasValue = value !== void 0;
|
|
7741
|
-
return /* @__PURE__ */ (0,
|
|
7828
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
7742
7829
|
PropertyBase,
|
|
7743
7830
|
{
|
|
7744
7831
|
...baseProps,
|
|
7745
7832
|
onRemove,
|
|
7746
7833
|
hasValue,
|
|
7747
|
-
icon: /* @__PURE__ */ (0,
|
|
7748
|
-
input: ({ softRequired }) => /* @__PURE__ */ (0,
|
|
7834
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react19.Binary, { size: 16 }),
|
|
7835
|
+
input: ({ softRequired }) => /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
|
|
7749
7836
|
"div",
|
|
7750
7837
|
{
|
|
7751
|
-
className: (0,
|
|
7838
|
+
className: (0, import_clsx38.default)("row grow py-2 px-4 cursor-pointer", { "text-warning": softRequired && !hasValue }),
|
|
7752
7839
|
children: [
|
|
7753
|
-
/* @__PURE__ */ (0,
|
|
7840
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
7754
7841
|
Input,
|
|
7755
7842
|
{
|
|
7756
7843
|
expanded: false,
|
|
7757
|
-
className: (0,
|
|
7844
|
+
className: (0, import_clsx38.default)("!ring-0 !border-0 !outline-0 !p-0 !m-0 !w-fit !shadow-none !rounded-none", { "bg-surface-warning placeholder-warning": softRequired && !hasValue }),
|
|
7758
7845
|
value: value?.toString() ?? "",
|
|
7759
7846
|
type: "number",
|
|
7760
7847
|
readOnly,
|
|
7761
|
-
placeholder: `${translation
|
|
7848
|
+
placeholder: `${translation("value")}...`,
|
|
7762
7849
|
onChangeText: (value2) => {
|
|
7763
7850
|
const numberValue = parseFloat(value2);
|
|
7764
7851
|
if (isNaN(numberValue)) {
|
|
@@ -7777,7 +7864,7 @@ var NumberProperty = ({
|
|
|
7777
7864
|
}
|
|
7778
7865
|
}
|
|
7779
7866
|
),
|
|
7780
|
-
suffix && /* @__PURE__ */ (0,
|
|
7867
|
+
suffix && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: (0, import_clsx38.default)("ml-1", { "bg-surface-warning": softRequired && !hasValue }), children: suffix })
|
|
7781
7868
|
]
|
|
7782
7869
|
}
|
|
7783
7870
|
)
|
|
@@ -7786,17 +7873,9 @@ var NumberProperty = ({
|
|
|
7786
7873
|
};
|
|
7787
7874
|
|
|
7788
7875
|
// src/components/properties/SelectProperty.tsx
|
|
7789
|
-
var
|
|
7790
|
-
var
|
|
7791
|
-
var
|
|
7792
|
-
var defaultSingleSelectPropertyTranslation = {
|
|
7793
|
-
en: {
|
|
7794
|
-
select: "Select"
|
|
7795
|
-
},
|
|
7796
|
-
de: {
|
|
7797
|
-
select: "Ausw\xE4hlen"
|
|
7798
|
-
}
|
|
7799
|
-
};
|
|
7876
|
+
var import_lucide_react20 = require("lucide-react");
|
|
7877
|
+
var import_clsx39 = __toESM(require("clsx"));
|
|
7878
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
7800
7879
|
var SingleSelectProperty = ({
|
|
7801
7880
|
overwriteTranslation,
|
|
7802
7881
|
value,
|
|
@@ -7805,11 +7884,11 @@ var SingleSelectProperty = ({
|
|
|
7805
7884
|
readOnly = false,
|
|
7806
7885
|
softRequired,
|
|
7807
7886
|
onRemove,
|
|
7808
|
-
...
|
|
7887
|
+
...selectProps
|
|
7809
7888
|
}) => {
|
|
7810
|
-
const translation = useTranslation(
|
|
7889
|
+
const translation = useTranslation([formTranslation], overwriteTranslation);
|
|
7811
7890
|
const hasValue = value !== void 0;
|
|
7812
|
-
return /* @__PURE__ */ (0,
|
|
7891
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
7813
7892
|
PropertyBase,
|
|
7814
7893
|
{
|
|
7815
7894
|
name,
|
|
@@ -7817,20 +7896,20 @@ var SingleSelectProperty = ({
|
|
|
7817
7896
|
readOnly,
|
|
7818
7897
|
softRequired,
|
|
7819
7898
|
hasValue,
|
|
7820
|
-
icon: /* @__PURE__ */ (0,
|
|
7821
|
-
input: ({ softRequired: softRequired2 }) => /* @__PURE__ */ (0,
|
|
7899
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react20.List, { size: 16 }),
|
|
7900
|
+
input: ({ softRequired: softRequired2 }) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
7822
7901
|
"div",
|
|
7823
7902
|
{
|
|
7824
|
-
className: (0,
|
|
7825
|
-
children: /* @__PURE__ */ (0,
|
|
7826
|
-
|
|
7903
|
+
className: (0, import_clsx39.default)("row grow py-2 px-4 cursor-pointer", { "text-warning": softRequired2 && !hasValue }),
|
|
7904
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
7905
|
+
Select,
|
|
7827
7906
|
{
|
|
7828
|
-
...
|
|
7907
|
+
...selectProps,
|
|
7829
7908
|
value,
|
|
7830
7909
|
options,
|
|
7831
7910
|
isDisabled: readOnly,
|
|
7832
|
-
className: (0,
|
|
7833
|
-
hintText: `${translation
|
|
7911
|
+
className: (0, import_clsx39.default)("w-full", { "bg-surface-warning": softRequired2 && !hasValue }),
|
|
7912
|
+
hintText: `${translation("select")}...`
|
|
7834
7913
|
}
|
|
7835
7914
|
)
|
|
7836
7915
|
}
|
|
@@ -7840,13 +7919,13 @@ var SingleSelectProperty = ({
|
|
|
7840
7919
|
};
|
|
7841
7920
|
|
|
7842
7921
|
// src/components/properties/TextProperty.tsx
|
|
7843
|
-
var
|
|
7844
|
-
var
|
|
7922
|
+
var import_lucide_react21 = require("lucide-react");
|
|
7923
|
+
var import_clsx41 = __toESM(require("clsx"));
|
|
7845
7924
|
|
|
7846
7925
|
// src/components/user-action/Textarea.tsx
|
|
7847
|
-
var
|
|
7848
|
-
var
|
|
7849
|
-
var
|
|
7926
|
+
var import_react23 = require("react");
|
|
7927
|
+
var import_clsx40 = __toESM(require("clsx"));
|
|
7928
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
7850
7929
|
var Textarea = ({
|
|
7851
7930
|
label,
|
|
7852
7931
|
headline,
|
|
@@ -7861,33 +7940,33 @@ var Textarea = ({
|
|
|
7861
7940
|
className,
|
|
7862
7941
|
...props
|
|
7863
7942
|
}) => {
|
|
7864
|
-
const [hasFocus, setHasFocus] = (0,
|
|
7943
|
+
const [hasFocus, setHasFocus] = (0, import_react23.useState)(false);
|
|
7865
7944
|
const { restartTimer, clearUpdateTimer } = useSaveDelay(() => void 0, 3e3);
|
|
7866
7945
|
const onEditCompletedWrapper = (text) => {
|
|
7867
7946
|
onEditCompleted(text);
|
|
7868
7947
|
clearUpdateTimer();
|
|
7869
7948
|
};
|
|
7870
|
-
return /* @__PURE__ */ (0,
|
|
7871
|
-
label && /* @__PURE__ */ (0,
|
|
7949
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "w-full", children: [
|
|
7950
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
7872
7951
|
Label,
|
|
7873
7952
|
{
|
|
7874
7953
|
...label,
|
|
7875
7954
|
htmlFor: id,
|
|
7876
|
-
className: (0,
|
|
7955
|
+
className: (0, import_clsx40.default)("mb-1", label.className),
|
|
7877
7956
|
labelType: label.labelType ?? "labelSmall"
|
|
7878
7957
|
}
|
|
7879
7958
|
),
|
|
7880
|
-
/* @__PURE__ */ (0,
|
|
7959
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
|
|
7881
7960
|
"div",
|
|
7882
7961
|
{
|
|
7883
|
-
className: `${(0,
|
|
7962
|
+
className: `${(0, import_clsx40.default)(" bg-surface text-on-surface focus-within:border-primary relative", { "shadow border-2 hover:border-primary rounded-lg": defaultStyle })}`,
|
|
7884
7963
|
children: [
|
|
7885
|
-
headline && /* @__PURE__ */ (0,
|
|
7886
|
-
/* @__PURE__ */ (0,
|
|
7964
|
+
headline && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "mx-3 mt-3 block textstyle-label-md", children: headline }),
|
|
7965
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
7887
7966
|
"textarea",
|
|
7888
7967
|
{
|
|
7889
7968
|
id,
|
|
7890
|
-
className: (0,
|
|
7969
|
+
className: (0, import_clsx40.default)("pt-0 px-3 border-transparent focus:border-transparent focus:ring-0 appearance-none border w-full leading-tight focus:outline-none", {
|
|
7891
7970
|
"resize-none": !resizable,
|
|
7892
7971
|
"h-32": defaultStyle,
|
|
7893
7972
|
"mt-3": !headline
|
|
@@ -7914,7 +7993,7 @@ var Textarea = ({
|
|
|
7914
7993
|
]
|
|
7915
7994
|
}
|
|
7916
7995
|
),
|
|
7917
|
-
hasFocus && disclaimer && /* @__PURE__ */ (0,
|
|
7996
|
+
hasFocus && disclaimer && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("label", { className: "text-negative", children: disclaimer })
|
|
7918
7997
|
] });
|
|
7919
7998
|
};
|
|
7920
7999
|
var TextareaUncontrolled = ({
|
|
@@ -7922,11 +8001,11 @@ var TextareaUncontrolled = ({
|
|
|
7922
8001
|
onChangeText = noop,
|
|
7923
8002
|
...props
|
|
7924
8003
|
}) => {
|
|
7925
|
-
const [text, setText] = (0,
|
|
7926
|
-
(0,
|
|
8004
|
+
const [text, setText] = (0, import_react23.useState)(value);
|
|
8005
|
+
(0, import_react23.useEffect)(() => {
|
|
7927
8006
|
setText(value);
|
|
7928
8007
|
}, [value]);
|
|
7929
|
-
return /* @__PURE__ */ (0,
|
|
8008
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
7930
8009
|
Textarea,
|
|
7931
8010
|
{
|
|
7932
8011
|
...props,
|
|
@@ -7940,13 +8019,13 @@ var TextareaUncontrolled = ({
|
|
|
7940
8019
|
};
|
|
7941
8020
|
|
|
7942
8021
|
// src/components/properties/TextProperty.tsx
|
|
7943
|
-
var
|
|
8022
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
7944
8023
|
var defaultTextPropertyTranslation = {
|
|
7945
8024
|
en: {
|
|
7946
|
-
|
|
8025
|
+
text: "Text"
|
|
7947
8026
|
},
|
|
7948
8027
|
de: {
|
|
7949
|
-
|
|
8028
|
+
text: "Text"
|
|
7950
8029
|
}
|
|
7951
8030
|
};
|
|
7952
8031
|
var TextProperty = ({
|
|
@@ -7958,28 +8037,28 @@ var TextProperty = ({
|
|
|
7958
8037
|
onEditComplete = noop,
|
|
7959
8038
|
...baseProps
|
|
7960
8039
|
}) => {
|
|
7961
|
-
const translation = useTranslation(defaultTextPropertyTranslation, overwriteTranslation);
|
|
8040
|
+
const translation = useTranslation([defaultTextPropertyTranslation], overwriteTranslation);
|
|
7962
8041
|
const hasValue = value !== void 0;
|
|
7963
|
-
return /* @__PURE__ */ (0,
|
|
8042
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
7964
8043
|
PropertyBase,
|
|
7965
8044
|
{
|
|
7966
8045
|
...baseProps,
|
|
7967
8046
|
onRemove,
|
|
7968
8047
|
hasValue,
|
|
7969
|
-
icon: /* @__PURE__ */ (0,
|
|
7970
|
-
input: ({ softRequired }) => /* @__PURE__ */ (0,
|
|
8048
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react21.Text, { size: 16 }),
|
|
8049
|
+
input: ({ softRequired }) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
7971
8050
|
"div",
|
|
7972
8051
|
{
|
|
7973
|
-
className: (0,
|
|
7974
|
-
children: /* @__PURE__ */ (0,
|
|
8052
|
+
className: (0, import_clsx41.default)("row grow pt-2 pb-1 px-4 cursor-pointer", { "text-warning": softRequired && !hasValue }),
|
|
8053
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
7975
8054
|
Textarea,
|
|
7976
8055
|
{
|
|
7977
|
-
className: (0,
|
|
8056
|
+
className: (0, import_clsx41.default)("ring-0 border-0 outline-0 p-0 m-0 shadow-none rounded-none", { "bg-surface-warning placeholder-warning": softRequired && !hasValue }),
|
|
7978
8057
|
rows: 5,
|
|
7979
8058
|
defaultStyle: false,
|
|
7980
8059
|
value: value ?? "",
|
|
7981
8060
|
readOnly,
|
|
7982
|
-
placeholder: `${translation
|
|
8061
|
+
placeholder: `${translation("text")}...`,
|
|
7983
8062
|
onChangeText: (value2) => {
|
|
7984
8063
|
if (!value2) {
|
|
7985
8064
|
onRemove();
|
|
@@ -8003,48 +8082,8 @@ var TextProperty = ({
|
|
|
8003
8082
|
};
|
|
8004
8083
|
|
|
8005
8084
|
// src/components/user-action/DateAndTimePicker.tsx
|
|
8006
|
-
var
|
|
8007
|
-
var
|
|
8008
|
-
var defaultTimeTranslation = {
|
|
8009
|
-
en: {
|
|
8010
|
-
clear: "Clear",
|
|
8011
|
-
change: "Change",
|
|
8012
|
-
year: "Year",
|
|
8013
|
-
month: "Month",
|
|
8014
|
-
day: "Day",
|
|
8015
|
-
january: "January",
|
|
8016
|
-
february: "Febuary",
|
|
8017
|
-
march: "March",
|
|
8018
|
-
april: "April",
|
|
8019
|
-
may: "May",
|
|
8020
|
-
june: "June",
|
|
8021
|
-
july: "July",
|
|
8022
|
-
august: "August",
|
|
8023
|
-
september: "September",
|
|
8024
|
-
october: "October",
|
|
8025
|
-
november: "November",
|
|
8026
|
-
december: "December"
|
|
8027
|
-
},
|
|
8028
|
-
de: {
|
|
8029
|
-
clear: "Entfernen",
|
|
8030
|
-
change: "\xC4ndern",
|
|
8031
|
-
year: "Jahr",
|
|
8032
|
-
month: "Monat",
|
|
8033
|
-
day: "Tag",
|
|
8034
|
-
january: "Januar",
|
|
8035
|
-
february: "Febuar",
|
|
8036
|
-
march: "M\xE4rz",
|
|
8037
|
-
april: "April",
|
|
8038
|
-
may: "Mai",
|
|
8039
|
-
june: "Juni",
|
|
8040
|
-
july: "Juli",
|
|
8041
|
-
august: "August",
|
|
8042
|
-
september: "September",
|
|
8043
|
-
october: "October",
|
|
8044
|
-
november: "November",
|
|
8045
|
-
december: "December"
|
|
8046
|
-
}
|
|
8047
|
-
};
|
|
8085
|
+
var import_clsx42 = __toESM(require("clsx"));
|
|
8086
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
8048
8087
|
var DateTimePicker = ({
|
|
8049
8088
|
overwriteTranslation,
|
|
8050
8089
|
value = /* @__PURE__ */ new Date(),
|
|
@@ -8057,13 +8096,13 @@ var DateTimePicker = ({
|
|
|
8057
8096
|
timePickerProps,
|
|
8058
8097
|
datePickerProps
|
|
8059
8098
|
}) => {
|
|
8060
|
-
const translation = useTranslation(
|
|
8099
|
+
const translation = useTranslation([formTranslation, timeTranslation], overwriteTranslation);
|
|
8061
8100
|
const useDate = mode === "dateTime" || mode === "date";
|
|
8062
8101
|
const useTime = mode === "dateTime" || mode === "time";
|
|
8063
8102
|
let dateDisplay;
|
|
8064
8103
|
let timeDisplay;
|
|
8065
8104
|
if (useDate) {
|
|
8066
|
-
dateDisplay = /* @__PURE__ */ (0,
|
|
8105
|
+
dateDisplay = /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
8067
8106
|
DatePicker,
|
|
8068
8107
|
{
|
|
8069
8108
|
...datePickerProps,
|
|
@@ -8077,38 +8116,118 @@ var DateTimePicker = ({
|
|
|
8077
8116
|
);
|
|
8078
8117
|
}
|
|
8079
8118
|
if (useTime) {
|
|
8080
|
-
timeDisplay = /* @__PURE__ */ (0,
|
|
8119
|
+
timeDisplay = /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
8081
8120
|
TimePicker,
|
|
8082
8121
|
{
|
|
8083
8122
|
...timePickerProps,
|
|
8084
|
-
className: (0,
|
|
8123
|
+
className: (0, import_clsx42.default)("h-full", { "justify-between w-full": mode === "time" }),
|
|
8085
8124
|
maxHeight: 250,
|
|
8086
8125
|
time: value,
|
|
8087
8126
|
onChange
|
|
8088
8127
|
}
|
|
8089
8128
|
);
|
|
8090
8129
|
}
|
|
8091
|
-
return /* @__PURE__ */ (0,
|
|
8092
|
-
/* @__PURE__ */ (0,
|
|
8130
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "col w-fit", children: [
|
|
8131
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "row gap-x-4", children: [
|
|
8093
8132
|
dateDisplay,
|
|
8094
8133
|
timeDisplay
|
|
8095
8134
|
] }),
|
|
8096
|
-
/* @__PURE__ */ (0,
|
|
8097
|
-
/* @__PURE__ */ (0,
|
|
8098
|
-
/* @__PURE__ */ (0,
|
|
8135
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "row justify-end", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "row gap-x-2 mt-1", children: [
|
|
8136
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(SolidButton, { size: "medium", color: "negative", onClick: onRemove, children: translation("clear") }),
|
|
8137
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
8099
8138
|
SolidButton,
|
|
8100
8139
|
{
|
|
8101
8140
|
size: "medium",
|
|
8102
8141
|
onClick: () => onFinish(value),
|
|
8103
|
-
children: translation
|
|
8142
|
+
children: translation("change")
|
|
8104
8143
|
}
|
|
8105
8144
|
)
|
|
8106
8145
|
] }) })
|
|
8107
8146
|
] });
|
|
8108
8147
|
};
|
|
8109
8148
|
|
|
8149
|
+
// src/components/user-action/Menu.tsx
|
|
8150
|
+
var import_react24 = require("react");
|
|
8151
|
+
var import_clsx43 = __toESM(require("clsx"));
|
|
8152
|
+
|
|
8153
|
+
// src/util/PropsWithFunctionChildren.ts
|
|
8154
|
+
var resolve = (children, bag) => {
|
|
8155
|
+
if (typeof children === "function") {
|
|
8156
|
+
return children(bag);
|
|
8157
|
+
}
|
|
8158
|
+
return children ?? void 0;
|
|
8159
|
+
};
|
|
8160
|
+
var BagFunctionUtil = {
|
|
8161
|
+
resolve
|
|
8162
|
+
};
|
|
8163
|
+
|
|
8164
|
+
// src/components/user-action/Menu.tsx
|
|
8165
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
8166
|
+
var MenuItem = ({
|
|
8167
|
+
children,
|
|
8168
|
+
onClick,
|
|
8169
|
+
alignment = "left",
|
|
8170
|
+
isDisabled = false,
|
|
8171
|
+
className
|
|
8172
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
8173
|
+
"div",
|
|
8174
|
+
{
|
|
8175
|
+
className: (0, import_clsx43.default)("block px-3 py-1.5 bg-menu-background first:rounded-t-lg last:rounded-b-lg text-sm font-semibold", {
|
|
8176
|
+
"text-right": alignment === "right",
|
|
8177
|
+
"text-left": alignment === "left",
|
|
8178
|
+
"text-disabled-text cursor-not-allowed": isDisabled,
|
|
8179
|
+
"text-menu-text hover:bg-primary/20": !isDisabled,
|
|
8180
|
+
"cursor-pointer": !!onClick
|
|
8181
|
+
}, className),
|
|
8182
|
+
onClick,
|
|
8183
|
+
children
|
|
8184
|
+
}
|
|
8185
|
+
);
|
|
8186
|
+
var Menu = ({
|
|
8187
|
+
trigger,
|
|
8188
|
+
children,
|
|
8189
|
+
alignment = "tl",
|
|
8190
|
+
showOnHover = false,
|
|
8191
|
+
menuClassName = ""
|
|
8192
|
+
}) => {
|
|
8193
|
+
const { isHovered: isOpen, setIsHovered: setIsOpen, handlers } = useHoverState({ isDisabled: !showOnHover });
|
|
8194
|
+
const triggerRef = (0, import_react24.useRef)(null);
|
|
8195
|
+
const menuRef = (0, import_react24.useRef)(null);
|
|
8196
|
+
useOutsideClick([triggerRef, menuRef], () => setIsOpen(false));
|
|
8197
|
+
const bag = { isOpen, close: () => setIsOpen(false) };
|
|
8198
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
|
|
8199
|
+
"div",
|
|
8200
|
+
{
|
|
8201
|
+
className: "relative",
|
|
8202
|
+
...handlers,
|
|
8203
|
+
children: [
|
|
8204
|
+
trigger(() => setIsOpen(!isOpen), triggerRef),
|
|
8205
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
8206
|
+
"div",
|
|
8207
|
+
{
|
|
8208
|
+
ref: menuRef,
|
|
8209
|
+
onClick: (e) => e.stopPropagation(),
|
|
8210
|
+
className: (0, import_clsx43.default)(
|
|
8211
|
+
"absolute top-full mt-1 min-w-40 rounded-lg bg-menu-background text-menu-text shadow-around-md z-10",
|
|
8212
|
+
{
|
|
8213
|
+
"top-0": alignment[0] === "t",
|
|
8214
|
+
"bottom-0": alignment[0] === "b",
|
|
8215
|
+
"left-0": alignment[1] === "l",
|
|
8216
|
+
"right-0": alignment[1] === "r",
|
|
8217
|
+
"hidden": !isOpen
|
|
8218
|
+
},
|
|
8219
|
+
menuClassName
|
|
8220
|
+
),
|
|
8221
|
+
children: BagFunctionUtil.resolve(children, bag)
|
|
8222
|
+
}
|
|
8223
|
+
)
|
|
8224
|
+
]
|
|
8225
|
+
}
|
|
8226
|
+
);
|
|
8227
|
+
};
|
|
8228
|
+
|
|
8110
8229
|
// src/components/user-action/ScrollPicker.tsx
|
|
8111
|
-
var
|
|
8230
|
+
var import_react25 = require("react");
|
|
8112
8231
|
var import_clsx44 = __toESM(require("clsx"));
|
|
8113
8232
|
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
8114
8233
|
var up = 1;
|
|
@@ -8129,7 +8248,7 @@ var ScrollPicker = ({
|
|
|
8129
8248
|
transition,
|
|
8130
8249
|
items,
|
|
8131
8250
|
lastTimeStamp
|
|
8132
|
-
}, setAnimation] = (0,
|
|
8251
|
+
}, setAnimation] = (0, import_react25.useState)({
|
|
8133
8252
|
targetIndex: selectedIndex,
|
|
8134
8253
|
currentIndex: disabled ? selectedIndex : 0,
|
|
8135
8254
|
velocity: 0,
|
|
@@ -8145,7 +8264,7 @@ var ScrollPicker = ({
|
|
|
8145
8264
|
const itemHeight = 40;
|
|
8146
8265
|
const distance = 8;
|
|
8147
8266
|
const containerHeight = itemHeight * (itemsShownCount - 2) + distance * (itemsShownCount - 2 + 1);
|
|
8148
|
-
const getDirection = (0,
|
|
8267
|
+
const getDirection = (0, import_react25.useCallback)((targetIndex, currentIndex2, transition2, length) => {
|
|
8149
8268
|
if (targetIndex === currentIndex2) {
|
|
8150
8269
|
return transition2 > 0 ? up : down;
|
|
8151
8270
|
}
|
|
@@ -8155,7 +8274,7 @@ var ScrollPicker = ({
|
|
|
8155
8274
|
}
|
|
8156
8275
|
return distanceForward >= length / 2 ? down : up;
|
|
8157
8276
|
}, []);
|
|
8158
|
-
const animate = (0,
|
|
8277
|
+
const animate = (0, import_react25.useCallback)((timestamp, startTime) => {
|
|
8159
8278
|
setAnimation((prevState) => {
|
|
8160
8279
|
const {
|
|
8161
8280
|
targetIndex,
|
|
@@ -8228,7 +8347,7 @@ var ScrollPicker = ({
|
|
|
8228
8347
|
};
|
|
8229
8348
|
});
|
|
8230
8349
|
}, [disabled, getDirection, onChange]);
|
|
8231
|
-
(0,
|
|
8350
|
+
(0, import_react25.useEffect)(() => {
|
|
8232
8351
|
requestAnimationFrame((timestamp) => animate(timestamp, lastTimeStamp));
|
|
8233
8352
|
});
|
|
8234
8353
|
const opacity = (transition2, index, itemsCount) => {
|
|
@@ -8305,8 +8424,8 @@ var ScrollPicker = ({
|
|
|
8305
8424
|
};
|
|
8306
8425
|
|
|
8307
8426
|
// src/components/user-action/ToggleableInput.tsx
|
|
8308
|
-
var
|
|
8309
|
-
var
|
|
8427
|
+
var import_react26 = require("react");
|
|
8428
|
+
var import_lucide_react22 = require("lucide-react");
|
|
8310
8429
|
var import_clsx45 = __toESM(require("clsx"));
|
|
8311
8430
|
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
8312
8431
|
var ToggleableInput = ({
|
|
@@ -8322,14 +8441,14 @@ var ToggleableInput = ({
|
|
|
8322
8441
|
onBlur,
|
|
8323
8442
|
...restProps
|
|
8324
8443
|
}) => {
|
|
8325
|
-
const [isEditing, setIsEditing] = (0,
|
|
8444
|
+
const [isEditing, setIsEditing] = (0, import_react26.useState)(initialState !== "display");
|
|
8326
8445
|
const { restartTimer, clearUpdateTimer } = useSaveDelay(() => void 0, 3e3);
|
|
8327
|
-
const ref = (0,
|
|
8446
|
+
const ref = (0, import_react26.useRef)(null);
|
|
8328
8447
|
const onEditCompletedWrapper = (text) => {
|
|
8329
8448
|
onEditCompleted(text);
|
|
8330
8449
|
clearUpdateTimer();
|
|
8331
8450
|
};
|
|
8332
|
-
(0,
|
|
8451
|
+
(0, import_react26.useEffect)(() => {
|
|
8333
8452
|
if (isEditing) {
|
|
8334
8453
|
ref.current?.focus();
|
|
8335
8454
|
}
|
|
@@ -8376,7 +8495,7 @@ var ToggleableInput = ({
|
|
|
8376
8495
|
}
|
|
8377
8496
|
) : /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: (0, import_clsx45.default)("max-w-xs break-words overflow-hidden", labelClassName), children: value }) }),
|
|
8378
8497
|
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
8379
|
-
|
|
8498
|
+
import_lucide_react22.Pencil,
|
|
8380
8499
|
{
|
|
8381
8500
|
className: (0, import_clsx45.default)(`cursor-pointer`, { "text-transparent": isEditing }),
|
|
8382
8501
|
size,
|
|
@@ -8394,8 +8513,8 @@ var ToggleableInputUncontrolled = ({
|
|
|
8394
8513
|
onChangeText = noop,
|
|
8395
8514
|
...restProps
|
|
8396
8515
|
}) => {
|
|
8397
|
-
const [value, setValue] = (0,
|
|
8398
|
-
(0,
|
|
8516
|
+
const [value, setValue] = (0, import_react26.useState)(initialValue);
|
|
8517
|
+
(0, import_react26.useEffect)(() => {
|
|
8399
8518
|
setValue(initialValue);
|
|
8400
8519
|
}, [initialValue]);
|
|
8401
8520
|
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
@@ -8456,6 +8575,7 @@ var filterNews = (localizedNews, requiredKeys) => {
|
|
|
8456
8575
|
ArrayUtil,
|
|
8457
8576
|
Avatar,
|
|
8458
8577
|
AvatarGroup,
|
|
8578
|
+
BagFunctionUtil,
|
|
8459
8579
|
BreadCrumb,
|
|
8460
8580
|
ButtonColorUtil,
|
|
8461
8581
|
ButtonUtil,
|
|
@@ -8506,6 +8626,7 @@ var filterNews = (localizedNews, requiredKeys) => {
|
|
|
8506
8626
|
MultiSearchWithMapping,
|
|
8507
8627
|
MultiSelect,
|
|
8508
8628
|
MultiSelectProperty,
|
|
8629
|
+
MultiSelectUncontrolled,
|
|
8509
8630
|
MultiSubjectSearchWithMapping,
|
|
8510
8631
|
NumberProperty,
|
|
8511
8632
|
OutlineButton,
|
|
@@ -8519,7 +8640,6 @@ var filterNews = (localizedNews, requiredKeys) => {
|
|
|
8519
8640
|
RingWave,
|
|
8520
8641
|
ScrollPicker,
|
|
8521
8642
|
SearchableList,
|
|
8522
|
-
SearchableSelect,
|
|
8523
8643
|
Select,
|
|
8524
8644
|
SelectUncontrolled,
|
|
8525
8645
|
SessionStorageService,
|
|
@@ -8567,6 +8687,7 @@ var filterNews = (localizedNews, requiredKeys) => {
|
|
|
8567
8687
|
equalDate,
|
|
8568
8688
|
equalSizeGroups,
|
|
8569
8689
|
filterNews,
|
|
8690
|
+
formTranslation,
|
|
8570
8691
|
formatDate,
|
|
8571
8692
|
formatDateTime,
|
|
8572
8693
|
generateShadingColors,
|
|
@@ -8577,6 +8698,7 @@ var filterNews = (localizedNews, requiredKeys) => {
|
|
|
8577
8698
|
isDataObjectSelected,
|
|
8578
8699
|
isInTimeSpan,
|
|
8579
8700
|
localizedNewsSchema,
|
|
8701
|
+
monthTranslation,
|
|
8580
8702
|
monthsList,
|
|
8581
8703
|
newsListSchema,
|
|
8582
8704
|
newsSchema,
|
|
@@ -8586,6 +8708,7 @@ var filterNews = (localizedNews, requiredKeys) => {
|
|
|
8586
8708
|
removeFromTableSelection,
|
|
8587
8709
|
shadingColorValues,
|
|
8588
8710
|
subtractDuration,
|
|
8711
|
+
timeTranslation,
|
|
8589
8712
|
updatePagination,
|
|
8590
8713
|
useHoverState,
|
|
8591
8714
|
useLanguage,
|
|
@@ -8593,6 +8716,7 @@ var filterNews = (localizedNews, requiredKeys) => {
|
|
|
8593
8716
|
useLocale,
|
|
8594
8717
|
useOutsideClick,
|
|
8595
8718
|
useSaveDelay,
|
|
8719
|
+
useSearch,
|
|
8596
8720
|
useTheme,
|
|
8597
8721
|
useTranslation,
|
|
8598
8722
|
validateEmail,
|