@indra-inter/neobrutalism-components 0.1.0

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 (154) hide show
  1. package/README.md +1330 -0
  2. package/dist/module/assets/avatar-profile.png +0 -0
  3. package/dist/module/components/accordion/accordion.js +203 -0
  4. package/dist/module/components/accordion/accordion.js.map +1 -0
  5. package/dist/module/components/app-bar/app-bar.js +140 -0
  6. package/dist/module/components/app-bar/app-bar.js.map +1 -0
  7. package/dist/module/components/avatar/avatar.js +184 -0
  8. package/dist/module/components/avatar/avatar.js.map +1 -0
  9. package/dist/module/components/badge/badge.js +133 -0
  10. package/dist/module/components/badge/badge.js.map +1 -0
  11. package/dist/module/components/bottom-navigation/bottom-navigation.js +166 -0
  12. package/dist/module/components/bottom-navigation/bottom-navigation.js.map +1 -0
  13. package/dist/module/components/bottom-sheet/bottom-sheet.js +285 -0
  14. package/dist/module/components/bottom-sheet/bottom-sheet.js.map +1 -0
  15. package/dist/module/components/button/button.js +253 -0
  16. package/dist/module/components/button/button.js.map +1 -0
  17. package/dist/module/components/calendar/calendar.js +458 -0
  18. package/dist/module/components/calendar/calendar.js.map +1 -0
  19. package/dist/module/components/call-item/call-item.js +128 -0
  20. package/dist/module/components/call-item/call-item.js.map +1 -0
  21. package/dist/module/components/card/card.js +189 -0
  22. package/dist/module/components/card/card.js.map +1 -0
  23. package/dist/module/components/chat-list-item/chat-list-item.js +212 -0
  24. package/dist/module/components/chat-list-item/chat-list-item.js.map +1 -0
  25. package/dist/module/components/checkbox/checkbox.js +141 -0
  26. package/dist/module/components/checkbox/checkbox.js.map +1 -0
  27. package/dist/module/components/dialog/dialog.js +342 -0
  28. package/dist/module/components/dialog/dialog.js.map +1 -0
  29. package/dist/module/components/divider/divider.js +41 -0
  30. package/dist/module/components/divider/divider.js.map +1 -0
  31. package/dist/module/components/dropdown/dropdown-menu.js +214 -0
  32. package/dist/module/components/dropdown/dropdown-menu.js.map +1 -0
  33. package/dist/module/components/dropdown/dropdown.js +616 -0
  34. package/dist/module/components/dropdown/dropdown.js.map +1 -0
  35. package/dist/module/components/dropdown/types.js +4 -0
  36. package/dist/module/components/dropdown/types.js.map +1 -0
  37. package/dist/module/components/icon-button/icon-button.js +140 -0
  38. package/dist/module/components/icon-button/icon-button.js.map +1 -0
  39. package/dist/module/components/input/currency-input.js +60 -0
  40. package/dist/module/components/input/currency-input.js.map +1 -0
  41. package/dist/module/components/input/input.js +281 -0
  42. package/dist/module/components/input/input.js.map +1 -0
  43. package/dist/module/components/input/otp-input.js +196 -0
  44. package/dist/module/components/input/otp-input.js.map +1 -0
  45. package/dist/module/components/input/password-input.js +74 -0
  46. package/dist/module/components/input/password-input.js.map +1 -0
  47. package/dist/module/components/input/phone-input.js +68 -0
  48. package/dist/module/components/input/phone-input.js.map +1 -0
  49. package/dist/module/components/input/url-input.js +43 -0
  50. package/dist/module/components/input/url-input.js.map +1 -0
  51. package/dist/module/components/list-item/list-item.js +148 -0
  52. package/dist/module/components/list-item/list-item.js.map +1 -0
  53. package/dist/module/components/pin-code-field/pin-code-field.js +164 -0
  54. package/dist/module/components/pin-code-field/pin-code-field.js.map +1 -0
  55. package/dist/module/components/progress/progress.js +261 -0
  56. package/dist/module/components/progress/progress.js.map +1 -0
  57. package/dist/module/components/radio/radio.js +135 -0
  58. package/dist/module/components/radio/radio.js.map +1 -0
  59. package/dist/module/components/skeleton/skeleton.js +328 -0
  60. package/dist/module/components/skeleton/skeleton.js.map +1 -0
  61. package/dist/module/components/switch/switch.js +170 -0
  62. package/dist/module/components/switch/switch.js.map +1 -0
  63. package/dist/module/components/tabs/tabs.js +197 -0
  64. package/dist/module/components/tabs/tabs.js.map +1 -0
  65. package/dist/module/components/toast/toast-provider.js +117 -0
  66. package/dist/module/components/toast/toast-provider.js.map +1 -0
  67. package/dist/module/components/toast/toast.js +154 -0
  68. package/dist/module/components/toast/toast.js.map +1 -0
  69. package/dist/module/index.js +38 -0
  70. package/dist/module/index.js.map +1 -0
  71. package/dist/module/package.json +1 -0
  72. package/dist/module/theme/design-tokens.generated.js +379 -0
  73. package/dist/module/theme/design-tokens.generated.js.map +1 -0
  74. package/dist/module/theme/theme-provider.js +20 -0
  75. package/dist/module/theme/theme-provider.js.map +1 -0
  76. package/dist/module/theme/theme.js +56 -0
  77. package/dist/module/theme/theme.js.map +1 -0
  78. package/dist/typescript/components/accordion/accordion.d.ts +40 -0
  79. package/dist/typescript/components/accordion/accordion.d.ts.map +1 -0
  80. package/dist/typescript/components/app-bar/app-bar.d.ts +34 -0
  81. package/dist/typescript/components/app-bar/app-bar.d.ts.map +1 -0
  82. package/dist/typescript/components/avatar/avatar.d.ts +17 -0
  83. package/dist/typescript/components/avatar/avatar.d.ts.map +1 -0
  84. package/dist/typescript/components/badge/badge.d.ts +20 -0
  85. package/dist/typescript/components/badge/badge.d.ts.map +1 -0
  86. package/dist/typescript/components/bottom-navigation/bottom-navigation.d.ts +28 -0
  87. package/dist/typescript/components/bottom-navigation/bottom-navigation.d.ts.map +1 -0
  88. package/dist/typescript/components/bottom-sheet/bottom-sheet.d.ts +38 -0
  89. package/dist/typescript/components/bottom-sheet/bottom-sheet.d.ts.map +1 -0
  90. package/dist/typescript/components/button/button.d.ts +21 -0
  91. package/dist/typescript/components/button/button.d.ts.map +1 -0
  92. package/dist/typescript/components/calendar/calendar.d.ts +41 -0
  93. package/dist/typescript/components/calendar/calendar.d.ts.map +1 -0
  94. package/dist/typescript/components/call-item/call-item.d.ts +21 -0
  95. package/dist/typescript/components/call-item/call-item.d.ts.map +1 -0
  96. package/dist/typescript/components/card/card.d.ts +37 -0
  97. package/dist/typescript/components/card/card.d.ts.map +1 -0
  98. package/dist/typescript/components/chat-list-item/chat-list-item.d.ts +37 -0
  99. package/dist/typescript/components/chat-list-item/chat-list-item.d.ts.map +1 -0
  100. package/dist/typescript/components/checkbox/checkbox.d.ts +15 -0
  101. package/dist/typescript/components/checkbox/checkbox.d.ts.map +1 -0
  102. package/dist/typescript/components/dialog/dialog.d.ts +34 -0
  103. package/dist/typescript/components/dialog/dialog.d.ts.map +1 -0
  104. package/dist/typescript/components/divider/divider.d.ts +10 -0
  105. package/dist/typescript/components/divider/divider.d.ts.map +1 -0
  106. package/dist/typescript/components/dropdown/dropdown-menu.d.ts +27 -0
  107. package/dist/typescript/components/dropdown/dropdown-menu.d.ts.map +1 -0
  108. package/dist/typescript/components/dropdown/dropdown.d.ts +4 -0
  109. package/dist/typescript/components/dropdown/dropdown.d.ts.map +1 -0
  110. package/dist/typescript/components/dropdown/types.d.ts +52 -0
  111. package/dist/typescript/components/dropdown/types.d.ts.map +1 -0
  112. package/dist/typescript/components/icon-button/icon-button.d.ts +20 -0
  113. package/dist/typescript/components/icon-button/icon-button.d.ts.map +1 -0
  114. package/dist/typescript/components/input/currency-input.d.ts +10 -0
  115. package/dist/typescript/components/input/currency-input.d.ts.map +1 -0
  116. package/dist/typescript/components/input/input.d.ts +32 -0
  117. package/dist/typescript/components/input/input.d.ts.map +1 -0
  118. package/dist/typescript/components/input/otp-input.d.ts +23 -0
  119. package/dist/typescript/components/input/otp-input.d.ts.map +1 -0
  120. package/dist/typescript/components/input/password-input.d.ts +14 -0
  121. package/dist/typescript/components/input/password-input.d.ts.map +1 -0
  122. package/dist/typescript/components/input/phone-input.d.ts +13 -0
  123. package/dist/typescript/components/input/phone-input.d.ts.map +1 -0
  124. package/dist/typescript/components/input/url-input.d.ts +10 -0
  125. package/dist/typescript/components/input/url-input.d.ts.map +1 -0
  126. package/dist/typescript/components/list-item/list-item.d.ts +30 -0
  127. package/dist/typescript/components/list-item/list-item.d.ts.map +1 -0
  128. package/dist/typescript/components/pin-code-field/pin-code-field.d.ts +25 -0
  129. package/dist/typescript/components/pin-code-field/pin-code-field.d.ts.map +1 -0
  130. package/dist/typescript/components/progress/progress.d.ts +18 -0
  131. package/dist/typescript/components/progress/progress.d.ts.map +1 -0
  132. package/dist/typescript/components/radio/radio.d.ts +12 -0
  133. package/dist/typescript/components/radio/radio.d.ts.map +1 -0
  134. package/dist/typescript/components/skeleton/skeleton.d.ts +16 -0
  135. package/dist/typescript/components/skeleton/skeleton.d.ts.map +1 -0
  136. package/dist/typescript/components/switch/switch.d.ts +12 -0
  137. package/dist/typescript/components/switch/switch.d.ts.map +1 -0
  138. package/dist/typescript/components/tabs/tabs.d.ts +37 -0
  139. package/dist/typescript/components/tabs/tabs.d.ts.map +1 -0
  140. package/dist/typescript/components/toast/toast-provider.d.ts +22 -0
  141. package/dist/typescript/components/toast/toast-provider.d.ts.map +1 -0
  142. package/dist/typescript/components/toast/toast.d.ts +15 -0
  143. package/dist/typescript/components/toast/toast.d.ts.map +1 -0
  144. package/dist/typescript/index.d.ts +36 -0
  145. package/dist/typescript/index.d.ts.map +1 -0
  146. package/dist/typescript/package.json +1 -0
  147. package/dist/typescript/theme/design-tokens.generated.d.ts +375 -0
  148. package/dist/typescript/theme/design-tokens.generated.d.ts.map +1 -0
  149. package/dist/typescript/theme/theme-provider.d.ts +8 -0
  150. package/dist/typescript/theme/theme-provider.d.ts.map +1 -0
  151. package/dist/typescript/theme/theme.d.ts +52 -0
  152. package/dist/typescript/theme/theme.d.ts.map +1 -0
  153. package/package.json +88 -0
  154. package/tokens.css +132 -0
