@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
|
@@ -36,22 +36,44 @@ var import_clsx3 = __toESM(require("clsx"));
|
|
|
36
36
|
|
|
37
37
|
// src/components/layout-and-navigation/Tile.tsx
|
|
38
38
|
var import_clsx = __toESM(require("clsx"));
|
|
39
|
+
var import_lucide_react = require("lucide-react");
|
|
39
40
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
40
41
|
var Tile = ({
|
|
41
42
|
title,
|
|
42
43
|
description,
|
|
44
|
+
onClick,
|
|
45
|
+
isSelected = false,
|
|
46
|
+
isDisabled = false,
|
|
43
47
|
prefix,
|
|
44
48
|
suffix,
|
|
49
|
+
normalClassName = "hover:bg-primary/40 cursor-pointer",
|
|
50
|
+
selectedClassName = " bg-primary/20",
|
|
51
|
+
disabledClassName = "text-disabled-text bg-disabled-background cursor-not-allowed",
|
|
45
52
|
className
|
|
46
53
|
}) => {
|
|
47
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
54
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
55
|
+
"div",
|
|
56
|
+
{
|
|
57
|
+
className: (0, import_clsx.default)(
|
|
58
|
+
"row gap-x-2 w-full items-center",
|
|
59
|
+
{
|
|
60
|
+
[normalClassName]: !!onClick && !isDisabled,
|
|
61
|
+
[selectedClassName]: isSelected && !isDisabled,
|
|
62
|
+
[disabledClassName]: isDisabled
|
|
63
|
+
},
|
|
64
|
+
className
|
|
65
|
+
),
|
|
66
|
+
onClick: isDisabled ? void 0 : onClick,
|
|
67
|
+
children: [
|
|
68
|
+
prefix ?? (isSelected ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Check, { size: 24 }) : void 0),
|
|
69
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "col gap-y-0 w-full", children: [
|
|
70
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h4", { className: (0, import_clsx.default)(title.className ?? "textstyle-title-normal"), children: title.value }),
|
|
71
|
+
!!description && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: (0, import_clsx.default)(description.className ?? "textstyle-description"), children: description.value })
|
|
72
|
+
] }),
|
|
73
|
+
suffix
|
|
74
|
+
]
|
|
75
|
+
}
|
|
76
|
+
);
|
|
55
77
|
};
|
|
56
78
|
|
|
57
79
|
// src/components/icons-and-geometry/Helpwave.tsx
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/branding/HelpwaveBadge.tsx","../../../src/components/layout-and-navigation/Tile.tsx","../../../src/components/icons-and-geometry/Helpwave.tsx"],"sourcesContent":["import clsx from 'clsx'\nimport { Tile } from '../layout-and-navigation/Tile'\nimport { Helpwave } from '../icons-and-geometry/Helpwave'\n\ntype Size = 'small' | 'large'\n\nexport type HelpwaveBadgeProps = {\n size?: Size,\n title?: string,\n className?: string,\n}\n\n/**\n * A Badge with the helpwave logo and the helpwave name\n */\nexport const HelpwaveBadge = ({\n size = 'small',\n title = 'helpwave',\n className = ''\n }: HelpwaveBadgeProps) => {\n const iconSize: number = size === 'small' ? 24 : 64\n\n return (\n <Tile\n prefix={(<Helpwave size={iconSize}/>)}\n title={{ value: title, className: size === 'small' ? 'textstyle-title-lg text-base' : 'textstyle-title-xl' }}\n className={clsx(\n {\n 'px-2 py-1 rounded-md': size === 'small',\n 'px-4 py-1 rounded-md': size === 'large',\n }, className\n )}\n />\n )\n}\n","import type { ReactNode } from 'react'\nimport clsx from 'clsx'\n\nexport type TileProps = {\n title: { value:
|
|
1
|
+
{"version":3,"sources":["../../../src/components/branding/HelpwaveBadge.tsx","../../../src/components/layout-and-navigation/Tile.tsx","../../../src/components/icons-and-geometry/Helpwave.tsx"],"sourcesContent":["import clsx from 'clsx'\nimport { Tile } from '../layout-and-navigation/Tile'\nimport { Helpwave } from '../icons-and-geometry/Helpwave'\n\ntype Size = 'small' | 'large'\n\nexport type HelpwaveBadgeProps = {\n size?: Size,\n title?: string,\n className?: string,\n}\n\n/**\n * A Badge with the helpwave logo and the helpwave name\n */\nexport const HelpwaveBadge = ({\n size = 'small',\n title = 'helpwave',\n className = ''\n }: HelpwaveBadgeProps) => {\n const iconSize: number = size === 'small' ? 24 : 64\n\n return (\n <Tile\n prefix={(<Helpwave size={iconSize}/>)}\n title={{ value: title, className: size === 'small' ? 'textstyle-title-lg text-base' : 'textstyle-title-xl' }}\n className={clsx(\n {\n 'px-2 py-1 rounded-md': size === 'small',\n 'px-4 py-1 rounded-md': size === 'large',\n }, className\n )}\n />\n )\n}\n","import type { ReactNode } from 'react'\nimport clsx from 'clsx'\nimport { Check } from 'lucide-react'\n\nexport type TileProps = {\n title: { value: ReactNode, className?: string },\n description?: { value: ReactNode, className?: string },\n onClick?: () => void,\n isDisabled?: boolean,\n isSelected?: boolean,\n prefix?: ReactNode,\n suffix?: ReactNode,\n className?: string,\n normalClassName?: string,\n selectedClassName?: string,\n disabledClassName?: string,\n}\n\n/**\n * A component for creating a tile similar to the flutter ListTile\n */\nexport const Tile = ({\n title,\n description,\n onClick,\n isSelected = false,\n isDisabled = false,\n prefix,\n suffix,\n normalClassName = 'hover:bg-primary/40 cursor-pointer',\n selectedClassName = ' bg-primary/20',\n disabledClassName = 'text-disabled-text bg-disabled-background cursor-not-allowed',\n className\n }: TileProps) => {\n return (\n <div\n className={clsx(\n 'row gap-x-2 w-full items-center',\n {\n [normalClassName]: !!onClick && !isDisabled,\n [selectedClassName]: isSelected && !isDisabled,\n [disabledClassName]: isDisabled,\n },\n className\n )}\n onClick={isDisabled ? undefined : onClick}\n >\n {prefix ?? (isSelected ? (<Check size={24}/>) : undefined)}\n <div className=\"col gap-y-0 w-full\">\n <h4 className={clsx(title.className ?? 'textstyle-title-normal')}>{title.value}</h4>\n {!!description &&\n <span className={clsx(description.className ?? 'textstyle-description')}>{description.value}</span>}\n </div>\n {suffix}\n </div>\n )\n}\n","import type { SVGProps } from 'react'\nimport { clsx } from 'clsx'\n\nexport type HelpwaveProps = SVGProps<SVGSVGElement> & {\n color?: string,\n animate?: 'none' | 'loading' | 'pulse' | 'bounce',\n size?: number,\n}\n\n/**\n * The helpwave loading spinner based on the svg logo.\n */\nexport const Helpwave = ({\n color = 'currentColor',\n animate = 'none',\n size = 64,\n ...props\n }: HelpwaveProps) => {\n const isLoadingAnimation = animate === 'loading'\n let svgAnimationKey = ''\n\n if (animate === 'pulse') {\n svgAnimationKey = 'animate-pulse'\n } else if (animate === 'bounce') {\n svgAnimationKey = 'animate-bounce'\n }\n\n if (size < 0) {\n console.error('size cannot be less than 0')\n size = 64\n }\n\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 888 888\"\n fill=\"none\"\n strokeLinecap=\"round\"\n strokeWidth={48}\n {...props}\n >\n <g className={clsx(svgAnimationKey)}>\n <path className={clsx({ 'animate-wave-big-left-up': isLoadingAnimation })}\n d=\"M144 543.235C144 423.259 232.164 326 340.92 326\" stroke={color} strokeDasharray=\"1000\"/>\n <path className={clsx({ 'animate-wave-big-right-down': isLoadingAnimation })}\n d=\"M537.84 544.104C429.084 544.104 340.92 446.844 340.92 326.869\" stroke={color} strokeDasharray=\"1000\"/>\n <path className={clsx({ 'animate-wave-small-left-up': isLoadingAnimation })}\n d=\"M462.223 518.035C462.223 432.133 525.348 362.495 603.217 362.495\" stroke={color}\n strokeDasharray=\"1000\"/>\n <path className={clsx({ 'animate-wave-small-right-down': isLoadingAnimation })}\n d=\"M745.001 519.773C666.696 519.773 603.218 450.136 603.218 364.233\" stroke={color}\n strokeDasharray=\"1000\"/>\n </g>\n </svg>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,eAAiB;;;ACCjB,kBAAiB;AACjB,0BAAsB;AA6CU;AA1BzB,IAAM,OAAO,CAAC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb,aAAa;AAAA,EACb;AAAA,EACA;AAAA,EACA,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB;AACF,MAAiB;AACpC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAW,YAAAC;AAAA,QACT;AAAA,QACA;AAAA,UACE,CAAC,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC;AAAA,UACjC,CAAC,iBAAiB,GAAG,cAAc,CAAC;AAAA,UACpC,CAAC,iBAAiB,GAAG;AAAA,QACvB;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS,aAAa,SAAY;AAAA,MAEjC;AAAA,mBAAW,aAAc,4CAAC,6BAAM,MAAM,IAAG,IAAM;AAAA,QAChD,6CAAC,SAAI,WAAU,sBACb;AAAA,sDAAC,QAAG,eAAW,YAAAA,SAAK,MAAM,aAAa,wBAAwB,GAAI,gBAAM,OAAM;AAAA,UAC9E,CAAC,CAAC,eACD,4CAAC,UAAK,eAAW,YAAAA,SAAK,YAAY,aAAa,uBAAuB,GAAI,sBAAY,OAAM;AAAA,WAChG;AAAA,QACC;AAAA;AAAA;AAAA,EACH;AAEJ;;;ACvDA,IAAAC,eAAqB;AAyCf,IAAAC,sBAAA;AA9BC,IAAM,WAAW,CAAC;AAAA,EACE,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,OAAO;AAAA,EACP,GAAG;AACL,MAAqB;AAC5C,QAAM,qBAAqB,YAAY;AACvC,MAAI,kBAAkB;AAEtB,MAAI,YAAY,SAAS;AACvB,sBAAkB;AAAA,EACpB,WAAW,YAAY,UAAU;AAC/B,sBAAkB;AAAA,EACpB;AAEA,MAAI,OAAO,GAAG;AACZ,YAAQ,MAAM,4BAA4B;AAC1C,WAAO;AAAA,EACT;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,eAAc;AAAA,MACd,aAAa;AAAA,MACZ,GAAG;AAAA,MAEJ,wDAAC,OAAE,eAAW,mBAAK,eAAe,GAChC;AAAA;AAAA,UAAC;AAAA;AAAA,YAAK,eAAW,mBAAK,EAAE,4BAA4B,mBAAmB,CAAC;AAAA,YAClE,GAAE;AAAA,YAAkD,QAAQ;AAAA,YAAO,iBAAgB;AAAA;AAAA,QAAM;AAAA,QAC/F;AAAA,UAAC;AAAA;AAAA,YAAK,eAAW,mBAAK,EAAE,+BAA+B,mBAAmB,CAAC;AAAA,YACrE,GAAE;AAAA,YAAgE,QAAQ;AAAA,YAAO,iBAAgB;AAAA;AAAA,QAAM;AAAA,QAC7G;AAAA,UAAC;AAAA;AAAA,YAAK,eAAW,mBAAK,EAAE,8BAA8B,mBAAmB,CAAC;AAAA,YACpE,GAAE;AAAA,YAAmE,QAAQ;AAAA,YAC7E,iBAAgB;AAAA;AAAA,QAAM;AAAA,QAC5B;AAAA,UAAC;AAAA;AAAA,YAAK,eAAW,mBAAK,EAAE,iCAAiC,mBAAmB,CAAC;AAAA,YACvE,GAAE;AAAA,YAAmE,QAAQ;AAAA,YAC7E,iBAAgB;AAAA;AAAA,QAAM;AAAA,SAC9B;AAAA;AAAA,EACF;AAEJ;;;AFhCe,IAAAC,sBAAA;AATR,IAAM,gBAAgB,CAAC;AAAA,EACE,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,YAAY;AACd,MAA0B;AACtD,QAAM,WAAmB,SAAS,UAAU,KAAK;AAEjD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,QAAS,6CAAC,YAAS,MAAM,UAAS;AAAA,MAClC,OAAO,EAAE,OAAO,OAAO,WAAW,SAAS,UAAU,iCAAiC,qBAAqB;AAAA,MAC3G,eAAW,aAAAC;AAAA,QACT;AAAA,UACE,wBAAwB,SAAS;AAAA,UACjC,wBAAwB,SAAS;AAAA,QACnC;AAAA,QAAG;AAAA,MACL;AAAA;AAAA,EACF;AAEJ;","names":["import_clsx","clsx","import_clsx","import_jsx_runtime","import_jsx_runtime","clsx"]}
|
|
@@ -3,22 +3,44 @@ import clsx3 from "clsx";
|
|
|
3
3
|
|
|
4
4
|
// src/components/layout-and-navigation/Tile.tsx
|
|
5
5
|
import clsx from "clsx";
|
|
6
|
+
import { Check } from "lucide-react";
|
|
6
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
8
|
var Tile = ({
|
|
8
9
|
title,
|
|
9
10
|
description,
|
|
11
|
+
onClick,
|
|
12
|
+
isSelected = false,
|
|
13
|
+
isDisabled = false,
|
|
10
14
|
prefix,
|
|
11
15
|
suffix,
|
|
16
|
+
normalClassName = "hover:bg-primary/40 cursor-pointer",
|
|
17
|
+
selectedClassName = " bg-primary/20",
|
|
18
|
+
disabledClassName = "text-disabled-text bg-disabled-background cursor-not-allowed",
|
|
12
19
|
className
|
|
13
20
|
}) => {
|
|
14
|
-
return /* @__PURE__ */ jsxs(
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
return /* @__PURE__ */ jsxs(
|
|
22
|
+
"div",
|
|
23
|
+
{
|
|
24
|
+
className: clsx(
|
|
25
|
+
"row gap-x-2 w-full items-center",
|
|
26
|
+
{
|
|
27
|
+
[normalClassName]: !!onClick && !isDisabled,
|
|
28
|
+
[selectedClassName]: isSelected && !isDisabled,
|
|
29
|
+
[disabledClassName]: isDisabled
|
|
30
|
+
},
|
|
31
|
+
className
|
|
32
|
+
),
|
|
33
|
+
onClick: isDisabled ? void 0 : onClick,
|
|
34
|
+
children: [
|
|
35
|
+
prefix ?? (isSelected ? /* @__PURE__ */ jsx(Check, { size: 24 }) : void 0),
|
|
36
|
+
/* @__PURE__ */ jsxs("div", { className: "col gap-y-0 w-full", children: [
|
|
37
|
+
/* @__PURE__ */ jsx("h4", { className: clsx(title.className ?? "textstyle-title-normal"), children: title.value }),
|
|
38
|
+
!!description && /* @__PURE__ */ jsx("span", { className: clsx(description.className ?? "textstyle-description"), children: description.value })
|
|
39
|
+
] }),
|
|
40
|
+
suffix
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
);
|
|
22
44
|
};
|
|
23
45
|
|
|
24
46
|
// src/components/icons-and-geometry/Helpwave.tsx
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/branding/HelpwaveBadge.tsx","../../../src/components/layout-and-navigation/Tile.tsx","../../../src/components/icons-and-geometry/Helpwave.tsx"],"sourcesContent":["import clsx from 'clsx'\nimport { Tile } from '../layout-and-navigation/Tile'\nimport { Helpwave } from '../icons-and-geometry/Helpwave'\n\ntype Size = 'small' | 'large'\n\nexport type HelpwaveBadgeProps = {\n size?: Size,\n title?: string,\n className?: string,\n}\n\n/**\n * A Badge with the helpwave logo and the helpwave name\n */\nexport const HelpwaveBadge = ({\n size = 'small',\n title = 'helpwave',\n className = ''\n }: HelpwaveBadgeProps) => {\n const iconSize: number = size === 'small' ? 24 : 64\n\n return (\n <Tile\n prefix={(<Helpwave size={iconSize}/>)}\n title={{ value: title, className: size === 'small' ? 'textstyle-title-lg text-base' : 'textstyle-title-xl' }}\n className={clsx(\n {\n 'px-2 py-1 rounded-md': size === 'small',\n 'px-4 py-1 rounded-md': size === 'large',\n }, className\n )}\n />\n )\n}\n","import type { ReactNode } from 'react'\nimport clsx from 'clsx'\n\nexport type TileProps = {\n title: { value:
|
|
1
|
+
{"version":3,"sources":["../../../src/components/branding/HelpwaveBadge.tsx","../../../src/components/layout-and-navigation/Tile.tsx","../../../src/components/icons-and-geometry/Helpwave.tsx"],"sourcesContent":["import clsx from 'clsx'\nimport { Tile } from '../layout-and-navigation/Tile'\nimport { Helpwave } from '../icons-and-geometry/Helpwave'\n\ntype Size = 'small' | 'large'\n\nexport type HelpwaveBadgeProps = {\n size?: Size,\n title?: string,\n className?: string,\n}\n\n/**\n * A Badge with the helpwave logo and the helpwave name\n */\nexport const HelpwaveBadge = ({\n size = 'small',\n title = 'helpwave',\n className = ''\n }: HelpwaveBadgeProps) => {\n const iconSize: number = size === 'small' ? 24 : 64\n\n return (\n <Tile\n prefix={(<Helpwave size={iconSize}/>)}\n title={{ value: title, className: size === 'small' ? 'textstyle-title-lg text-base' : 'textstyle-title-xl' }}\n className={clsx(\n {\n 'px-2 py-1 rounded-md': size === 'small',\n 'px-4 py-1 rounded-md': size === 'large',\n }, className\n )}\n />\n )\n}\n","import type { ReactNode } from 'react'\nimport clsx from 'clsx'\nimport { Check } from 'lucide-react'\n\nexport type TileProps = {\n title: { value: ReactNode, className?: string },\n description?: { value: ReactNode, className?: string },\n onClick?: () => void,\n isDisabled?: boolean,\n isSelected?: boolean,\n prefix?: ReactNode,\n suffix?: ReactNode,\n className?: string,\n normalClassName?: string,\n selectedClassName?: string,\n disabledClassName?: string,\n}\n\n/**\n * A component for creating a tile similar to the flutter ListTile\n */\nexport const Tile = ({\n title,\n description,\n onClick,\n isSelected = false,\n isDisabled = false,\n prefix,\n suffix,\n normalClassName = 'hover:bg-primary/40 cursor-pointer',\n selectedClassName = ' bg-primary/20',\n disabledClassName = 'text-disabled-text bg-disabled-background cursor-not-allowed',\n className\n }: TileProps) => {\n return (\n <div\n className={clsx(\n 'row gap-x-2 w-full items-center',\n {\n [normalClassName]: !!onClick && !isDisabled,\n [selectedClassName]: isSelected && !isDisabled,\n [disabledClassName]: isDisabled,\n },\n className\n )}\n onClick={isDisabled ? undefined : onClick}\n >\n {prefix ?? (isSelected ? (<Check size={24}/>) : undefined)}\n <div className=\"col gap-y-0 w-full\">\n <h4 className={clsx(title.className ?? 'textstyle-title-normal')}>{title.value}</h4>\n {!!description &&\n <span className={clsx(description.className ?? 'textstyle-description')}>{description.value}</span>}\n </div>\n {suffix}\n </div>\n )\n}\n","import type { SVGProps } from 'react'\nimport { clsx } from 'clsx'\n\nexport type HelpwaveProps = SVGProps<SVGSVGElement> & {\n color?: string,\n animate?: 'none' | 'loading' | 'pulse' | 'bounce',\n size?: number,\n}\n\n/**\n * The helpwave loading spinner based on the svg logo.\n */\nexport const Helpwave = ({\n color = 'currentColor',\n animate = 'none',\n size = 64,\n ...props\n }: HelpwaveProps) => {\n const isLoadingAnimation = animate === 'loading'\n let svgAnimationKey = ''\n\n if (animate === 'pulse') {\n svgAnimationKey = 'animate-pulse'\n } else if (animate === 'bounce') {\n svgAnimationKey = 'animate-bounce'\n }\n\n if (size < 0) {\n console.error('size cannot be less than 0')\n size = 64\n }\n\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 888 888\"\n fill=\"none\"\n strokeLinecap=\"round\"\n strokeWidth={48}\n {...props}\n >\n <g className={clsx(svgAnimationKey)}>\n <path className={clsx({ 'animate-wave-big-left-up': isLoadingAnimation })}\n d=\"M144 543.235C144 423.259 232.164 326 340.92 326\" stroke={color} strokeDasharray=\"1000\"/>\n <path className={clsx({ 'animate-wave-big-right-down': isLoadingAnimation })}\n d=\"M537.84 544.104C429.084 544.104 340.92 446.844 340.92 326.869\" stroke={color} strokeDasharray=\"1000\"/>\n <path className={clsx({ 'animate-wave-small-left-up': isLoadingAnimation })}\n d=\"M462.223 518.035C462.223 432.133 525.348 362.495 603.217 362.495\" stroke={color}\n strokeDasharray=\"1000\"/>\n <path className={clsx({ 'animate-wave-small-right-down': isLoadingAnimation })}\n d=\"M745.001 519.773C666.696 519.773 603.218 450.136 603.218 364.233\" stroke={color}\n strokeDasharray=\"1000\"/>\n </g>\n </svg>\n )\n}\n"],"mappings":"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","names":["clsx","clsx","jsx","jsxs","jsx","clsx"]}
|
|
@@ -2,12 +2,11 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
|
2
2
|
import { PropsForTranslation } from '../../localization/useTranslation.mjs';
|
|
3
3
|
import { YearMonthPickerProps } from './YearMonthPicker.mjs';
|
|
4
4
|
import { DayPickerProps } from './DayPicker.mjs';
|
|
5
|
+
import { TimeTranslationType } from '../../localization/defaults/time.mjs';
|
|
5
6
|
import '../../localization/util.mjs';
|
|
6
7
|
import '../../util/date.mjs';
|
|
7
8
|
|
|
8
|
-
type
|
|
9
|
-
today: string;
|
|
10
|
-
};
|
|
9
|
+
type DatePickerTranslationType = TimeTranslationType;
|
|
11
10
|
type DisplayMode = 'yearMonth' | 'day';
|
|
12
11
|
type DatePickerProps = {
|
|
13
12
|
value?: Date;
|
|
@@ -22,7 +21,7 @@ type DatePickerProps = {
|
|
|
22
21
|
/**
|
|
23
22
|
* A Component for picking a date
|
|
24
23
|
*/
|
|
25
|
-
declare const DatePicker: ({ overwriteTranslation, value, start, end, initialDisplay, onChange, yearMonthPickerProps, dayPickerProps, className }: PropsForTranslation<
|
|
24
|
+
declare const DatePicker: ({ overwriteTranslation, value, start, end, initialDisplay, onChange, yearMonthPickerProps, dayPickerProps, className }: PropsForTranslation<DatePickerTranslationType, DatePickerProps>) => react_jsx_runtime.JSX.Element;
|
|
26
25
|
/**
|
|
27
26
|
* Example for the Date Picker
|
|
28
27
|
*/
|
|
@@ -2,12 +2,11 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
|
2
2
|
import { PropsForTranslation } from '../../localization/useTranslation.js';
|
|
3
3
|
import { YearMonthPickerProps } from './YearMonthPicker.js';
|
|
4
4
|
import { DayPickerProps } from './DayPicker.js';
|
|
5
|
+
import { TimeTranslationType } from '../../localization/defaults/time.js';
|
|
5
6
|
import '../../localization/util.js';
|
|
6
7
|
import '../../util/date.js';
|
|
7
8
|
|
|
8
|
-
type
|
|
9
|
-
today: string;
|
|
10
|
-
};
|
|
9
|
+
type DatePickerTranslationType = TimeTranslationType;
|
|
11
10
|
type DisplayMode = 'yearMonth' | 'day';
|
|
12
11
|
type DatePickerProps = {
|
|
13
12
|
value?: Date;
|
|
@@ -22,7 +21,7 @@ type DatePickerProps = {
|
|
|
22
21
|
/**
|
|
23
22
|
* A Component for picking a date
|
|
24
23
|
*/
|
|
25
|
-
declare const DatePicker: ({ overwriteTranslation, value, start, end, initialDisplay, onChange, yearMonthPickerProps, dayPickerProps, className }: PropsForTranslation<
|
|
24
|
+
declare const DatePicker: ({ overwriteTranslation, value, start, end, initialDisplay, onChange, yearMonthPickerProps, dayPickerProps, className }: PropsForTranslation<DatePickerTranslationType, DatePickerProps>) => react_jsx_runtime.JSX.Element;
|
|
26
25
|
/**
|
|
27
26
|
* Example for the Date Picker
|
|
28
27
|
*/
|
|
@@ -72,15 +72,55 @@ var useLocale = (overWriteLanguage) => {
|
|
|
72
72
|
};
|
|
73
73
|
|
|
74
74
|
// src/localization/useTranslation.ts
|
|
75
|
-
var useTranslation = (
|
|
76
|
-
const { language: languageProp, translation: overwrite } =
|
|
75
|
+
var useTranslation = (translations, overwriteTranslation = {}) => {
|
|
76
|
+
const { language: languageProp, translation: overwrite } = overwriteTranslation;
|
|
77
77
|
const { language: inferredLanguage } = useLanguage();
|
|
78
78
|
const usedLanguage = languageProp ?? inferredLanguage;
|
|
79
|
-
|
|
80
|
-
if (overwrite
|
|
81
|
-
|
|
79
|
+
const usedTranslations = [...translations];
|
|
80
|
+
if (overwrite) {
|
|
81
|
+
usedTranslations.push(overwrite);
|
|
82
82
|
}
|
|
83
|
-
return
|
|
83
|
+
return (key, options) => {
|
|
84
|
+
const { count, replacements } = { ...{ count: 0, replacements: {} }, ...options };
|
|
85
|
+
try {
|
|
86
|
+
for (let i = translations.length - 1; i >= 0; i--) {
|
|
87
|
+
const translation = translations[i];
|
|
88
|
+
const localizedTranslation = translation[usedLanguage];
|
|
89
|
+
if (!localizedTranslation) {
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
const value = localizedTranslation[key];
|
|
93
|
+
if (!value) {
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
let forProcessing;
|
|
97
|
+
if (typeof value !== "string") {
|
|
98
|
+
if (count <= 0 && value?.zero) {
|
|
99
|
+
forProcessing = value.zero;
|
|
100
|
+
} else if (count === 1 && value?.one) {
|
|
101
|
+
forProcessing = value.one;
|
|
102
|
+
} else if (count === 2 && value?.two) {
|
|
103
|
+
forProcessing = value.two;
|
|
104
|
+
} else if (count <= 10 && value?.few) {
|
|
105
|
+
forProcessing = value.few;
|
|
106
|
+
} else if (count > 10 && value?.many) {
|
|
107
|
+
forProcessing = value.many;
|
|
108
|
+
} else {
|
|
109
|
+
forProcessing = value.other;
|
|
110
|
+
}
|
|
111
|
+
} else {
|
|
112
|
+
forProcessing = value;
|
|
113
|
+
}
|
|
114
|
+
forProcessing = forProcessing.replace(/\{\{(\w+)}}/g, (_, placeholder) => {
|
|
115
|
+
return replacements[placeholder] ?? `{{${placeholder}}}`;
|
|
116
|
+
});
|
|
117
|
+
return forProcessing;
|
|
118
|
+
}
|
|
119
|
+
} catch (e) {
|
|
120
|
+
console.error(e);
|
|
121
|
+
}
|
|
122
|
+
return `{{${usedLanguage}:${key}}}`;
|
|
123
|
+
};
|
|
84
124
|
};
|
|
85
125
|
|
|
86
126
|
// src/util/noop.ts
|
|
@@ -369,8 +409,9 @@ var Expandable = (0, import_react3.forwardRef)(function Expandable2({
|
|
|
369
409
|
onChange = noop,
|
|
370
410
|
clickOnlyOnHeader = true,
|
|
371
411
|
disabled = false,
|
|
372
|
-
className
|
|
373
|
-
headerClassName
|
|
412
|
+
className,
|
|
413
|
+
headerClassName,
|
|
414
|
+
contentClassName
|
|
374
415
|
}, ref) {
|
|
375
416
|
icon ??= DefaultIcon;
|
|
376
417
|
return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
|
|
@@ -399,7 +440,7 @@ var Expandable = (0, import_react3.forwardRef)(function Expandable2({
|
|
|
399
440
|
]
|
|
400
441
|
}
|
|
401
442
|
),
|
|
402
|
-
isExpanded && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "col px-4 pb-2", children })
|
|
443
|
+
isExpanded && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: (0, import_clsx2.default)("col px-4 pb-2", contentClassName), children })
|
|
403
444
|
]
|
|
404
445
|
}
|
|
405
446
|
);
|
|
@@ -464,7 +505,8 @@ var YearMonthPicker = ({
|
|
|
464
505
|
ref: (displayedYearMonth.getFullYear() ?? (/* @__PURE__ */ new Date()).getFullYear()) === year ? ref : void 0,
|
|
465
506
|
label: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: (0, import_clsx3.default)({ "text-primary font-bold": selectedYear }), children: year }),
|
|
466
507
|
isExpanded: showValueOpen && selectedYear,
|
|
467
|
-
|
|
508
|
+
contentClassName: "gap-y-1",
|
|
509
|
+
children: equalSizeGroups([...monthsList], 3).map((monthList, index) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "row gap-x-1", children: monthList.map((month) => {
|
|
468
510
|
const monthIndex = monthsList.indexOf(month);
|
|
469
511
|
const newDate = new Date(year, monthIndex);
|
|
470
512
|
const selectedMonth = selectedYear && monthIndex === displayedYearMonth.getMonth();
|
|
@@ -474,17 +516,12 @@ var YearMonthPicker = ({
|
|
|
474
516
|
const isBeforeEnd = end === void 0 || firstOfMonth <= end;
|
|
475
517
|
const isValid = isAfterStart && isBeforeEnd;
|
|
476
518
|
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
477
|
-
|
|
519
|
+
SolidButton,
|
|
478
520
|
{
|
|
479
521
|
disabled: !isValid,
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
"bg-gray-50 text-black": !selectedMonth && isValid,
|
|
484
|
-
"bg-primary text-on-primary": selectedMonth && isValid,
|
|
485
|
-
"bg-disabled-background text-disabled-text": !isValid
|
|
486
|
-
}
|
|
487
|
-
),
|
|
522
|
+
color: selectedMonth && isValid ? "primary" : "neutral",
|
|
523
|
+
className: "flex-1",
|
|
524
|
+
size: "small",
|
|
488
525
|
onClick: () => {
|
|
489
526
|
onChange(newDate);
|
|
490
527
|
},
|
|
@@ -528,14 +565,15 @@ var DayPicker = ({
|
|
|
528
565
|
{
|
|
529
566
|
disabled: !isDayValid,
|
|
530
567
|
className: (0, import_clsx4.default)(
|
|
531
|
-
"flex-1 rounded-full border-2
|
|
568
|
+
"flex-1 rounded-full border-2",
|
|
532
569
|
{
|
|
533
|
-
"text-
|
|
534
|
-
"text-
|
|
535
|
-
"text-
|
|
536
|
-
"
|
|
537
|
-
"
|
|
538
|
-
"
|
|
570
|
+
"text-description": !isSameMonth && !isSelected && isDayValid,
|
|
571
|
+
"text-button-solid-neutral-text bg-button-solid-neutral-background": !isSelected && isSameMonth && isDayValid,
|
|
572
|
+
"text-button-solid-primary-text bg-button-solid-primary-background": isSelected && isDayValid,
|
|
573
|
+
"hover:brightness-90 hover:bg-button-solid-primary-background hover:text-button-solid-primary-text": isDayValid,
|
|
574
|
+
"text-disabled-text bg-disabled-background cursor-not-allowed": !isDayValid,
|
|
575
|
+
"border-secondary": isToday && markToday,
|
|
576
|
+
"border-transparent": !isToday || !markToday
|
|
539
577
|
}
|
|
540
578
|
),
|
|
541
579
|
onClick: () => onChange(date),
|
|
@@ -547,16 +585,80 @@ var DayPicker = ({
|
|
|
547
585
|
] });
|
|
548
586
|
};
|
|
549
587
|
|
|
550
|
-
// src/
|
|
551
|
-
var
|
|
552
|
-
|
|
588
|
+
// src/localization/defaults/time.ts
|
|
589
|
+
var monthTranslation = {
|
|
590
|
+
en: {
|
|
591
|
+
january: "January",
|
|
592
|
+
february: "Febuary",
|
|
593
|
+
march: "March",
|
|
594
|
+
april: "April",
|
|
595
|
+
may: "May",
|
|
596
|
+
june: "June",
|
|
597
|
+
july: "July",
|
|
598
|
+
august: "August",
|
|
599
|
+
september: "September",
|
|
600
|
+
october: "October",
|
|
601
|
+
november: "November",
|
|
602
|
+
december: "December"
|
|
603
|
+
},
|
|
604
|
+
de: {
|
|
605
|
+
january: "Januar",
|
|
606
|
+
february: "Febuar",
|
|
607
|
+
march: "M\xE4rz",
|
|
608
|
+
april: "April",
|
|
609
|
+
may: "Mai",
|
|
610
|
+
june: "Juni",
|
|
611
|
+
july: "Juli",
|
|
612
|
+
august: "August",
|
|
613
|
+
september: "September",
|
|
614
|
+
october: "October",
|
|
615
|
+
november: "November",
|
|
616
|
+
december: "December"
|
|
617
|
+
}
|
|
618
|
+
};
|
|
619
|
+
var timeTranslation = {
|
|
553
620
|
en: {
|
|
554
|
-
|
|
621
|
+
...monthTranslation.en,
|
|
622
|
+
century: { one: "Century", other: "Centuries" },
|
|
623
|
+
decade: { one: "Decade", other: "Decades" },
|
|
624
|
+
year: { one: "Year", other: "Years" },
|
|
625
|
+
month: { one: "Month", other: "Months" },
|
|
626
|
+
day: { one: "Day", other: "Days" },
|
|
627
|
+
hour: { one: "Hour", other: "Hours" },
|
|
628
|
+
minute: { one: "Minute", other: "Minutes" },
|
|
629
|
+
second: { one: "Second", other: "Seconds" },
|
|
630
|
+
millisecond: { one: "Millisecond", other: "Milliseconds" },
|
|
631
|
+
microsecond: { one: "Microsecond", other: "Microseconds" },
|
|
632
|
+
nanosecond: { one: "Nanosecond", other: "Nanoseconds" },
|
|
633
|
+
yesterday: "Yesterday",
|
|
634
|
+
today: "Today",
|
|
635
|
+
tomorrow: "Tomorrow",
|
|
636
|
+
in: "in",
|
|
637
|
+
ago: "ago"
|
|
555
638
|
},
|
|
556
639
|
de: {
|
|
557
|
-
|
|
640
|
+
...monthTranslation.de,
|
|
641
|
+
century: { one: "Jahrhundert", other: "Jahrhunderte" },
|
|
642
|
+
decade: { one: "Jahrzehnt", other: "Jahrzehnte" },
|
|
643
|
+
year: { one: "Jahr", other: "Jahre" },
|
|
644
|
+
month: { one: "Monat", other: "Monate" },
|
|
645
|
+
day: { one: "Tag", other: "Tage" },
|
|
646
|
+
hour: { one: "Stunde", other: "Stunden" },
|
|
647
|
+
minute: { one: "Minute", other: "Minuten" },
|
|
648
|
+
second: { one: "Sekunde", other: "Sekunden" },
|
|
649
|
+
millisecond: { one: "Millisekunde", other: "Millisekunden" },
|
|
650
|
+
microsecond: { one: "Mikrosekunde", other: "Mikrosekunden" },
|
|
651
|
+
nanosecond: { one: "Nanosekunde", other: "Nanosekunden" },
|
|
652
|
+
yesterday: "Gestern",
|
|
653
|
+
today: "Heute",
|
|
654
|
+
tomorrow: "Morgen",
|
|
655
|
+
in: "in",
|
|
656
|
+
ago: "vor"
|
|
558
657
|
}
|
|
559
658
|
};
|
|
659
|
+
|
|
660
|
+
// src/components/date/DatePicker.tsx
|
|
661
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
560
662
|
var DatePicker = ({
|
|
561
663
|
overwriteTranslation,
|
|
562
664
|
value = /* @__PURE__ */ new Date(),
|
|
@@ -569,7 +671,7 @@ var DatePicker = ({
|
|
|
569
671
|
className = ""
|
|
570
672
|
}) => {
|
|
571
673
|
const locale = useLocale();
|
|
572
|
-
const translation = useTranslation(
|
|
674
|
+
const translation = useTranslation([timeTranslation], overwriteTranslation);
|
|
573
675
|
const [displayedMonth, setDisplayedMonth] = (0, import_react6.useState)(value);
|
|
574
676
|
const [displayMode, setDisplayMode] = (0, import_react6.useState)(initialDisplay);
|
|
575
677
|
(0, import_react6.useEffect)(() => {
|
|
@@ -652,7 +754,7 @@ var DatePicker = ({
|
|
|
652
754
|
newDate.setHours(value.getHours(), value.getMinutes());
|
|
653
755
|
onChange(newDate);
|
|
654
756
|
},
|
|
655
|
-
children: translation
|
|
757
|
+
children: translation("today")
|
|
656
758
|
}
|
|
657
759
|
) })
|
|
658
760
|
] })
|