@helpwave/hightide 0.0.15 → 0.0.17

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.
Files changed (215) hide show
  1. package/dist/components/ErrorComponent.js.map +1 -1
  2. package/dist/components/ErrorComponent.mjs.map +1 -1
  3. package/dist/components/LoadingAndErrorComponent.js.map +1 -1
  4. package/dist/components/LoadingAndErrorComponent.mjs.map +1 -1
  5. package/dist/components/LoadingAnimation.js.map +1 -1
  6. package/dist/components/LoadingAnimation.mjs.map +1 -1
  7. package/dist/components/Pagination.js.map +1 -1
  8. package/dist/components/Pagination.mjs.map +1 -1
  9. package/dist/components/SearchableList.js +1 -2
  10. package/dist/components/SearchableList.js.map +1 -1
  11. package/dist/components/SearchableList.mjs +1 -2
  12. package/dist/components/SearchableList.mjs.map +1 -1
  13. package/dist/components/StepperBar.js.map +1 -1
  14. package/dist/components/StepperBar.mjs.map +1 -1
  15. package/dist/components/Table.js.map +1 -1
  16. package/dist/components/Table.mjs.map +1 -1
  17. package/dist/components/TextImage.js.map +1 -1
  18. package/dist/components/TextImage.mjs.map +1 -1
  19. package/dist/components/TimeDisplay.js.map +1 -1
  20. package/dist/components/TimeDisplay.mjs.map +1 -1
  21. package/dist/components/date/DatePicker.js.map +1 -1
  22. package/dist/components/date/DatePicker.mjs.map +1 -1
  23. package/dist/components/date/DayPicker.js.map +1 -1
  24. package/dist/components/date/DayPicker.mjs.map +1 -1
  25. package/dist/components/date/YearMonthPicker.js.map +1 -1
  26. package/dist/components/date/YearMonthPicker.mjs.map +1 -1
  27. package/dist/components/modals/ConfirmDialog.js.map +1 -1
  28. package/dist/components/modals/ConfirmDialog.mjs.map +1 -1
  29. package/dist/components/modals/DiscardChangesDialog.js.map +1 -1
  30. package/dist/components/modals/DiscardChangesDialog.mjs.map +1 -1
  31. package/dist/components/modals/InputModal.js +1 -2
  32. package/dist/components/modals/InputModal.js.map +1 -1
  33. package/dist/components/modals/InputModal.mjs +1 -2
  34. package/dist/components/modals/InputModal.mjs.map +1 -1
  35. package/dist/components/modals/LanguageModal.js.map +1 -1
  36. package/dist/components/modals/LanguageModal.mjs.map +1 -1
  37. package/dist/components/modals/Modal.js.map +1 -1
  38. package/dist/components/modals/Modal.mjs.map +1 -1
  39. package/dist/components/properties/CheckboxProperty.js.map +1 -1
  40. package/dist/components/properties/CheckboxProperty.mjs.map +1 -1
  41. package/dist/components/properties/DateProperty.js +1 -2
  42. package/dist/components/properties/DateProperty.js.map +1 -1
  43. package/dist/components/properties/DateProperty.mjs +1 -2
  44. package/dist/components/properties/DateProperty.mjs.map +1 -1
  45. package/dist/components/properties/MultiSelectProperty.js +1 -2
  46. package/dist/components/properties/MultiSelectProperty.js.map +1 -1
  47. package/dist/components/properties/MultiSelectProperty.mjs +1 -2
  48. package/dist/components/properties/MultiSelectProperty.mjs.map +1 -1
  49. package/dist/components/properties/NumberProperty.js +1 -2
  50. package/dist/components/properties/NumberProperty.js.map +1 -1
  51. package/dist/components/properties/NumberProperty.mjs +1 -2
  52. package/dist/components/properties/NumberProperty.mjs.map +1 -1
  53. package/dist/components/properties/PropertyBase.js.map +1 -1
  54. package/dist/components/properties/PropertyBase.mjs.map +1 -1
  55. package/dist/components/properties/SelectProperty.js +1 -2
  56. package/dist/components/properties/SelectProperty.js.map +1 -1
  57. package/dist/components/properties/SelectProperty.mjs +1 -2
  58. package/dist/components/properties/SelectProperty.mjs.map +1 -1
  59. package/dist/components/properties/TextProperty.js +1 -2
  60. package/dist/components/properties/TextProperty.js.map +1 -1
  61. package/dist/components/properties/TextProperty.mjs +1 -2
  62. package/dist/components/properties/TextProperty.mjs.map +1 -1
  63. package/dist/components/user-input/DateAndTimePicker.js.map +1 -1
  64. package/dist/components/user-input/DateAndTimePicker.mjs.map +1 -1
  65. package/dist/components/user-input/Input.js +1 -2
  66. package/dist/components/user-input/Input.js.map +1 -1
  67. package/dist/components/user-input/Input.mjs +1 -2
  68. package/dist/components/user-input/Input.mjs.map +1 -1
  69. package/dist/components/user-input/MultiSelect.js +1 -2
  70. package/dist/components/user-input/MultiSelect.js.map +1 -1
  71. package/dist/components/user-input/MultiSelect.mjs +1 -2
  72. package/dist/components/user-input/MultiSelect.mjs.map +1 -1
  73. package/dist/components/user-input/SearchableSelect.js +1 -2
  74. package/dist/components/user-input/SearchableSelect.js.map +1 -1
  75. package/dist/components/user-input/SearchableSelect.mjs +1 -2
  76. package/dist/components/user-input/SearchableSelect.mjs.map +1 -1
  77. package/dist/components/user-input/Textarea.js +1 -2
  78. package/dist/components/user-input/Textarea.js.map +1 -1
  79. package/dist/components/user-input/Textarea.mjs +1 -2
  80. package/dist/components/user-input/Textarea.mjs.map +1 -1
  81. package/dist/components/user-input/ToggleableInput.js +1 -2
  82. package/dist/components/user-input/ToggleableInput.js.map +1 -1
  83. package/dist/components/user-input/ToggleableInput.mjs +1 -2
  84. package/dist/components/user-input/ToggleableInput.mjs.map +1 -1
  85. package/dist/hooks/useLanguage.js +1 -2
  86. package/dist/hooks/useLanguage.js.map +1 -1
  87. package/dist/hooks/useLanguage.mjs +1 -2
  88. package/dist/hooks/useLanguage.mjs.map +1 -1
  89. package/dist/hooks/useLocalStorage.d.mts +1 -1
  90. package/dist/hooks/useLocalStorage.d.ts +1 -1
  91. package/dist/hooks/useLocalStorage.js +5 -2
  92. package/dist/hooks/useLocalStorage.js.map +1 -1
  93. package/dist/hooks/useLocalStorage.mjs +1 -2
  94. package/dist/hooks/useLocalStorage.mjs.map +1 -1
  95. package/dist/hooks/useSaveDelay.d.mts +1 -1
  96. package/dist/hooks/useSaveDelay.d.ts +1 -1
  97. package/dist/hooks/useSaveDelay.js +5 -2
  98. package/dist/hooks/useSaveDelay.js.map +1 -1
  99. package/dist/hooks/useSaveDelay.mjs +1 -2
  100. package/dist/hooks/useSaveDelay.mjs.map +1 -1
  101. package/dist/hooks/useTranslation.js.map +1 -1
  102. package/dist/hooks/useTranslation.mjs.map +1 -1
  103. package/dist/index.d.mts +88 -2
  104. package/dist/index.d.ts +88 -2
  105. package/dist/index.js +5716 -0
  106. package/dist/index.js.map +1 -1
  107. package/dist/index.mjs +5541 -0
  108. package/dist/index.mjs.map +1 -1
  109. package/dist/util/news.d.mts +9 -9
  110. package/dist/util/news.d.ts +9 -9
  111. package/dist/util/news.js.map +1 -1
  112. package/dist/util/news.mjs.map +1 -1
  113. package/package.json +14 -12
  114. package/dist/components/Span.d.mts +0 -2
  115. package/dist/components/Span.d.ts +0 -2
  116. package/dist/components/Span.js +0 -2
  117. package/dist/components/Span.js.map +0 -1
  118. package/dist/components/Span.mjs +0 -1
  119. package/dist/components/Span.mjs.map +0 -1
  120. package/dist/components/examples/InputGroupExample.d.mts +0 -11
  121. package/dist/components/examples/InputGroupExample.d.ts +0 -11
  122. package/dist/components/examples/InputGroupExample.js +0 -466
  123. package/dist/components/examples/InputGroupExample.js.map +0 -1
  124. package/dist/components/examples/InputGroupExample.mjs +0 -436
  125. package/dist/components/examples/InputGroupExample.mjs.map +0 -1
  126. package/dist/components/examples/MultiSelectExample.d.mts +0 -14
  127. package/dist/components/examples/MultiSelectExample.d.ts +0 -14
  128. package/dist/components/examples/MultiSelectExample.js +0 -661
  129. package/dist/components/examples/MultiSelectExample.js.map +0 -1
  130. package/dist/components/examples/MultiSelectExample.mjs +0 -631
  131. package/dist/components/examples/MultiSelectExample.mjs.map +0 -1
  132. package/dist/components/examples/SearchableSelectExample.d.mts +0 -13
  133. package/dist/components/examples/SearchableSelectExample.d.ts +0 -13
  134. package/dist/components/examples/SearchableSelectExample.js +0 -365
  135. package/dist/components/examples/SearchableSelectExample.js.map +0 -1
  136. package/dist/components/examples/SearchableSelectExample.mjs +0 -335
  137. package/dist/components/examples/SearchableSelectExample.mjs.map +0 -1
  138. package/dist/components/examples/SelectExample.d.mts +0 -9
  139. package/dist/components/examples/SelectExample.d.ts +0 -9
  140. package/dist/components/examples/SelectExample.js +0 -180
  141. package/dist/components/examples/SelectExample.js.map +0 -1
  142. package/dist/components/examples/SelectExample.mjs +0 -145
  143. package/dist/components/examples/SelectExample.mjs.map +0 -1
  144. package/dist/components/examples/StackingModals.d.mts +0 -8
  145. package/dist/components/examples/StackingModals.d.ts +0 -8
  146. package/dist/components/examples/StackingModals.js +0 -498
  147. package/dist/components/examples/StackingModals.js.map +0 -1
  148. package/dist/components/examples/StackingModals.mjs +0 -463
  149. package/dist/components/examples/StackingModals.mjs.map +0 -1
  150. package/dist/components/examples/TableExample.d.mts +0 -13
  151. package/dist/components/examples/TableExample.d.ts +0 -13
  152. package/dist/components/examples/TableExample.js +0 -853
  153. package/dist/components/examples/TableExample.js.map +0 -1
  154. package/dist/components/examples/TableExample.mjs +0 -823
  155. package/dist/components/examples/TableExample.mjs.map +0 -1
  156. package/dist/components/examples/TextareaExample.d.mts +0 -12
  157. package/dist/components/examples/TextareaExample.d.ts +0 -12
  158. package/dist/components/examples/TextareaExample.js +0 -176
  159. package/dist/components/examples/TextareaExample.js.map +0 -1
  160. package/dist/components/examples/TextareaExample.mjs +0 -141
  161. package/dist/components/examples/TextareaExample.mjs.map +0 -1
  162. package/dist/components/examples/TileExample.d.mts +0 -14
  163. package/dist/components/examples/TileExample.d.ts +0 -14
  164. package/dist/components/examples/TileExample.js +0 -79
  165. package/dist/components/examples/TileExample.js.map +0 -1
  166. package/dist/components/examples/TileExample.mjs +0 -44
  167. package/dist/components/examples/TileExample.mjs.map +0 -1
  168. package/dist/components/examples/Title.d.mts +0 -2
  169. package/dist/components/examples/Title.d.ts +0 -2
  170. package/dist/components/examples/Title.js +0 -2
  171. package/dist/components/examples/Title.js.map +0 -1
  172. package/dist/components/examples/Title.mjs +0 -1
  173. package/dist/components/examples/Title.mjs.map +0 -1
  174. package/dist/components/examples/date/DateTimePickerExample.d.mts +0 -18
  175. package/dist/components/examples/date/DateTimePickerExample.d.ts +0 -18
  176. package/dist/components/examples/date/DateTimePickerExample.js +0 -879
  177. package/dist/components/examples/date/DateTimePickerExample.js.map +0 -1
  178. package/dist/components/examples/date/DateTimePickerExample.mjs +0 -844
  179. package/dist/components/examples/date/DateTimePickerExample.mjs.map +0 -1
  180. package/dist/components/examples/properties/CheckboxPropertyExample.d.mts +0 -16
  181. package/dist/components/examples/properties/CheckboxPropertyExample.d.ts +0 -16
  182. package/dist/components/examples/properties/CheckboxPropertyExample.js +0 -349
  183. package/dist/components/examples/properties/CheckboxPropertyExample.js.map +0 -1
  184. package/dist/components/examples/properties/CheckboxPropertyExample.mjs +0 -314
  185. package/dist/components/examples/properties/CheckboxPropertyExample.mjs.map +0 -1
  186. package/dist/components/examples/properties/DatePropertyExample.d.mts +0 -16
  187. package/dist/components/examples/properties/DatePropertyExample.d.ts +0 -16
  188. package/dist/components/examples/properties/DatePropertyExample.js +0 -460
  189. package/dist/components/examples/properties/DatePropertyExample.js.map +0 -1
  190. package/dist/components/examples/properties/DatePropertyExample.mjs +0 -430
  191. package/dist/components/examples/properties/DatePropertyExample.mjs.map +0 -1
  192. package/dist/components/examples/properties/MultiSelectPropertyExample.d.mts +0 -18
  193. package/dist/components/examples/properties/MultiSelectPropertyExample.d.ts +0 -18
  194. package/dist/components/examples/properties/MultiSelectPropertyExample.js +0 -848
  195. package/dist/components/examples/properties/MultiSelectPropertyExample.js.map +0 -1
  196. package/dist/components/examples/properties/MultiSelectPropertyExample.mjs +0 -818
  197. package/dist/components/examples/properties/MultiSelectPropertyExample.mjs.map +0 -1
  198. package/dist/components/examples/properties/NumberPropertyExample.d.mts +0 -14
  199. package/dist/components/examples/properties/NumberPropertyExample.d.ts +0 -14
  200. package/dist/components/examples/properties/NumberPropertyExample.js +0 -456
  201. package/dist/components/examples/properties/NumberPropertyExample.js.map +0 -1
  202. package/dist/components/examples/properties/NumberPropertyExample.mjs +0 -426
  203. package/dist/components/examples/properties/NumberPropertyExample.mjs.map +0 -1
  204. package/dist/components/examples/properties/SelectPropertyExample.d.mts +0 -17
  205. package/dist/components/examples/properties/SelectPropertyExample.d.ts +0 -17
  206. package/dist/components/examples/properties/SelectPropertyExample.js +0 -584
  207. package/dist/components/examples/properties/SelectPropertyExample.js.map +0 -1
  208. package/dist/components/examples/properties/SelectPropertyExample.mjs +0 -554
  209. package/dist/components/examples/properties/SelectPropertyExample.mjs.map +0 -1
  210. package/dist/components/examples/properties/TextPropertyExample.d.mts +0 -16
  211. package/dist/components/examples/properties/TextPropertyExample.d.ts +0 -16
  212. package/dist/components/examples/properties/TextPropertyExample.js +0 -405
  213. package/dist/components/examples/properties/TextPropertyExample.js.map +0 -1
  214. package/dist/components/examples/properties/TextPropertyExample.mjs +0 -370
  215. package/dist/components/examples/properties/TextPropertyExample.mjs.map +0 -1