@@ -0,0 +1,458 @@
1
+ "use strict";
2
+
3
+ import { useMemo, useState } from 'react';
4
+ import { Pressable, StyleSheet, Text, View } from 'react-native';
5
+ import { Calendar as NativeCalendar } from 'react-native-calendars';
6
+ import { ChevronLeft, ChevronRight } from 'lucide-react-native';
7
+ import { useTheme } from "../../theme/theme-provider.js";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ const ISO_DATE_PATTERN = /^\d{4}-\d{2}-\d{2}$/;
10
+ export function Calendar(props) {
11
+ const theme = useTheme();
12
+ const styles = createStyles(theme);
13
+ const radiusStyle = resolveRadius(props.radius, theme.border.radius);
14
+ const navigationButtonRadiusStyle = resolveRadius(props.navigationButtonRadius, theme.border.radius);
15
+ const selectedRadiusStyle = resolveRadius(props.selectedRadius, theme.border.radius);
16
+ const mode = props.mode ?? 'single';
17
+ const singleProps = props;
18
+ const rangeProps = props;
19
+ const defaultRange = normalizeRange(rangeProps.defaultValue);
20
+ const defaultSingle = isIsoDate(singleProps.defaultValue) ? singleProps.defaultValue : undefined;
21
+ const [uncontrolledSingleValue, setUncontrolledSingleValue] = useState(defaultSingle);
22
+ const [uncontrolledRangeValue, setUncontrolledRangeValue] = useState(defaultRange);
23
+ const initialMonth = resolveInitialMonth(props.defaultVisibleMonth, mode === 'range' ? defaultRange?.startDate : defaultSingle);
24
+ const [visibleMonth, setVisibleMonth] = useState(initialMonth);
25
+ const singleValue = mode === 'single' ? isIsoDate(singleProps.value) ? singleProps.value : uncontrolledSingleValue : undefined;
26
+ const rangeValue = mode === 'range' ? normalizeRange(rangeProps.value) ?? uncontrolledRangeValue : undefined;
27
+ const disabledDateSet = useMemo(() => new Set((props.disabledDates ?? []).filter(isIsoDate)), [props.disabledDates]);
28
+ const markedDates = useMemo(() => Object.fromEntries(Array.from(disabledDateSet, date => [date, {
29
+ disabled: true,
30
+ disableTouchEvent: true
31
+ }])), [disabledDateSet]);
32
+ const isUnavailable = (date, state) => !isIsoDate(date) || state === 'inactive' || state === 'disabled' || disabledDateSet.has(date) || isIsoDate(props.minDate) && date < props.minDate || isIsoDate(props.maxDate) && date > props.maxDate;
33
+ const commitSingle = nextValue => {
34
+ if (singleProps.value === undefined) {
35
+ setUncontrolledSingleValue(nextValue);
36
+ }
37
+ singleProps.onValueChange?.(nextValue);
38
+ };
39
+ const commitRange = nextValue => {
40
+ if (rangeProps.value === undefined) {
41
+ setUncontrolledRangeValue(nextValue);
42
+ }
43
+ rangeProps.onValueChange?.(nextValue);
44
+ };
45
+ const handleDayPress = day => {
46
+ const date = day?.dateString;
47
+ if (!date || isUnavailable(date)) {
48
+ return;
49
+ }
50
+ if (mode === 'single') {
51
+ commitSingle(singleValue === date ? undefined : date);
52
+ return;
53
+ }
54
+ if (!rangeValue?.startDate || rangeValue.endDate) {
55
+ commitRange({
56
+ startDate: date
57
+ });
58
+ return;
59
+ }
60
+ if (date < rangeValue.startDate) {
61
+ commitRange({
62
+ startDate: date
63
+ });
64
+ return;
65
+ }
66
+ commitRange({
67
+ startDate: rangeValue.startDate,
68
+ endDate: date
69
+ });
70
+ };
71
+ const handleMonthChange = month => {
72
+ const nextMonth = toMonthStart(month.dateString);
73
+ if (!nextMonth) {
74
+ return;
75
+ }
76
+ setVisibleMonth(nextMonth);
77
+ props.onVisibleMonthChange?.(nextMonth);
78
+ };
79
+ const Header = ({
80
+ addMonth
81
+ }) => /*#__PURE__*/_jsx(CalendarHeader, {
82
+ addMonth: addMonth,
83
+ firstDayOfWeek: props.firstDayOfWeek ?? 0,
84
+ locale: props.locale,
85
+ month: visibleMonth,
86
+ navigationButtonRadiusStyle: navigationButtonRadiusStyle,
87
+ styles: styles,
88
+ theme: theme
89
+ });
90
+ const Day = ({
91
+ date,
92
+ onPress,
93
+ state
94
+ }) => {
95
+ const dateString = date?.dateString;
96
+ if (!dateString) {
97
+ return /*#__PURE__*/_jsx(View, {
98
+ style: styles.day
99
+ });
100
+ }
101
+ const unavailable = isUnavailable(dateString, state);
102
+ const appearance = resolveDayAppearance({
103
+ date: dateString,
104
+ mode,
105
+ rangeValue,
106
+ singleValue,
107
+ theme,
108
+ unavailable
109
+ });
110
+ return /*#__PURE__*/_jsx(Pressable, {
111
+ accessibilityLabel: formatAccessibleDate(dateString, props.locale),
112
+ accessibilityRole: "button",
113
+ disabled: unavailable,
114
+ onPress: () => onPress?.(date),
115
+ style: [styles.day, appearance.surface, appearance.selected ? selectedRadiusStyle : undefined],
116
+ testID: `calendar-day-${dateString}`,
117
+ children: /*#__PURE__*/_jsx(Text, {
118
+ style: [styles.dayText, appearance.text],
119
+ children: date.day
120
+ })
121
+ });
122
+ };
123
+ return /*#__PURE__*/_jsxs(View, {
124
+ style: [styles.container, props.containerStyle],
125
+ children: [/*#__PURE__*/_jsx(View, {
126
+ pointerEvents: "none",
127
+ style: [styles.hardShadow, radiusStyle],
128
+ testID: "calendar-hard-shadow"
129
+ }), /*#__PURE__*/_jsx(View, {
130
+ accessibilityLabel: props.accessibilityLabel ?? 'Calendar',
131
+ accessibilityRole: "adjustable",
132
+ style: [styles.surface, radiusStyle, props.style],
133
+ testID: "calendar",
134
+ children: /*#__PURE__*/_jsx(NativeCalendar, {
135
+ current: visibleMonth,
136
+ customHeader: Header,
137
+ dayComponent: Day,
138
+ disableMonthChange: true,
139
+ firstDay: props.firstDayOfWeek ?? 0,
140
+ hideExtraDays: false,
141
+ markedDates: markedDates,
142
+ maxDate: props.maxDate,
143
+ minDate: props.minDate,
144
+ onDayPress: handleDayPress,
145
+ onMonthChange: handleMonthChange,
146
+ showSixWeeks: false,
147
+ theme: {
148
+ calendarBackground: 'transparent',
149
+ 'stylesheet.calendar.main': {
150
+ container: styles.nativeCalendar,
151
+ monthView: styles.nativeCalendar,
152
+ week: styles.week
153
+ }
154
+ }
155
+ })
156
+ })]
157
+ });
158
+ }
159
+ function CalendarHeader({
160
+ addMonth,
161
+ firstDayOfWeek,
162
+ locale,
163
+ month,
164
+ navigationButtonRadiusStyle,
165
+ styles,
166
+ theme
167
+ }) {
168
+ return /*#__PURE__*/_jsxs(View, {
169
+ children: [/*#__PURE__*/_jsxs(View, {
170
+ style: styles.header,
171
+ children: [/*#__PURE__*/_jsx(MonthNavigationButton, {
172
+ accessibilityLabel: "Previous month",
173
+ icon: /*#__PURE__*/_jsx(ChevronLeft, {
174
+ color: theme.colors.foreground,
175
+ size: 16,
176
+ strokeWidth: 2.5
177
+ }),
178
+ onPress: () => addMonth?.(-1),
179
+ radiusStyle: navigationButtonRadiusStyle,
180
+ styles: styles,
181
+ testID: "calendar-previous-month"
182
+ }), /*#__PURE__*/_jsx(Text, {
183
+ style: styles.monthTitle,
184
+ children: formatMonth(month, locale)
185
+ }), /*#__PURE__*/_jsx(MonthNavigationButton, {
186
+ accessibilityLabel: "Next month",
187
+ icon: /*#__PURE__*/_jsx(ChevronRight, {
188
+ color: theme.colors.foreground,
189
+ size: 16,
190
+ strokeWidth: 2.5
191
+ }),
192
+ onPress: () => addMonth?.(1),
193
+ radiusStyle: navigationButtonRadiusStyle,
194
+ styles: styles,
195
+ testID: "calendar-next-month"
196
+ })]
197
+ }), /*#__PURE__*/_jsx(View, {
198
+ style: styles.weekdayRow,
199
+ children: getWeekdays(firstDayOfWeek, locale).map(weekday => /*#__PURE__*/_jsx(Text, {
200
+ style: styles.weekdayText,
201
+ children: weekday
202
+ }, weekday))
203
+ })]
204
+ });
205
+ }
206
+ function MonthNavigationButton({
207
+ accessibilityLabel,
208
+ icon,
209
+ onPress,
210
+ radiusStyle,
211
+ styles,
212
+ testID
213
+ }) {
214
+ return /*#__PURE__*/_jsxs(View, {
215
+ style: styles.navigationButtonContainer,
216
+ children: [/*#__PURE__*/_jsx(View, {
217
+ pointerEvents: "none",
218
+ style: [styles.navigationButtonShadow, radiusStyle],
219
+ testID: `${testID}-shadow`
220
+ }), /*#__PURE__*/_jsx(Pressable, {
221
+ accessibilityLabel: accessibilityLabel,
222
+ accessibilityRole: "button",
223
+ onPress: onPress,
224
+ style: [styles.navigationButton, radiusStyle],
225
+ testID: testID,
226
+ children: icon
227
+ })]
228
+ });
229
+ }
230
+ function resolveDayAppearance({
231
+ date,
232
+ mode,
233
+ rangeValue,
234
+ singleValue,
235
+ theme,
236
+ unavailable
237
+ }) {
238
+ if (unavailable) {
239
+ return {
240
+ selected: false,
241
+ surface: {
242
+ backgroundColor: theme.colors.disabled
243
+ },
244
+ text: {
245
+ color: theme.colors.mutedForeground
246
+ }
247
+ };
248
+ }
249
+ if (mode === 'single' && singleValue === date) {
250
+ return {
251
+ selected: true,
252
+ surface: {
253
+ backgroundColor: theme.colors.primary
254
+ },
255
+ text: {
256
+ color: theme.colors.primaryForeground
257
+ }
258
+ };
259
+ }
260
+ const range = normalizeRange(rangeValue);
261
+ if (mode === 'range' && range?.startDate) {
262
+ if (date === range.startDate || date === range.endDate) {
263
+ return {
264
+ selected: true,
265
+ surface: {
266
+ backgroundColor: theme.colors.secondary
267
+ },
268
+ text: {
269
+ color: theme.colors.secondaryForeground
270
+ }
271
+ };
272
+ }
273
+ if (range.endDate && date > range.startDate && date < range.endDate) {
274
+ return {
275
+ selected: true,
276
+ surface: {
277
+ backgroundColor: theme.colors.primary
278
+ },
279
+ text: {
280
+ color: theme.colors.primaryForeground
281
+ }
282
+ };
283
+ }
284
+ }
285
+ return {
286
+ selected: false,
287
+ surface: {
288
+ backgroundColor: 'transparent'
289
+ },
290
+ text: {
291
+ color: theme.colors.foreground
292
+ }
293
+ };
294
+ }
295
+ function resolveRadius(radius, fallback) {
296
+ if (typeof radius === 'number') {
297
+ return {
298
+ borderRadius: radius
299
+ };
300
+ }
301
+ return {
302
+ borderBottomLeftRadius: radius?.bottomLeft ?? fallback,
303
+ borderBottomRightRadius: radius?.bottomRight ?? fallback,
304
+ borderTopLeftRadius: radius?.topLeft ?? fallback,
305
+ borderTopRightRadius: radius?.topRight ?? fallback
306
+ };
307
+ }
308
+ function normalizeRange(value) {
309
+ if (!value || !isIsoDate(value.startDate)) {
310
+ return undefined;
311
+ }
312
+ if (!isIsoDate(value.endDate)) {
313
+ return {
314
+ startDate: value.startDate
315
+ };
316
+ }
317
+ return value.endDate < value.startDate ? {
318
+ startDate: value.endDate,
319
+ endDate: value.startDate
320
+ } : value;
321
+ }
322
+ function isIsoDate(value) {
323
+ if (typeof value !== 'string' || !ISO_DATE_PATTERN.test(value)) {
324
+ return false;
325
+ }
326
+ const parsed = new Date(`${value}T00:00:00.000Z`);
327
+ return !Number.isNaN(parsed.getTime()) && parsed.toISOString().slice(0, 10) === value;
328
+ }
329
+ function resolveInitialMonth(defaultVisibleMonth, selectedDate) {
330
+ return toMonthStart(defaultVisibleMonth) ?? toMonthStart(selectedDate) ?? toMonthStart(todayDate());
331
+ }
332
+ function toMonthStart(date) {
333
+ return isIsoDate(date) ? `${date.slice(0, 7)}-01` : undefined;
334
+ }
335
+ function todayDate() {
336
+ const today = new Date();
337
+ const year = today.getFullYear();
338
+ const month = String(today.getMonth() + 1).padStart(2, '0');
339
+ const day = String(today.getDate()).padStart(2, '0');
340
+ return `${year}-${month}-${day}`;
341
+ }
342
+ function formatMonth(month, locale = 'en-US') {
343
+ return new Intl.DateTimeFormat(locale, {
344
+ month: 'short',
345
+ year: 'numeric'
346
+ }).format(new Date(`${month}T00:00:00.000Z`));
347
+ }
348
+ function formatAccessibleDate(date, locale = 'en-US') {
349
+ return new Intl.DateTimeFormat(locale, {
350
+ day: 'numeric',
351
+ month: 'long',
352
+ year: 'numeric'
353
+ }).format(new Date(`${date}T00:00:00.000Z`));
354
+ }
355
+ function getWeekdays(firstDayOfWeek, locale = 'en-US') {
356
+ const firstSunday = new Date('2023-01-01T00:00:00.000Z');
357
+ return Array.from({
358
+ length: 7
359
+ }, (_, index) => {
360
+ const day = new Date(firstSunday);
361
+ day.setUTCDate(firstSunday.getUTCDate() + (index + firstDayOfWeek) % 7);
362
+ return new Intl.DateTimeFormat(locale, {
363
+ weekday: 'short'
364
+ }).format(day).slice(0, 2);
365
+ });
366
+ }
367
+ function createStyles(theme) {
368
+ return StyleSheet.create({
369
+ container: {
370
+ alignSelf: 'flex-start',
371
+ paddingBottom: theme.shadow.offset,
372
+ paddingRight: theme.shadow.offset,
373
+ position: 'relative'
374
+ },
375
+ surface: {
376
+ backgroundColor: theme.colors.popover,
377
+ borderColor: theme.border.color,
378
+ borderRadius: 0,
379
+ borderWidth: theme.border.width,
380
+ padding: theme.spacing.lg,
381
+ width: 300
382
+ },
383
+ hardShadow: {
384
+ backgroundColor: theme.shadow.color,
385
+ bottom: 0,
386
+ left: theme.shadow.offset,
387
+ position: 'absolute',
388
+ right: 0,
389
+ top: theme.shadow.offset
390
+ },
391
+ nativeCalendar: {
392
+ backgroundColor: 'transparent',
393
+ paddingHorizontal: 0
394
+ },
395
+ header: {
396
+ alignItems: 'center',
397
+ flexDirection: 'row',
398
+ justifyContent: 'space-between',
399
+ marginBottom: theme.spacing.md
400
+ },
401
+ monthTitle: {
402
+ color: theme.colors.foreground,
403
+ fontSize: theme.typography.sm,
404
+ fontWeight: '700'
405
+ },
406
+ navigationButtonContainer: {
407
+ height: 40,
408
+ paddingBottom: theme.shadow.offset,
409
+ paddingRight: theme.shadow.offset,
410
+ position: 'relative',
411
+ width: 40
412
+ },
413
+ navigationButtonShadow: {
414
+ backgroundColor: theme.shadow.color,
415
+ bottom: 0,
416
+ left: theme.shadow.offset,
417
+ position: 'absolute',
418
+ right: 0,
419
+ top: theme.shadow.offset
420
+ },
421
+ navigationButton: {
422
+ alignItems: 'center',
423
+ backgroundColor: theme.colors.background,
424
+ borderColor: theme.border.color,
425
+ borderWidth: theme.border.width,
426
+ height: 36,
427
+ justifyContent: 'center',
428
+ width: 36
429
+ },
430
+ weekdayRow: {
431
+ flexDirection: 'row',
432
+ marginBottom: theme.spacing.xs
433
+ },
434
+ weekdayText: {
435
+ color: theme.colors.mutedForeground,
436
+ flex: 1,
437
+ fontSize: theme.typography.xsSmall,
438
+ fontWeight: theme.typography.weight,
439
+ textAlign: 'center'
440
+ },
441
+ week: {
442
+ flexDirection: 'row',
443
+ justifyContent: 'space-between',
444
+ marginVertical: 2
445
+ },
446
+ day: {
447
+ alignItems: 'center',
448
+ height: 32,
449
+ justifyContent: 'center',
450
+ width: 32
451
+ },
452
+ dayText: {
453
+ fontSize: theme.typography.sm,
454
+ fontWeight: theme.typography.weight
455
+ }
456
+ });
457
+ }
458
+ //# sourceMappingURL=calendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMemo","useState","Pressable","StyleSheet","Text","View","Calendar","NativeCalendar","ChevronLeft","ChevronRight","useTheme","jsx","_jsx","jsxs","_jsxs","ISO_DATE_PATTERN","props","theme","styles","createStyles","radiusStyle","resolveRadius","radius","border","navigationButtonRadiusStyle","navigationButtonRadius","selectedRadiusStyle","selectedRadius","mode","singleProps","rangeProps","defaultRange","normalizeRange","defaultValue","defaultSingle","isIsoDate","undefined","uncontrolledSingleValue","setUncontrolledSingleValue","uncontrolledRangeValue","setUncontrolledRangeValue","initialMonth","resolveInitialMonth","defaultVisibleMonth","startDate","visibleMonth","setVisibleMonth","singleValue","value","rangeValue","disabledDateSet","Set","disabledDates","filter","markedDates","Object","fromEntries","Array","from","date","disabled","disableTouchEvent","isUnavailable","state","has","minDate","maxDate","commitSingle","nextValue","onValueChange","commitRange","handleDayPress","day","dateString","endDate","handleMonthChange","month","nextMonth","toMonthStart","onVisibleMonthChange","Header","addMonth","CalendarHeader","firstDayOfWeek","locale","Day","onPress","style","unavailable","appearance","resolveDayAppearance","accessibilityLabel","formatAccessibleDate","accessibilityRole","surface","selected","testID","children","dayText","text","container","containerStyle","pointerEvents","hardShadow","current","customHeader","dayComponent","disableMonthChange","firstDay","hideExtraDays","onDayPress","onMonthChange","showSixWeeks","calendarBackground","nativeCalendar","monthView","week","header","MonthNavigationButton","icon","color","colors","foreground","size","strokeWidth","monthTitle","formatMonth","weekdayRow","getWeekdays","map","weekday","weekdayText","navigationButtonContainer","navigationButtonShadow","navigationButton","backgroundColor","mutedForeground","primary","primaryForeground","range","secondary","secondaryForeground","fallback","borderRadius","borderBottomLeftRadius","bottomLeft","borderBottomRightRadius","bottomRight","borderTopLeftRadius","topLeft","borderTopRightRadius","topRight","test","parsed","Date","Number","isNaN","getTime","toISOString","slice","selectedDate","todayDate","today","year","getFullYear","String","getMonth","padStart","getDate","Intl","DateTimeFormat","format","firstSunday","length","_","index","setUTCDate","getUTCDate","create","alignSelf","paddingBottom","shadow","offset","paddingRight","position","popover","borderColor","borderWidth","width","padding","spacing","lg","bottom","left","right","top","paddingHorizontal","alignItems","flexDirection","justifyContent","marginBottom","md","fontSize","typography","sm","fontWeight","height","background","xs","flex","xsSmall","weight","textAlign","marginVertical"],"sourceRoot":"../../../../src","sources":["components/calendar/calendar.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+
3
+ import { Pressable, StyleSheet, Text, View } from 'react-native';
4
+ import { useTheme } from "../../theme/theme-provider.js";
5
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
6
+ export function CallItem({
7
+ accessibilityLabel,
8
+ containerStyle,
9
+ detail,
10
+ detailStyle,
11
+ disabled = false,
12
+ divider = true,
13
+ leading,
14
+ leadingStyle,
15
+ onPress,
16
+ style,
17
+ title,
18
+ titleStyle,
19
+ trailing,
20
+ type = 'incoming'
21
+ }) {
22
+ const theme = useTheme();
23
+ const styles = createStyles(theme);
24
+ const contents = /*#__PURE__*/_jsxs(_Fragment, {
25
+ children: [leading ? /*#__PURE__*/_jsx(View, {
26
+ style: [styles.leading, leadingStyle],
27
+ children: leading
28
+ }) : null, /*#__PURE__*/_jsxs(View, {
29
+ style: styles.labels,
30
+ children: [/*#__PURE__*/_jsx(Text, {
31
+ numberOfLines: 1,
32
+ style: [styles.title, titleStyle],
33
+ children: title
34
+ }), /*#__PURE__*/_jsx(Text, {
35
+ numberOfLines: 1,
36
+ style: [styles.detail, styles[type], detailStyle],
37
+ children: detail
38
+ })]
39
+ }), trailing ? /*#__PURE__*/_jsx(View, {
40
+ style: styles.trailing,
41
+ children: trailing
42
+ }) : null]
43
+ });
44
+ return /*#__PURE__*/_jsxs(View, {
45
+ style: [styles.container, containerStyle],
46
+ children: [onPress ? /*#__PURE__*/_jsx(Pressable, {
47
+ accessibilityLabel: accessibilityLabel ?? (typeof title === 'string' ? title : undefined),
48
+ accessibilityRole: "button",
49
+ accessibilityState: {
50
+ disabled
51
+ },
52
+ disabled: disabled,
53
+ onPress: onPress,
54
+ style: [styles.row, disabled && styles.disabled, style],
55
+ children: contents
56
+ }) : /*#__PURE__*/_jsx(View, {
57
+ style: [styles.row, disabled && styles.disabled, style],
58
+ testID: "call-item",
59
+ children: contents
60
+ }), divider ? /*#__PURE__*/_jsx(View, {
61
+ style: styles.divider,
62
+ testID: "call-item-divider"
63
+ }) : null]
64
+ });
65
+ }
66
+ function createStyles(theme) {
67
+ return StyleSheet.create({
68
+ container: {
69
+ width: '100%'
70
+ },
71
+ row: {
72
+ alignItems: 'center',
73
+ flexDirection: 'row',
74
+ gap: theme.spacing.sm,
75
+ minHeight: 70,
76
+ paddingHorizontal: theme.spacing.xs,
77
+ paddingVertical: theme.spacing.sm
78
+ },
79
+ disabled: {
80
+ opacity: 0.6
81
+ },
82
+ leading: {
83
+ alignItems: 'center',
84
+ height: 48,
85
+ justifyContent: 'center',
86
+ width: 48
87
+ },
88
+ labels: {
89
+ flex: 1,
90
+ gap: 2,
91
+ minWidth: 0
92
+ },
93
+ title: {
94
+ color: theme.colors.foreground,
95
+ fontSize: theme.typography.lg,
96
+ fontWeight: theme.typography.weight,
97
+ lineHeight: 28
98
+ },
99
+ detail: {
100
+ fontSize: theme.typography.sm,
101
+ lineHeight: 20
102
+ },
103
+ incoming: {
104
+ color: theme.colors.success
105
+ },
106
+ outgoing: {
107
+ color: theme.colors.info
108
+ },
109
+ missed: {
110
+ color: theme.colors.destructive
111
+ },
112
+ video: {
113
+ color: theme.colors.mutedForeground
114
+ },
115
+ trailing: {
116
+ alignItems: 'center',
117
+ height: 24,
118
+ justifyContent: 'center',
119
+ width: 24
120
+ },
121
+ divider: {
122
+ backgroundColor: theme.border.color,
123
+ height: 1,
124
+ width: '100%'
125
+ }
126
+ });
127
+ }
128
+ //# sourceMappingURL=call-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Pressable","StyleSheet","Text","View","useTheme","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","CallItem","accessibilityLabel","containerStyle","detail","detailStyle","disabled","divider","leading","leadingStyle","onPress","style","title","titleStyle","trailing","type","theme","styles","createStyles","contents","children","labels","numberOfLines","container","undefined","accessibilityRole","accessibilityState","row","testID","create","width","alignItems","flexDirection","gap","spacing","sm","minHeight","paddingHorizontal","xs","paddingVertical","opacity","height","justifyContent","flex","minWidth","color","colors","foreground","fontSize","typography","lg","fontWeight","weight","lineHeight","incoming","success","outgoing","info","missed","destructive","video","mutedForeground","backgroundColor","border"],"sourceRoot":"../../../../src","sources":["components/call-item/call-item.tsx"],"mappings":"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","ignoreList":[]}