@@ -1,879 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
-
30
- // src/components/examples/date/DateTimePickerExample.tsx
31
- var DateTimePickerExample_exports = {};
32
- __export(DateTimePickerExample_exports, {
33
- DateTimePickerExample: () => DateTimePickerExample
34
- });
35
- module.exports = __toCommonJS(DateTimePickerExample_exports);
36
- var import_react8 = require("react");
37
-
38
- // src/components/user-input/DateAndTimePicker.tsx
39
- var import_clsx7 = __toESM(require("clsx"));
40
-
41
- // src/hooks/useLanguage.tsx
42
- var import_react2 = require("react");
43
-
44
- // src/hooks/useLocalStorage.tsx
45
- var import_react = require("react");
46
-
47
- // src/hooks/useLanguage.tsx
48
- var import_jsx_runtime = require("react/jsx-runtime");
49
- var DEFAULT_LANGUAGE = "en";
50
- var LanguageContext = (0, import_react2.createContext)({ language: DEFAULT_LANGUAGE, setLanguage: (v) => v });
51
- var useLanguage = () => (0, import_react2.useContext)(LanguageContext);
52
- var useLocale = (overWriteLanguage) => {
53
- const { language } = useLanguage();
54
- const mapping = {
55
- en: "en-US",
56
- de: "de-DE"
57
- };
58
- return mapping[overWriteLanguage ?? language];
59
- };
60
-
61
- // src/hooks/useTranslation.ts
62
- var useTranslation = (defaults, translationOverwrite = {}) => {
63
- const { language: languageProp, translation: overwrite } = translationOverwrite;
64
- const { language: inferredLanguage } = useLanguage();
65
- const usedLanguage = languageProp ?? inferredLanguage;
66
- let defaultValues = defaults[usedLanguage];
67
- if (overwrite && overwrite[usedLanguage]) {
68
- defaultValues = { ...defaultValues, ...overwrite[usedLanguage] };
69
- }
70
- return defaultValues;
71
- };
72
-
73
- // src/util/noop.ts
74
- var noop = () => void 0;
75
-
76
- // src/util/array.ts
77
- var equalSizeGroups = (array, groupSize) => {
78
- if (groupSize <= 0) {
79
- console.warn(`group size should be greater than 0: groupSize = ${groupSize}`);
80
- return [[...array]];
81
- }
82
- const groups = [];
83
- for (let i = 0; i < array.length; i += groupSize) {
84
- groups.push(array.slice(i, Math.min(i + groupSize, array.length)));
85
- }
86
- return groups;
87
- };
88
- var range = (start, end, allowEmptyRange = false) => {
89
- if (end < start) {
90
- if (!allowEmptyRange) {
91
- console.warn(`range: end (${end}) < start (${start}) should be allowed explicitly, set allowEmptyRange to true`);
92
- }
93
- return [];
94
- }
95
- return Array.from({ length: end - start + 1 }, (_, index) => index + start);
96
- };
97
- var closestMatch = (list, firstCloser) => {
98
- return list.reduce((item1, item2) => {
99
- return firstCloser(item1, item2) ? item1 : item2;
100
- });
101
- };
102
-
103
- // src/util/date.ts
104
- var monthsList = ["january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december"];
105
- var weekDayList = ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"];
106
- var changeDuration = (date, duration, isAdding) => {
107
- const {
108
- years = 0,
109
- months = 0,
110
- days = 0,
111
- hours = 0,
112
- minutes = 0,
113
- seconds = 0,
114
- milliseconds = 0
115
- } = duration;
116
- if (years < 0) {
117
- console.error(`Range error years must be greater than 0: received ${years}`);
118
- return new Date(date);
119
- }
120
- if (months < 0 || months > 11) {
121
- console.error(`Range error month must be 0 <= month <= 11: received ${months}`);
122
- return new Date(date);
123
- }
124
- if (days < 0) {
125
- console.error(`Range error days must be greater than 0: received ${days}`);
126
- return new Date(date);
127
- }
128
- if (hours < 0 || hours > 23) {
129
- console.error(`Range error hours must be 0 <= hours <= 23: received ${hours}`);
130
- return new Date(date);
131
- }
132
- if (minutes < 0 || minutes > 59) {
133
- console.error(`Range error minutes must be 0 <= minutes <= 59: received ${minutes}`);
134
- return new Date(date);
135
- }
136
- if (seconds < 0 || seconds > 59) {
137
- console.error(`Range error seconds must be 0 <= seconds <= 59: received ${seconds}`);
138
- return new Date(date);
139
- }
140
- if (milliseconds < 0) {
141
- console.error(`Range error seconds must be greater than 0: received ${milliseconds}`);
142
- return new Date(date);
143
- }
144
- const multiplier = isAdding ? 1 : -1;
145
- const newDate = new Date(date);
146
- newDate.setFullYear(newDate.getFullYear() + multiplier * years);
147
- newDate.setMonth(newDate.getMonth() + multiplier * months);
148
- newDate.setDate(newDate.getDate() + multiplier * days);
149
- newDate.setHours(newDate.getHours() + multiplier * hours);
150
- newDate.setMinutes(newDate.getMinutes() + multiplier * minutes);
151
- newDate.setSeconds(newDate.getSeconds() + multiplier * seconds);
152
- newDate.setMilliseconds(newDate.getMilliseconds() + multiplier * milliseconds);
153
- return newDate;
154
- };
155
- var addDuration = (date, duration) => {
156
- return changeDuration(date, duration, true);
157
- };
158
- var subtractDuration = (date, duration) => {
159
- return changeDuration(date, duration, false);
160
- };
161
- var isInTimeSpan = (value, startDate, endDate) => {
162
- if (startDate && endDate) {
163
- console.assert(startDate <= endDate);
164
- return startDate <= value && value <= endDate;
165
- } else if (startDate) {
166
- return startDate <= value;
167
- } else if (endDate) {
168
- return endDate >= value;
169
- } else {
170
- return true;
171
- }
172
- };
173
- var equalDate = (date1, date2) => {
174
- return date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth() && date1.getDate() === date2.getDate();
175
- };
176
- var getWeeksForCalenderMonth = (date, weekStart, weeks = 6) => {
177
- const month = date.getMonth();
178
- const year = date.getFullYear();
179
- const dayList = [];
180
- let currentDate = new Date(year, month, 1);
181
- const weekStartIndex = weekDayList.indexOf(weekStart);
182
- while (currentDate.getDay() !== weekStartIndex) {
183
- currentDate = subtractDuration(currentDate, { days: 1 });
184
- }
185
- while (dayList.length < 7 * weeks) {
186
- const date2 = new Date(currentDate);
187
- date2.setHours(date2.getHours(), date2.getMinutes());
188
- dayList.push(date2);
189
- currentDate = addDuration(currentDate, { days: 1 });
190
- }
191
- return equalSizeGroups(dayList, 7);
192
- };
193
-
194
- // src/components/Button.tsx
195
- var import_clsx = __toESM(require("clsx"));
196
- var import_jsx_runtime2 = require("react/jsx-runtime");
197
- var ButtonSizePaddings = {
198
- small: "btn-sm",
199
- medium: "btn-md",
200
- large: "btn-lg"
201
- };
202
- var SolidButton = ({
203
- children,
204
- disabled = false,
205
- color = "primary",
206
- size = "medium",
207
- startIcon,
208
- endIcon,
209
- onClick,
210
- className,
211
- ...restProps
212
- }) => {
213
- const colorClasses = {
214
- primary: "bg-button-solid-primary-background text-button-solid-primary-text",
215
- secondary: "bg-button-solid-secondary-background text-button-solid-secondary-text",
216
- tertiary: "bg-button-solid-tertiary-background text-button-solid-tertiary-text",
217
- positive: "bg-button-solid-positive-background text-button-solid-positive-text",
218
- warning: "bg-button-solid-warning-background text-button-solid-warning-text",
219
- negative: "bg-button-solid-negative-background text-button-solid-negative-text"
220
- }[color];
221
- const iconColorClasses = {
222
- primary: "text-button-solid-primary-icon",
223
- secondary: "text-button-solid-secondary-icon",
224
- tertiary: "text-button-solid-tertiary-icon",
225
- positive: "text-button-solid-positive-icon",
226
- warning: "text-button-solid-warning-icon",
227
- negative: "text-button-solid-negative-icon"
228
- }[color];
229
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
230
- "button",
231
- {
232
- onClick: disabled ? void 0 : onClick,
233
- disabled: disabled || onClick === void 0,
234
- className: (0, import_clsx.default)(
235
- className,
236
- {
237
- "text-disabled-text bg-disabled-background": disabled,
238
- [(0, import_clsx.default)(colorClasses, "hover:brightness-90")]: !disabled
239
- },
240
- ButtonSizePaddings[size]
241
- ),
242
- ...restProps,
243
- children: [
244
- startIcon && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
245
- "span",
246
- {
247
- className: (0, import_clsx.default)({
248
- [iconColorClasses]: !disabled,
249
- [`text-disabled-icon`]: disabled
250
- }),
251
- children: startIcon
252
- }
253
- ),
254
- children,
255
- endIcon && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
256
- "span",
257
- {
258
- className: (0, import_clsx.default)({
259
- [iconColorClasses]: !disabled,
260
- [`text-disabled-icon`]: disabled
261
- }),
262
- children: endIcon
263
- }
264
- )
265
- ]
266
- }
267
- );
268
- };
269
- var TextButton = ({
270
- children,
271
- disabled = false,
272
- color = "neutral",
273
- size = "medium",
274
- startIcon,
275
- endIcon,
276
- onClick,
277
- className,
278
- ...restProps
279
- }) => {
280
- const colorClasses = {
281
- negative: "bg-transparent text-button-text-negative-text",
282
- neutral: "bg-transparent text-button-text-neutral-text"
283
- }[color];
284
- const iconColorClasses = {
285
- negative: "text-button-text-negative-icon",
286
- neutral: "text-button-text-neutral-icon"
287
- }[color];
288
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
289
- "button",
290
- {
291
- onClick: disabled ? void 0 : onClick,
292
- disabled: disabled || onClick === void 0,
293
- className: (0, import_clsx.default)(
294
- className,
295
- {
296
- "text-disabled-text": disabled,
297
- [(0, import_clsx.default)(colorClasses, "hover:bg-button-text-hover-background rounded-full")]: !disabled
298
- },
299
- ButtonSizePaddings[size]
300
- ),
301
- ...restProps,
302
- children: [
303
- startIcon && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
304
- "span",
305
- {
306
- className: (0, import_clsx.default)({
307
- [iconColorClasses]: !disabled,
308
- [`text-disabled-icon`]: disabled
309
- }),
310
- children: startIcon
311
- }
312
- ),
313
- children,
314
- endIcon && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
315
- "span",
316
- {
317
- className: (0, import_clsx.default)({
318
- [iconColorClasses]: !disabled,
319
- [`text-disabled-icon`]: disabled
320
- }),
321
- children: endIcon
322
- }
323
- )
324
- ]
325
- }
326
- );
327
- };
328
-
329
- // src/components/date/TimePicker.tsx
330
- var import_react3 = require("react");
331
- var import_react_custom_scrollbars_2 = require("react-custom-scrollbars-2");
332
- var import_clsx2 = __toESM(require("clsx"));
333
- var import_jsx_runtime3 = require("react/jsx-runtime");
334
- var TimePicker = ({
335
- time = /* @__PURE__ */ new Date(),
336
- onChange = noop,
337
- is24HourFormat = true,
338
- minuteIncrement = "5min",
339
- maxHeight = 300,
340
- className = ""
341
- }) => {
342
- const minuteRef = (0, import_react3.useRef)(null);
343
- const hourRef = (0, import_react3.useRef)(null);
344
- const isPM = time.getHours() >= 11;
345
- const hours = is24HourFormat ? range(0, 23) : range(1, 12);
346
- let minutes = range(0, 59);
347
- (0, import_react3.useEffect)(() => {
348
- const scrollToItem = () => {
349
- if (minuteRef.current) {
350
- const container = minuteRef.current.parentElement;
351
- const hasOverflow = container.scrollHeight > maxHeight;
352
- if (hasOverflow) {
353
- minuteRef.current.scrollIntoView({
354
- behavior: "instant",
355
- block: "nearest"
356
- });
357
- }
358
- }
359
- };
360
- scrollToItem();
361
- }, [minuteRef, minuteRef.current]);
362
- (0, import_react3.useEffect)(() => {
363
- const scrollToItem = () => {
364
- if (hourRef.current) {
365
- const container = hourRef.current.parentElement;
366
- const hasOverflow = container.scrollHeight > maxHeight;
367
- if (hasOverflow) {
368
- hourRef.current.scrollIntoView({
369
- behavior: "instant",
370
- block: "nearest"
371
- });
372
- }
373
- }
374
- };
375
- scrollToItem();
376
- }, [hourRef, hourRef.current]);
377
- switch (minuteIncrement) {
378
- case "5min":
379
- minutes = minutes.filter((value) => value % 5 === 0);
380
- break;
381
- case "10min":
382
- minutes = minutes.filter((value) => value % 10 === 0);
383
- break;
384
- case "15min":
385
- minutes = minutes.filter((value) => value % 15 === 0);
386
- break;
387
- case "30min":
388
- minutes = minutes.filter((value) => value % 30 === 0);
389
- break;
390
- }
391
- const closestMinute = closestMatch(minutes, (item1, item2) => Math.abs(item1 - time.getMinutes()) < Math.abs(item2 - time.getMinutes()));
392
- const style = (selected) => (0, import_clsx2.default)(
393
- "chip-full hover:brightness-90 hover:bg-primary hover:text-on-primary rounded-md mr-3",
394
- { "bg-primary text-on-primary": selected, "bg-white text-black": !selected }
395
- );
396
- const onChangeWrapper = (transformer) => {
397
- const newDate = new Date(time);
398
- transformer(newDate);
399
- onChange(newDate);
400
- };
401
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: (0, import_clsx2.default)("row gap-x-2 w-fit min-w-[150px] select-none", className), children: [
402
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_custom_scrollbars_2.Scrollbars, { autoHeight: true, autoHeightMax: maxHeight, style: { height: "100%" }, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "col gap-y-1 h-full", children: hours.map((hour) => {
403
- const currentHour = hour === time.getHours() - (!is24HourFormat && isPM ? 12 : 0);
404
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
405
- "button",
406
- {
407
- ref: currentHour ? hourRef : void 0,
408
- className: style(currentHour),
409
- onClick: () => onChangeWrapper((newDate) => newDate.setHours(hour + (!is24HourFormat && isPM ? 12 : 0))),
410
- children: hour.toString().padStart(2, "0")
411
- },
412
- hour
413
- );
414
- }) }) }),
415
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_custom_scrollbars_2.Scrollbars, { autoHeight: true, autoHeightMax: maxHeight, style: { height: "100%" }, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "col gap-y-1 h-full", children: minutes.map((minute) => {
416
- const currentMinute = minute === closestMinute;
417
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
418
- "button",
419
- {
420
- ref: currentMinute ? minuteRef : void 0,
421
- className: style(currentMinute),
422
- onClick: () => onChangeWrapper((newDate) => newDate.setMinutes(minute)),
423
- children: minute.toString().padStart(2, "0")
424
- },
425
- minute + minuteIncrement
426
- );
427
- }) }) }),
428
- !is24HourFormat && /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "col gap-y-1", children: [
429
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
430
- "button",
431
- {
432
- className: style(!isPM),
433
- onClick: () => onChangeWrapper((newDate) => isPM && newDate.setHours(newDate.getHours() - 12)),
434
- children: "AM"
435
- }
436
- ),
437
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
438
- "button",
439
- {
440
- className: style(isPM),
441
- onClick: () => onChangeWrapper((newDate) => !isPM && newDate.setHours(newDate.getHours() + 12)),
442
- children: "PM"
443
- }
444
- )
445
- ] })
446
- ] });
447
- };
448
-
449
- // src/components/date/DatePicker.tsx
450
- var import_react7 = require("react");
451
- var import_lucide_react2 = require("lucide-react");
452
- var import_clsx6 = __toESM(require("clsx"));
453
-
454
- // src/components/date/YearMonthPicker.tsx
455
- var import_react5 = require("react");
456
- var import_react_custom_scrollbars_22 = require("react-custom-scrollbars-2");
457
- var import_clsx4 = __toESM(require("clsx"));
458
-
459
- // src/components/Expandable.tsx
460
- var import_react4 = require("react");
461
- var import_lucide_react = require("lucide-react");
462
- var import_clsx3 = __toESM(require("clsx"));
463
- var import_jsx_runtime4 = require("react/jsx-runtime");
464
- var DefaultIcon = (expanded) => expanded ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_lucide_react.ChevronUp, { size: 16, className: "min-w-[16px]" }) : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_lucide_react.ChevronDown, { size: 16, className: "min-w-[16px]" });
465
- var Expandable = (0, import_react4.forwardRef)(({
466
- children,
467
- label,
468
- icon,
469
- initialExpansion = false,
470
- clickOnlyOnHeader = true,
471
- className = "",
472
- headerClassName = ""
473
- }, ref) => {
474
- const [isExpanded, setIsExpanded] = (0, import_react4.useState)(initialExpansion);
475
- icon ??= DefaultIcon;
476
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
477
- "div",
478
- {
479
- ref,
480
- className: (0, import_clsx3.default)("col bg-surface text-on-surface group rounded-lg shadow-sm", { "cursor-pointer": !clickOnlyOnHeader }, className),
481
- onClick: () => !clickOnlyOnHeader && setIsExpanded(!isExpanded),
482
- children: [
483
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
484
- "button",
485
- {
486
- className: (0, import_clsx3.default)("btn-md rounded-lg justify-between items-center bg-surface text-on-surface", { "group-hover:brightness-95": !isExpanded }, headerClassName),
487
- onClick: () => clickOnlyOnHeader && setIsExpanded(!isExpanded),
488
- children: [
489
- label,
490
- icon(isExpanded)
491
- ]
492
- }
493
- ),
494
- isExpanded && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "col", children })
495
- ]
496
- }
497
- );
498
- });
499
- Expandable.displayName = "Expandable";
500
-
501
- // src/components/date/YearMonthPicker.tsx
502
- var import_jsx_runtime5 = require("react/jsx-runtime");
503
- var YearMonthPicker = ({
504
- displayedYearMonth = /* @__PURE__ */ new Date(),
505
- start = subtractDuration(/* @__PURE__ */ new Date(), { years: 50 }),
506
- end = addDuration(/* @__PURE__ */ new Date(), { years: 50 }),
507
- onChange = noop,
508
- className = "",
509
- maxHeight = 300,
510
- showValueOpen = true
511
- }) => {
512
- const locale = useLocale();
513
- const ref = (0, import_react5.useRef)(null);
514
- (0, import_react5.useEffect)(() => {
515
- const scrollToItem = () => {
516
- if (ref.current) {
517
- ref.current.scrollIntoView({
518
- behavior: "instant",
519
- block: "center"
520
- });
521
- }
522
- };
523
- scrollToItem();
524
- }, [ref]);
525
- if (end < start) {
526
- console.error(`startYear: (${start}) less than endYear: (${end})`);
527
- return null;
528
- }
529
- const years = range(start.getFullYear(), end.getFullYear());
530
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: (0, import_clsx4.default)("col select-none", className), children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react_custom_scrollbars_22.Scrollbars, { autoHeight: true, autoHeightMax: maxHeight, style: { height: "100%" }, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "col gap-y-1 mr-3", children: years.map((year) => {
531
- const selectedYear = displayedYearMonth.getFullYear() === year;
532
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
533
- Expandable,
534
- {
535
- ref: (displayedYearMonth.getFullYear() ?? (/* @__PURE__ */ new Date()).getFullYear()) === year ? ref : void 0,
536
- label: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: (0, import_clsx4.default)({ "text-primary font-bold": selectedYear }), children: year }),
537
- initialExpansion: showValueOpen && selectedYear,
538
- children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "col gap-y-1 px-2 pb-2", children: equalSizeGroups([...monthsList], 3).map((monthList, index) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "row", children: monthList.map((month) => {
539
- const monthIndex = monthsList.indexOf(month);
540
- const newDate = new Date(year, monthIndex);
541
- const selectedMonth = selectedYear && monthIndex === displayedYearMonth.getMonth();
542
- const firstOfMonth = new Date(year, monthIndex, 1);
543
- const lastOfMonth = new Date(year, monthIndex, 1);
544
- const isAfterStart = start === void 0 || start <= addDuration(subtractDuration(lastOfMonth, { days: 1 }), { months: 1 });
545
- const isBeforeEnd = end === void 0 || firstOfMonth <= end;
546
- const isValid = isAfterStart && isBeforeEnd;
547
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
548
- "button",
549
- {
550
- disabled: !isValid,
551
- className: (0, import_clsx4.default)(
552
- "chip hover:brightness-95 flex-1",
553
- {
554
- "bg-gray-50 text-black": !selectedMonth && isValid,
555
- "bg-primary text-on-primary": selectedMonth && isValid,
556
- "bg-disabled-background text-disabled-text": !isValid
557
- }
558
- ),
559
- onClick: () => {
560
- onChange(newDate);
561
- },
562
- children: new Intl.DateTimeFormat(locale, { month: "short" }).format(newDate)
563
- },
564
- month
565
- );
566
- }) }, index)) })
567
- },
568
- year
569
- );
570
- }) }) }) });
571
- };
572
-
573
- // src/components/date/DayPicker.tsx
574
- var import_clsx5 = __toESM(require("clsx"));
575
- var import_react6 = require("react");
576
- var import_jsx_runtime6 = require("react/jsx-runtime");
577
- var DayPicker = ({
578
- displayedMonth,
579
- selected,
580
- start,
581
- end,
582
- onChange = noop,
583
- weekStart = "monday",
584
- markToday = true,
585
- className = ""
586
- }) => {
587
- const locale = useLocale();
588
- const month = displayedMonth.getMonth();
589
- const weeks = getWeeksForCalenderMonth(displayedMonth, weekStart);
590
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: (0, import_clsx5.default)("col gap-y-1 min-w-[220px] select-none", className), children: [
591
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "row text-center", children: weeks[0].map((weekDay, index) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "flex-1 font-semibold", children: new Intl.DateTimeFormat(locale, { weekday: "long" }).format(weekDay).substring(0, 2) }, index)) }),
592
- weeks.map((week, index) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "row text-center", children: week.map((date) => {
593
- const isSelected = !!selected && equalDate(selected, date);
594
- const isToday = equalDate(/* @__PURE__ */ new Date(), date);
595
- const isSameMonth = date.getMonth() === month;
596
- const isDayValid = isInTimeSpan(date, start, end);
597
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
598
- "button",
599
- {
600
- disabled: !isDayValid,
601
- className: (0, import_clsx5.default)(
602
- "flex-1 rounded-full border-2 border-transparent shadow-sm",
603
- {
604
- "text-gray-700 bg-gray-100": !isSameMonth && isDayValid,
605
- "text-black bg-white": !isSelected && isSameMonth && isDayValid,
606
- "text-on-primary bg-primary": isSelected,
607
- "border-black": isToday && markToday,
608
- "hover:brightness-90 hover:bg-primary hover:text-on-primary": isDayValid,
609
- "text-disabled-text bg-disabled-background": !isDayValid
610
- }
611
- ),
612
- onClick: () => onChange(date),
613
- children: date.getDate()
614
- },
615
- date.getDate()
616
- );
617
- }) }, index))
618
- ] });
619
- };
620
-
621
- // src/components/date/DatePicker.tsx
622
- var import_jsx_runtime7 = require("react/jsx-runtime");
623
- var defaultDatePickerTranslation = {
624
- en: {
625
- today: "Today"
626
- },
627
- de: {
628
- today: "Heute"
629
- }
630
- };
631
- var DatePicker = ({
632
- overwriteTranslation,
633
- value = /* @__PURE__ */ new Date(),
634
- start = subtractDuration(/* @__PURE__ */ new Date(), { years: 50 }),
635
- end = addDuration(/* @__PURE__ */ new Date(), { years: 50 }),
636
- initialDisplay = "day",
637
- onChange = noop,
638
- yearMonthPickerProps,
639
- dayPickerProps,
640
- className = ""
641
- }) => {
642
- const locale = useLocale();
643
- const translation = useTranslation(defaultDatePickerTranslation, overwriteTranslation);
644
- const [displayedMonth, setDisplayedMonth] = (0, import_react7.useState)(value);
645
- const [displayMode, setDisplayMode] = (0, import_react7.useState)(initialDisplay);
646
- (0, import_react7.useEffect)(() => {
647
- setDisplayedMonth(value);
648
- }, [value]);
649
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: (0, import_clsx6.default)("col gap-y-4", className), children: [
650
- /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "row items-center justify-between h-7", children: [
651
- /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
652
- TextButton,
653
- {
654
- className: (0, import_clsx6.default)("row gap-x-1 items-center cursor-pointer select-none", {
655
- "text-disabled-text": displayMode !== "day"
656
- }),
657
- onClick: () => setDisplayMode(displayMode === "day" ? "yearMonth" : "day"),
658
- children: [
659
- `${new Intl.DateTimeFormat(locale, { month: "long" }).format(displayedMonth)} ${displayedMonth.getFullYear()}`,
660
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_lucide_react2.ChevronDown, { size: 16 })
661
- ]
662
- }
663
- ),
664
- displayMode === "day" && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "row justify-end", children: [
665
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
666
- SolidButton,
667
- {
668
- size: "small",
669
- color: "primary",
670
- disabled: !isInTimeSpan(subtractDuration(displayedMonth, { months: 1 }), start, end),
671
- onClick: () => {
672
- setDisplayedMonth(subtractDuration(displayedMonth, { months: 1 }));
673
- },
674
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_lucide_react2.ArrowUp, { size: 20 })
675
- }
676
- ),
677
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
678
- SolidButton,
679
- {
680
- size: "small",
681
- color: "primary",
682
- disabled: !isInTimeSpan(addDuration(displayedMonth, { months: 1 }), start, end),
683
- onClick: () => {
684
- setDisplayedMonth(addDuration(displayedMonth, { months: 1 }));
685
- },
686
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_lucide_react2.ArrowDown, { size: 20 })
687
- }
688
- )
689
- ] })
690
- ] }),
691
- displayMode === "yearMonth" ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
692
- YearMonthPicker,
693
- {
694
- ...yearMonthPickerProps,
695
- displayedYearMonth: value,
696
- start,
697
- end,
698
- onChange: (newDate) => {
699
- setDisplayedMonth(newDate);
700
- setDisplayMode("day");
701
- }
702
- }
703
- ) : /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { children: [
704
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
705
- DayPicker,
706
- {
707
- ...dayPickerProps,
708
- displayedMonth,
709
- start,
710
- end,
711
- selected: value,
712
- onChange: (date) => {
713
- onChange(date);
714
- }
715
- }
716
- ),
717
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "mt-2", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
718
- TextButton,
719
- {
720
- onClick: () => {
721
- const newDate = /* @__PURE__ */ new Date();
722
- newDate.setHours(value.getHours(), value.getMinutes());
723
- onChange(newDate);
724
- },
725
- children: translation.today
726
- }
727
- ) })
728
- ] })
729
- ] });
730
- };
731
-
732
- // src/components/user-input/DateAndTimePicker.tsx
733
- var import_jsx_runtime8 = require("react/jsx-runtime");
734
- var defaultTimeTranslation = {
735
- en: {
736
- clear: "Clear",
737
- change: "Change",
738
- year: "Year",
739
- month: "Month",
740
- day: "Day",
741
- january: "January",
742
- february: "Febuary",
743
- march: "March",
744
- april: "April",
745
- may: "May",
746
- june: "June",
747
- july: "July",
748
- august: "August",
749
- september: "September",
750
- october: "October",
751
- november: "November",
752
- december: "December"
753
- },
754
- de: {
755
- clear: "Entfernen",
756
- change: "\xC4ndern",
757
- year: "Jahr",
758
- month: "Monat",
759
- day: "Tag",
760
- january: "Januar",
761
- february: "Febuar",
762
- march: "M\xE4rz",
763
- april: "April",
764
- may: "Mai",
765
- june: "Juni",
766
- july: "Juli",
767
- august: "August",
768
- september: "September",
769
- october: "October",
770
- november: "November",
771
- december: "December"
772
- }
773
- };
774
- var DateTimePicker = ({
775
- overwriteTranslation,
776
- value = /* @__PURE__ */ new Date(),
777
- start = subtractDuration(/* @__PURE__ */ new Date(), { years: 50 }),
778
- end = addDuration(/* @__PURE__ */ new Date(), { years: 50 }),
779
- mode = "dateTime",
780
- onFinish = noop,
781
- onChange = noop,
782
- onRemove = noop,
783
- timePickerProps,
784
- datePickerProps
785
- }) => {
786
- const translation = useTranslation(defaultTimeTranslation, overwriteTranslation);
787
- const useDate = mode === "dateTime" || mode === "date";
788
- const useTime = mode === "dateTime" || mode === "time";
789
- let dateDisplay;
790
- let timeDisplay;
791
- if (useDate) {
792
- dateDisplay = /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
793
- DatePicker,
794
- {
795
- ...datePickerProps,
796
- className: "min-w-[320px] min-h-[250px]",
797
- yearMonthPickerProps: { maxHeight: 218 },
798
- value,
799
- start,
800
- end,
801
- onChange
802
- }
803
- );
804
- }
805
- if (useTime) {
806
- timeDisplay = /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
807
- TimePicker,
808
- {
809
- ...timePickerProps,
810
- className: (0, import_clsx7.default)("h-full", { "justify-between w-full": mode === "time" }),
811
- maxHeight: 250,
812
- time: value,
813
- onChange
814
- }
815
- );
816
- }
817
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "col w-fit", children: [
818
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "row gap-x-4", children: [
819
- dateDisplay,
820
- timeDisplay
821
- ] }),
822
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "row justify-end", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "row gap-x-2 mt-1", children: [
823
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SolidButton, { size: "medium", color: "negative", onClick: onRemove, children: translation.clear }),
824
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
825
- SolidButton,
826
- {
827
- size: "medium",
828
- onClick: () => onFinish(value),
829
- children: translation.change
830
- }
831
- )
832
- ] }) })
833
- ] });
834
- };
835
-
836
- // src/components/examples/date/DateTimePickerExample.tsx
837
- var import_jsx_runtime9 = require("react/jsx-runtime");
838
- var DateTimePickerExample = ({
839
- value,
840
- onChange = noop,
841
- onRemove = noop,
842
- onFinish = noop,
843
- initialDisplay,
844
- is24HourFormat,
845
- minuteIncrement,
846
- showValueOpen,
847
- markToday,
848
- weekStart,
849
- ...props
850
- }) => {
851
- const [time, setTime] = (0, import_react8.useState)(value);
852
- (0, import_react8.useEffect)(() => setTime(value), [value]);
853
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
854
- DateTimePicker,
855
- {
856
- ...props,
857
- value: time,
858
- onChange: (date) => {
859
- onChange(date);
860
- setTime(date);
861
- },
862
- onRemove: () => {
863
- onRemove();
864
- setTime(/* @__PURE__ */ new Date());
865
- },
866
- onFinish: (date) => {
867
- onFinish(date);
868
- setTime(date);
869
- },
870
- timePickerProps: { is24HourFormat, minuteIncrement },
871
- datePickerProps: { initialDisplay, dayPickerProps: { markToday, weekStart }, yearMonthPickerProps: { showValueOpen } }
872
- }
873
- );
874
- };
875
- // Annotate the CommonJS export names for ESM import in node:
876
- 0 && (module.exports = {
877
- DateTimePickerExample
878
- });
879
- //# sourceMappingURL=DateTimePickerExample.js.map