@timmbr/ui 1.17.6 → 1.18.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 (197) hide show
  1. package/dist/components/Calendar/Calendar.d.ts +4 -0
  2. package/dist/components/Calendar/Calendar.d.ts.map +1 -0
  3. package/dist/components/Calendar/Calendar.helpers.d.ts +31 -0
  4. package/dist/components/Calendar/Calendar.helpers.d.ts.map +1 -0
  5. package/dist/components/Calendar/Calendar.helpers.js +153 -0
  6. package/dist/components/Calendar/Calendar.js +188 -0
  7. package/dist/components/Calendar/Calendar.styles.d.ts +7 -0
  8. package/dist/components/Calendar/Calendar.styles.d.ts.map +1 -0
  9. package/dist/components/Calendar/Calendar.styles.js +15 -0
  10. package/dist/components/Calendar/Calendar.types.d.ts +83 -0
  11. package/dist/components/Calendar/Calendar.types.d.ts.map +1 -0
  12. package/dist/components/Calendar/index.d.ts +5 -0
  13. package/dist/components/Calendar/index.d.ts.map +1 -0
  14. package/dist/components/Calendar/subcomponents/CalendarMonthYearPickers.d.ts +21 -0
  15. package/dist/components/Calendar/subcomponents/CalendarMonthYearPickers.d.ts.map +1 -0
  16. package/dist/components/Calendar/subcomponents/CalendarMonthYearPickers.js +185 -0
  17. package/dist/components/Container/Container.js +1 -1
  18. package/dist/components/DatePicker/DatePicker.d.ts +4 -0
  19. package/dist/components/DatePicker/DatePicker.d.ts.map +1 -0
  20. package/dist/components/DatePicker/DatePicker.helpers.d.ts +8 -0
  21. package/dist/components/DatePicker/DatePicker.helpers.d.ts.map +1 -0
  22. package/dist/components/DatePicker/DatePicker.helpers.js +52 -0
  23. package/dist/components/DatePicker/DatePicker.js +236 -0
  24. package/dist/components/DatePicker/DatePicker.styles.d.ts +4 -0
  25. package/dist/components/DatePicker/DatePicker.styles.d.ts.map +1 -0
  26. package/dist/components/DatePicker/DatePicker.styles.js +15 -0
  27. package/dist/components/DatePicker/DatePicker.types.d.ts +67 -0
  28. package/dist/components/DatePicker/DatePicker.types.d.ts.map +1 -0
  29. package/dist/components/DatePicker/index.d.ts +5 -0
  30. package/dist/components/DatePicker/index.d.ts.map +1 -0
  31. package/dist/index.d.ts +2 -0
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +6 -0
  34. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/date/index.js +83 -0
  35. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/date/mini.js +450 -0
  36. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/tzName/index.js +39 -0
  37. package/dist/node_modules/.pnpm/@date-fns_tz@1.5.0/node_modules/@date-fns/tz/tzOffset/index.js +56 -0
  38. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/addLeadingZeros.js +7 -0
  39. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/defaultOptions.js +7 -0
  40. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/format/formatters.js +775 -0
  41. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/format/lightFormatters.js +94 -0
  42. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/format/longFormatters.js +66 -0
  43. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js +31 -0
  44. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/normalizeDates.js +11 -0
  45. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/normalizeInterval.js +8 -0
  46. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/protectedTokens.js +25 -0
  47. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/addDays.js +60 -0
  48. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/addMonths.js +75 -0
  49. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/addWeeks.js +33 -0
  50. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/addYears.js +33 -0
  51. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/constants.js +46 -0
  52. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/constructFrom.js +49 -0
  53. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/differenceInCalendarDays.js +62 -0
  54. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/differenceInCalendarMonths.js +42 -0
  55. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/eachMonthOfInterval.js +65 -0
  56. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/eachYearOfInterval.js +65 -0
  57. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/endOfISOWeek.js +35 -0
  58. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/endOfMonth.js +37 -0
  59. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/endOfWeek.js +53 -0
  60. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/endOfYear.js +37 -0
  61. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/format.js +423 -0
  62. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getDayOfYear.js +34 -0
  63. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getDaysInMonth.js +36 -0
  64. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getISOWeek.js +40 -0
  65. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getISOWeekYear.js +52 -0
  66. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getMonth.js +29 -0
  67. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getWeek.js +54 -0
  68. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getWeekYear.js +75 -0
  69. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getYear.js +29 -0
  70. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isAfter.js +25 -0
  71. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isBefore.js +25 -0
  72. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isDate.js +41 -0
  73. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isSameDay.js +46 -0
  74. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isSameMonth.js +43 -0
  75. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isSameYear.js +35 -0
  76. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isValid.js +39 -0
  77. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/_lib/buildFormatLongFn.js +10 -0
  78. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/_lib/buildLocalizeFn.js +64 -0
  79. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/_lib/buildMatchFn.js +59 -0
  80. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js +22 -0
  81. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US/_lib/formatDistance.js +103 -0
  82. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US/_lib/formatLong.js +41 -0
  83. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US/_lib/formatRelative.js +13 -0
  84. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US/_lib/localize.js +189 -0
  85. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US/_lib/match.js +134 -0
  86. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US.js +28 -0
  87. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/max.js +49 -0
  88. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/min.js +49 -0
  89. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/setMonth.js +46 -0
  90. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/setYear.js +40 -0
  91. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfDay.js +35 -0
  92. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfISOWeek.js +35 -0
  93. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfISOWeekYear.js +42 -0
  94. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfMonth.js +37 -0
  95. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfWeek.js +53 -0
  96. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfWeekYear.js +64 -0
  97. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfYear.js +36 -0
  98. package/dist/node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/toDate.js +46 -0
  99. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/DayPicker.js +346 -0
  100. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/UI.js +122 -0
  101. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/classes/CalendarDay.js +33 -0
  102. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/classes/CalendarMonth.js +14 -0
  103. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/classes/CalendarWeek.js +13 -0
  104. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/classes/DateLib.js +599 -0
  105. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/components/CaptionLabel.js +13 -0
  106. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/components/Chevron.js +18 -0
  107. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/components/Day.js +18 -0
  108. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/components/DayButton.js +19 -0
  109. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/components/Dropdown.js +23 -0
  110. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/components/DropdownNav.js +13 -0
  111. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/components/Footer.js +13 -0
  112. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/components/Month.js +15 -0
  113. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/components/MonthCaption.js +14 -0
  114. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/components/MonthGrid.js +13 -0
  115. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/components/Months.js +13 -0
  116. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/components/MonthsDropdown.js +15 -0
  117. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/components/Nav.js +31 -0
  118. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/components/NextMonthButton.js +13 -0
  119. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/components/Option.js +13 -0
  120. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/components/PreviousMonthButton.js +13 -0
  121. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/components/Root.js +14 -0
  122. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/components/Select.js +13 -0
  123. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/components/Week.js +14 -0
  124. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/components/WeekNumber.js +14 -0
  125. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/components/WeekNumberHeader.js +13 -0
  126. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/components/Weekday.js +13 -0
  127. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/components/Weekdays.js +14 -0
  128. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/components/Weeks.js +13 -0
  129. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/components/YearsDropdown.js +15 -0
  130. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/components/custom-components.js +25 -0
  131. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/formatters/formatCaption.js +20 -0
  132. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/formatters/formatDay.js +19 -0
  133. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/formatters/formatMonthDropdown.js +18 -0
  134. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumber.js +21 -0
  135. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumberHeader.js +13 -0
  136. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/formatters/formatWeekdayName.js +19 -0
  137. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/formatters/formatYearDropdown.js +17 -0
  138. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/formatters/index.js +7 -0
  139. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/calculateFocusTarget.js +73 -0
  140. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/createGetModifiers.js +95 -0
  141. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/endOfBroadcastWeek.js +22 -0
  142. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/getBroadcastWeeksInMonth.js +28 -0
  143. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/getClassNamesForModifiers.js +33 -0
  144. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/getComponents.js +20 -0
  145. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/getDataAttributes.js +27 -0
  146. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/getDates.js +59 -0
  147. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/getDays.js +19 -0
  148. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/getDefaultClassNames.js +33 -0
  149. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/getDisplayMonths.js +24 -0
  150. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/getFocusableDate.js +46 -0
  151. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/getFormatters.js +17 -0
  152. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/getInitialMonth.js +27 -0
  153. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/getLabels.js +53 -0
  154. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/getMonthOptions.js +33 -0
  155. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/getMonths.js +69 -0
  156. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/getNavMonth.js +31 -0
  157. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/getNextFocus.js +40 -0
  158. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/getNextMonth.js +36 -0
  159. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/getPreviousMonth.js +37 -0
  160. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/getStyleForModifiers.js +27 -0
  161. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/getWeekdays.js +26 -0
  162. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/getWeeks.js +14 -0
  163. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/getYearOptions.js +36 -0
  164. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/startOfBroadcastWeek.js +27 -0
  165. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/useControlledValue.js +31 -0
  166. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/labels/index.js +11 -0
  167. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/labels/labelDayButton.js +27 -0
  168. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/labels/labelGrid.js +20 -0
  169. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/labels/labelGridcell.js +22 -0
  170. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/labels/labelMonthDropdown.js +14 -0
  171. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/labels/labelNav.js +13 -0
  172. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/labels/labelNext.js +16 -0
  173. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/labels/labelPrevious.js +15 -0
  174. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/labels/labelWeekNumber.js +15 -0
  175. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/labels/labelWeekNumberHeader.js +14 -0
  176. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/labels/labelWeekday.js +18 -0
  177. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/labels/labelYearDropdown.js +14 -0
  178. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/locale/en-US.js +67 -0
  179. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/noonDateLib.js +163 -0
  180. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/selection/useMulti.js +57 -0
  181. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/selection/useRange.js +63 -0
  182. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/selection/useSingle.js +44 -0
  183. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/useAnimation.js +173 -0
  184. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/useCalendar.js +113 -0
  185. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/useDayPicker.js +25 -0
  186. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/useFocus.js +64 -0
  187. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/useSelection.js +31 -0
  188. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/utils/addToRange.js +95 -0
  189. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/utils/convertMatchersToTimeZone.js +61 -0
  190. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/utils/dateMatchModifiers.js +62 -0
  191. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/utils/rangeContainsDayOfWeek.js +30 -0
  192. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/utils/rangeContainsModifiers.js +74 -0
  193. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/utils/rangeIncludesDate.js +35 -0
  194. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/utils/rangeOverlaps.js +21 -0
  195. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/utils/toTimeZone.js +16 -0
  196. package/dist/node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/utils/typeguards.js +66 -0
  197. package/package.json +13 -11
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import type { CalendarProps } from './Calendar.types';
3
+ export declare const Calendar: React.ForwardRefExoticComponent<CalendarProps & React.RefAttributes<HTMLDivElement>>;
4
+ //# sourceMappingURL=Calendar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../../src/components/Calendar/Calendar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAYtD,eAAO,MAAM,QAAQ,sFAsLpB,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { type ClassNames, type CustomComponents } from '@daypicker/react';
2
+ import type { CalendarSize } from './Calendar.styles';
3
+ import type { CaptionLayout, NavLayout } from './Calendar.types';
4
+ export type CaptionDefaultsInput = {
5
+ captionLayout?: CaptionLayout;
6
+ navLayout?: NavLayout;
7
+ startMonth?: Date;
8
+ endMonth?: Date;
9
+ today?: Date;
10
+ };
11
+ export type CaptionDefaults = {
12
+ captionLayout: CaptionLayout;
13
+ navLayout?: NavLayout;
14
+ startMonth?: Date;
15
+ endMonth?: Date;
16
+ };
17
+ /**
18
+ * Resolves Calendar caption chrome defaults when consumers omit layout/bounds.
19
+ * Default is a clickable label caption (in-popover month/year grids) with around-nav.
20
+ * Native DayPicker dropdowns remain available via `captionLayout="dropdown"`.
21
+ * Bounds default to 100y back / 10y forward when both startMonth and endMonth are omitted.
22
+ */
23
+ export declare function resolveCaptionDefaults({ captionLayout: captionLayoutProp, navLayout: navLayoutProp, startMonth: startMonthProp, endMonth: endMonthProp, today, }: CaptionDefaultsInput): CaptionDefaults;
24
+ /**
25
+ * DayPicker replaces default classNames per key. Always keep the `rdp-*`
26
+ * tokens so style.css + theme bridge (range trail gradients, middle band)
27
+ * still match. Selected white text must never win on `.rdp-range_middle`.
28
+ */
29
+ export declare function buildCalendarClassNames(size?: CalendarSize, overrides?: Partial<ClassNames>): Partial<ClassNames>;
30
+ export declare function buildCalendarComponents(overrides?: Partial<CustomComponents>): Partial<CustomComponents>;
31
+ //# sourceMappingURL=Calendar.helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Calendar.helpers.d.ts","sourceRoot":"","sources":["../../../src/components/Calendar/Calendar.helpers.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,gBAAgB,EACtB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAcjE,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,KAAK,CAAC,EAAE,IAAI,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,aAAa,EAAE,iBAAiB,EAChC,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,cAAc,EAC1B,QAAQ,EAAE,YAAY,EACtB,KAAK,GACN,EAAE,oBAAoB,GAAG,eAAe,CAgBxC;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,GAAE,YAAwB,EAC9B,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAC9B,OAAO,CAAC,UAAU,CAAC,CAsGrB;AAED,wBAAgB,uBAAuB,CACrC,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GACpC,OAAO,CAAC,gBAAgB,CAAC,CA6B3B"}
@@ -0,0 +1,153 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { cn } from '@timmbr/utils';
3
+ import { ChevronLeft, ChevronDown, ChevronRight } from '@timmbr/icons';
4
+ import { getDefaultClassNames } from '../../node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/helpers/getDefaultClassNames.js';
5
+
6
+ const selectedDayButton = "[&_button]:bg-primary [&_button]:text-primary-foreground [&_button]:hover:bg-primary [&_button]:hover:text-primary-foreground";
7
+ const baseDayButton = "inline-flex h-full w-full items-center justify-center rounded-[2px] text-body-3 font-medium text-inherit transition-colors duration-150 hover:bg-grey-100 hover:text-foreground dark:hover:bg-grey-800 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-1";
8
+ const navButton = "z-10 inline-flex size-9 shrink-0 items-center justify-center rounded-[2px] text-foreground transition-colors hover:bg-grey-100 dark:hover:bg-grey-800 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary disabled:pointer-events-none disabled:opacity-40";
9
+ const dropdownChrome = "h-8 rounded-[2px] border border-grey-300 bg-background pl-2 pr-1 text-body-3 font-medium text-foreground dark:border-grey-700 dark:bg-grey-900 focus-within:border-primary focus-within:ring-2 focus-within:ring-primary/20";
10
+ function resolveCaptionDefaults({
11
+ captionLayout: captionLayoutProp,
12
+ navLayout: navLayoutProp,
13
+ startMonth: startMonthProp,
14
+ endMonth: endMonthProp,
15
+ today
16
+ }) {
17
+ const captionLayout = captionLayoutProp ?? "label";
18
+ const navLayout = navLayoutProp !== void 0 ? navLayoutProp : "around";
19
+ let startMonth = startMonthProp;
20
+ let endMonth = endMonthProp;
21
+ if (startMonth === void 0 && endMonth === void 0) {
22
+ const year = (today ?? /* @__PURE__ */ new Date()).getFullYear();
23
+ startMonth = new Date(year - 100, 0, 1);
24
+ endMonth = new Date(year + 10, 11, 31);
25
+ }
26
+ return { captionLayout, navLayout, startMonth, endMonth };
27
+ }
28
+ function buildCalendarClassNames(size = "default", overrides) {
29
+ const compact = size === "compact";
30
+ const dcn = getDefaultClassNames();
31
+ const defaults = {
32
+ root: cn(
33
+ dcn.root,
34
+ "rdp-timmbr p-0 bg-transparent",
35
+ // Keep around-nav metrics in sync with size-9 chrome so caption padding matches.
36
+ "[--rdp-nav_button-width:2.25rem] [--rdp-nav_button-height:2.25rem] [--rdp-nav-height:2.25rem]",
37
+ compact && "text-body-3"
38
+ ),
39
+ // Keep months on one row. Wrapping stacks dual-month range calendars and
40
+ // strands around-nav arrows on opposite months (broken caption chrome).
41
+ months: cn(dcn.months, "relative flex flex-row flex-nowrap items-start gap-4"),
42
+ month: cn(dcn.month, "relative flex w-max min-w-[17.5rem] flex-col gap-3"),
43
+ // DayPicker around-nav adds margin-inline equal to nav width. Combined with
44
+ // w-full that overflows right and optically shifts the caption. Use equal
45
+ // padding instead so the label stays centered between the arrows.
46
+ month_caption: cn(
47
+ dcn.month_caption,
48
+ "relative flex h-9 w-full items-center justify-center px-9",
49
+ "![margin-inline:0]"
50
+ ),
51
+ caption_label: cn(
52
+ dcn.caption_label,
53
+ "inline-flex items-center justify-center gap-1 text-body-3 font-semibold text-foreground select-none",
54
+ "[&_svg]:size-3.5 [&_svg]:opacity-70"
55
+ ),
56
+ dropdowns: cn(
57
+ dcn.dropdowns,
58
+ "relative z-[1] inline-flex h-9 items-center justify-center gap-1.5"
59
+ ),
60
+ // Visible chrome wraps the caption_label; native <select> is an invisible hit target.
61
+ dropdown_root: cn(dcn.dropdown_root, "relative inline-flex items-center", dropdownChrome),
62
+ dropdown: cn(
63
+ dcn.dropdown,
64
+ "absolute inset-0 z-[2] m-0 h-full w-full cursor-pointer opacity-0 appearance-none"
65
+ ),
66
+ months_dropdown: cn(dcn.months_dropdown),
67
+ years_dropdown: cn(dcn.years_dropdown),
68
+ nav: cn(dcn.nav, "absolute inset-x-0 top-0 z-[1] flex h-9 items-center justify-between"),
69
+ // Positioning comes from DayPicker `[data-nav-layout=around]` — keep size in sync with px-9.
70
+ button_previous: cn(dcn.button_previous, navButton),
71
+ button_next: cn(dcn.button_next, navButton),
72
+ month_grid: cn(dcn.month_grid, "w-full border-collapse"),
73
+ weekdays: cn(dcn.weekdays, "flex"),
74
+ weekday: cn(
75
+ dcn.weekday,
76
+ "w-10 flex-1 text-center text-caption font-semibold uppercase text-muted-foreground select-none",
77
+ compact && "w-9"
78
+ ),
79
+ week: cn(dcn.week, "mt-1 flex w-full"),
80
+ day: cn(
81
+ dcn.day,
82
+ "relative h-10 w-10 p-0 text-center text-body-3 text-foreground focus-within:z-10",
83
+ compact && "h-9 w-9"
84
+ ),
85
+ day_button: cn(dcn.day_button, baseDayButton),
86
+ selected: cn(
87
+ dcn.selected,
88
+ "[&:not(.rdp-range_middle)]:[&_button]:bg-primary [&:not(.rdp-range_middle)]:[&_button]:text-primary-foreground",
89
+ "[&:not(.rdp-range_middle)]:[&_button]:hover:bg-primary [&:not(.rdp-range_middle)]:[&_button]:hover:text-primary-foreground"
90
+ ),
91
+ today: cn(
92
+ dcn.today,
93
+ "font-semibold text-primary [&:not([data-selected])]:border [&:not([data-selected])]:border-primary/60"
94
+ ),
95
+ outside: cn(
96
+ dcn.outside,
97
+ "text-muted-foreground opacity-50",
98
+ "[&:not(.rdp-range_middle)]:aria-selected:bg-primary/20 [&:not(.rdp-range_middle)]:aria-selected:text-primary-foreground"
99
+ ),
100
+ disabled: cn(dcn.disabled, "pointer-events-none text-muted-foreground opacity-40"),
101
+ hidden: cn(dcn.hidden, "invisible"),
102
+ // Primary fill on the day_button only. Cell keeps DayPicker half-cell
103
+ // gradient tokens so the trail connects into the middle band.
104
+ range_start: cn(dcn.range_start, selectedDayButton, "[&_button]:rounded-[2px]"),
105
+ range_end: cn(dcn.range_end, selectedDayButton, "[&_button]:rounded-[2px]"),
106
+ range_middle: cn(
107
+ dcn.range_middle,
108
+ // DayPicker `.rdp-selected` sets large/bold on every selected day — reset trail only.
109
+ "rounded-none bg-primary/20 text-body-3 font-normal text-foreground",
110
+ "[&_button]:rounded-none [&_button]:bg-transparent [&_button]:text-body-3 [&_button]:font-normal [&_button]:text-foreground [&_button]:shadow-none",
111
+ "[&_button]:hover:bg-transparent [&_button]:hover:text-foreground"
112
+ ),
113
+ chevron: cn(dcn.chevron, "size-3.5 shrink-0 fill-current text-foreground opacity-70")
114
+ };
115
+ if (!overrides) {
116
+ return defaults;
117
+ }
118
+ const merged = { ...defaults };
119
+ for (const key of Object.keys(overrides)) {
120
+ const value = overrides[key];
121
+ if (value === void 0) continue;
122
+ const base = defaults[key];
123
+ merged[key] = base ? cn(base, value) : value;
124
+ }
125
+ return merged;
126
+ }
127
+ function buildCalendarComponents(overrides) {
128
+ const Chevron = ({
129
+ className,
130
+ orientation = "right",
131
+ ...props
132
+ }) => {
133
+ const Icon = orientation === "left" ? ChevronLeft : orientation === "down" || orientation === "up" ? ChevronDown : ChevronRight;
134
+ return /* @__PURE__ */ jsx(
135
+ Icon,
136
+ {
137
+ className: cn(
138
+ "size-4 shrink-0 text-foreground",
139
+ orientation === "up" && "rotate-180",
140
+ className
141
+ ),
142
+ "aria-hidden": true,
143
+ ...props
144
+ }
145
+ );
146
+ };
147
+ return {
148
+ Chevron,
149
+ ...overrides
150
+ };
151
+ }
152
+
153
+ export { buildCalendarClassNames, buildCalendarComponents, resolveCaptionDefaults };
@@ -0,0 +1,188 @@
1
+ "use client";
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import * as React from 'react';
4
+ import { cn } from '@timmbr/utils';
5
+ import { ChevronDown } from '@timmbr/icons';
6
+ import { resolveMotion } from '../../types/motion.js';
7
+ import { resolveCaptionDefaults, buildCalendarClassNames, buildCalendarComponents } from './Calendar.helpers.js';
8
+ import { calendarRootVariants } from './Calendar.styles.js';
9
+ import { CalendarYearPicker, CalendarMonthPicker } from './subcomponents/CalendarMonthYearPickers.js';
10
+ import { useGlobalAnimation } from '../../providers/AnimationProvider.js';
11
+ import { DayPicker } from '../../node_modules/.pnpm/react-day-picker@10.0.2_@types_react@19.3.0_react@19.3.0/node_modules/react-day-picker/dist/esm/DayPicker.js';
12
+
13
+ function startOfMonth(date) {
14
+ return new Date(date.getFullYear(), date.getMonth(), 1);
15
+ }
16
+ const Calendar = React.forwardRef(
17
+ ({
18
+ className,
19
+ classNames,
20
+ components,
21
+ formatters,
22
+ motion,
23
+ size,
24
+ showOutsideDays = true,
25
+ fixedWeeks = false,
26
+ captionLayout,
27
+ navLayout,
28
+ startMonth,
29
+ endMonth,
30
+ captionPicker,
31
+ defaultMonth,
32
+ month: monthProp,
33
+ onMonthChange,
34
+ ...props
35
+ }, ref) => {
36
+ const globalMotion = useGlobalAnimation();
37
+ const { shouldAnimate } = resolveMotion(motion, globalMotion);
38
+ const captionDefaults = resolveCaptionDefaults({
39
+ captionLayout,
40
+ navLayout,
41
+ startMonth,
42
+ endMonth
43
+ });
44
+ const useCaptionPicker = captionPicker ?? captionDefaults.captionLayout === "label";
45
+ const [view, setView] = React.useState("days");
46
+ const [uncontrolledMonth, setUncontrolledMonth] = React.useState(
47
+ () => startOfMonth(monthProp ?? defaultMonth ?? /* @__PURE__ */ new Date())
48
+ );
49
+ const displayMonth = startOfMonth(monthProp ?? uncontrolledMonth);
50
+ const setDisplayMonth = React.useCallback(
51
+ (next) => {
52
+ const normalized = startOfMonth(next);
53
+ if (monthProp === void 0) {
54
+ setUncontrolledMonth(normalized);
55
+ }
56
+ onMonthChange?.(normalized);
57
+ },
58
+ [monthProp, onMonthChange]
59
+ );
60
+ React.useEffect(() => {
61
+ if (monthProp !== void 0) {
62
+ setUncontrolledMonth(startOfMonth(monthProp));
63
+ }
64
+ }, [monthProp]);
65
+ const mergedClassNames = React.useMemo(
66
+ () => buildCalendarClassNames(size ?? "default", classNames),
67
+ [classNames, size]
68
+ );
69
+ const openYears = React.useCallback((fromMonth) => {
70
+ setDisplayMonth(fromMonth);
71
+ setView("years");
72
+ }, [setDisplayMonth]);
73
+ const mergedComponents = React.useMemo(() => {
74
+ const base = buildCalendarComponents(components);
75
+ if (!useCaptionPicker || captionDefaults.captionLayout !== "label") {
76
+ return base;
77
+ }
78
+ return {
79
+ ...base,
80
+ MonthCaption: ({
81
+ calendarMonth,
82
+ displayIndex: _displayIndex,
83
+ className: captionClassName,
84
+ children: _children,
85
+ ...captionProps
86
+ }) => /* @__PURE__ */ jsx(
87
+ "div",
88
+ {
89
+ className: cn(captionClassName, "flex items-center justify-center"),
90
+ ...captionProps,
91
+ children: /* @__PURE__ */ jsxs(
92
+ "button",
93
+ {
94
+ type: "button",
95
+ className: cn(
96
+ mergedClassNames.caption_label,
97
+ "cursor-pointer rounded-[2px] px-1.5 py-1 transition-colors hover:bg-grey-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary dark:hover:bg-grey-800"
98
+ ),
99
+ "aria-label": `Choose month and year, currently ${calendarMonth.date.toLocaleString("default", {
100
+ month: "long",
101
+ year: "numeric"
102
+ })}`,
103
+ onClick: () => openYears(calendarMonth.date),
104
+ children: [
105
+ /* @__PURE__ */ jsx("span", { children: calendarMonth.date.toLocaleString("default", {
106
+ month: "long",
107
+ year: "numeric"
108
+ }) }),
109
+ /* @__PURE__ */ jsx(ChevronDown, { className: "size-3.5 opacity-70", "aria-hidden": true })
110
+ ]
111
+ }
112
+ )
113
+ }
114
+ )
115
+ };
116
+ }, [
117
+ captionDefaults.captionLayout,
118
+ components,
119
+ mergedClassNames.caption_label,
120
+ openYears,
121
+ useCaptionPicker
122
+ ]);
123
+ const dayPickerProps = props;
124
+ return /* @__PURE__ */ jsx(
125
+ "div",
126
+ {
127
+ ref,
128
+ "data-slot": "calendar",
129
+ "data-view": view,
130
+ className: cn(calendarRootVariants({ size }), className),
131
+ children: view === "years" ? /* @__PURE__ */ jsx(
132
+ CalendarYearPicker,
133
+ {
134
+ displayMonth,
135
+ startMonth: captionDefaults.startMonth,
136
+ endMonth: captionDefaults.endMonth,
137
+ onSelectYear: (year) => {
138
+ setDisplayMonth(new Date(year, displayMonth.getMonth(), 1));
139
+ setView("months");
140
+ },
141
+ onDecadeChange: (anchorYear) => {
142
+ setDisplayMonth(new Date(anchorYear, displayMonth.getMonth(), 1));
143
+ }
144
+ }
145
+ ) : view === "months" ? /* @__PURE__ */ jsx(
146
+ CalendarMonthPicker,
147
+ {
148
+ displayMonth,
149
+ startMonth: captionDefaults.startMonth,
150
+ endMonth: captionDefaults.endMonth,
151
+ onSelectMonth: (month) => {
152
+ setDisplayMonth(month);
153
+ setView("days");
154
+ },
155
+ onOpenYears: () => setView("years"),
156
+ onYearChange: (year) => {
157
+ setDisplayMonth(new Date(year, displayMonth.getMonth(), 1));
158
+ }
159
+ }
160
+ ) : /* @__PURE__ */ jsx(
161
+ DayPicker,
162
+ {
163
+ showOutsideDays,
164
+ fixedWeeks,
165
+ animate: shouldAnimate,
166
+ classNames: mergedClassNames,
167
+ captionLayout: captionDefaults.captionLayout,
168
+ navLayout: captionDefaults.navLayout,
169
+ startMonth: captionDefaults.startMonth,
170
+ endMonth: captionDefaults.endMonth,
171
+ defaultMonth,
172
+ ...dayPickerProps,
173
+ components: mergedComponents,
174
+ month: displayMonth,
175
+ onMonthChange: setDisplayMonth,
176
+ formatters: {
177
+ formatMonthDropdown: (month) => month.toLocaleString("default", { month: "short" }),
178
+ ...formatters
179
+ }
180
+ }
181
+ )
182
+ }
183
+ );
184
+ }
185
+ );
186
+ Calendar.displayName = "Calendar";
187
+
188
+ export { Calendar };
@@ -0,0 +1,7 @@
1
+ import { type VariantProps } from 'class-variance-authority';
2
+ export declare const calendarRootVariants: (props?: ({
3
+ size?: "default" | "compact" | null | undefined;
4
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5
+ export type CalendarVariants = VariantProps<typeof calendarRootVariants>;
6
+ export type CalendarSize = NonNullable<CalendarVariants['size']>;
7
+ //# sourceMappingURL=Calendar.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Calendar.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Calendar/Calendar.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,oBAAoB;;8EAU/B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACzE,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { cva } from 'class-variance-authority';
2
+
3
+ const calendarRootVariants = cva("inline-block font-sans text-foreground", {
4
+ variants: {
5
+ size: {
6
+ default: "",
7
+ compact: "text-body-3"
8
+ }
9
+ },
10
+ defaultVariants: {
11
+ size: "default"
12
+ }
13
+ });
14
+
15
+ export { calendarRootVariants };
@@ -0,0 +1,83 @@
1
+ import type { ClassNames, CustomComponents, DayPickerProps, DateRange } from '@daypicker/react';
2
+ import type { MotionProp } from '../../types/motion';
3
+ import type { CalendarVariants } from './Calendar.styles';
4
+ /** Caption chrome layout for month/year navigation. */
5
+ export type CaptionLayout = NonNullable<DayPickerProps['captionLayout']>;
6
+ /** Previous/next button placement relative to the caption. */
7
+ export type NavLayout = NonNullable<DayPickerProps['navLayout']>;
8
+ type CalendarChromeProps = Omit<DayPickerProps, 'mode' | 'selected' | 'onSelect' | 'required' | 'min' | 'max'> & {
9
+ motion?: MotionProp;
10
+ classNames?: Partial<ClassNames>;
11
+ components?: Partial<CustomComponents>;
12
+ /**
13
+ * Caption chrome. Defaults to `'label'` with an in-popover month/year picker.
14
+ * Pass `'dropdown'` / `'dropdown-months'` / `'dropdown-years'` for native selects.
15
+ */
16
+ captionLayout?: CaptionLayout;
17
+ /**
18
+ * Nav button placement. Defaults to `'around'`.
19
+ */
20
+ navLayout?: NavLayout;
21
+ /**
22
+ * When `captionLayout` is `'label'` (default), clicking the caption replaces
23
+ * the day grid with year → month pickers inside the same surface.
24
+ * Defaults to `true` for label captions; ignored for dropdown captions.
25
+ */
26
+ captionPicker?: boolean;
27
+ /**
28
+ * Earliest navigable month. When both `startMonth` and `endMonth` are omitted,
29
+ * defaults to Jan 1 of (currentYear - 100).
30
+ */
31
+ startMonth?: Date;
32
+ /**
33
+ * Latest navigable month. When both `startMonth` and `endMonth` are omitted,
34
+ * defaults to Dec 31 of (currentYear + 10).
35
+ */
36
+ endMonth?: Date;
37
+ /**
38
+ * Day matchers that disable interaction (dates, ranges, day-of-week, etc.).
39
+ * @see https://daypicker.dev/docs/selection-modes#disabled
40
+ */
41
+ disabled?: DayPickerProps['disabled'];
42
+ /**
43
+ * Day matchers that hide days from the grid.
44
+ * @see https://daypicker.dev/docs/selection-modes#hidden
45
+ */
46
+ hidden?: DayPickerProps['hidden'];
47
+ } & CalendarVariants;
48
+ export type CalendarSingleProps = CalendarChromeProps & {
49
+ mode?: 'single';
50
+ selected?: Date;
51
+ onSelect?: (date: Date | undefined) => void;
52
+ /** Require a selected date (DayPicker single-mode required). */
53
+ required?: boolean;
54
+ };
55
+ export type CalendarMultipleProps = CalendarChromeProps & {
56
+ mode: 'multiple';
57
+ selected?: Date[];
58
+ onSelect?: (dates: Date[] | undefined) => void;
59
+ /** Minimum number of selected days. */
60
+ min?: number;
61
+ /** Maximum number of selected days. */
62
+ max?: number;
63
+ required?: boolean;
64
+ };
65
+ export type CalendarRangeProps = CalendarChromeProps & {
66
+ mode: 'range';
67
+ selected?: DateRange;
68
+ onSelect?: (range: DateRange | undefined) => void;
69
+ /** Minimum number of days in the range. */
70
+ min?: number;
71
+ /** Maximum number of days in the range. */
72
+ max?: number;
73
+ required?: boolean;
74
+ };
75
+ export type CalendarUncontrolledProps = CalendarChromeProps & {
76
+ mode?: undefined;
77
+ selected?: undefined;
78
+ onSelect?: undefined;
79
+ required?: undefined;
80
+ };
81
+ export type CalendarProps = CalendarSingleProps | CalendarMultipleProps | CalendarRangeProps | CalendarUncontrolledProps;
82
+ export type { DateRange };
83
+ //# sourceMappingURL=Calendar.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Calendar.types.d.ts","sourceRoot":"","sources":["../../../src/components/Calendar/Calendar.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAChG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,uDAAuD;AACvD,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;AAEzE,8DAA8D;AAC9D,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;AAEjE,KAAK,mBAAmB,GAAG,IAAI,CAC7B,cAAc,EACd,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,KAAK,GAAG,KAAK,CAC9D,GAAG;IACF,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvC;;;OAGG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACtC;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;CACnC,GAAG,gBAAgB,CAAC;AAErB,MAAM,MAAM,mBAAmB,GAAG,mBAAmB,GAAG;IACtD,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAC5C,gEAAgE;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,GAAG;IACxD,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,SAAS,KAAK,IAAI,CAAC;IAC/C,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG;IACrD,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,KAAK,IAAI,CAAC;IAClD,2CAA2C;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,mBAAmB,GAAG;IAC5D,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,aAAa,GACrB,mBAAmB,GACnB,qBAAqB,GACrB,kBAAkB,GAClB,yBAAyB,CAAC;AAE9B,YAAY,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './Calendar';
2
+ export * from './Calendar.types';
3
+ export * from './Calendar.styles';
4
+ export * from './Calendar.helpers';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Calendar/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import * as React from 'react';
2
+ export type CalendarMonthPickerProps = {
3
+ displayMonth: Date;
4
+ startMonth?: Date;
5
+ endMonth?: Date;
6
+ onSelectMonth: (month: Date) => void;
7
+ onOpenYears: () => void;
8
+ onYearChange: (year: number) => void;
9
+ className?: string;
10
+ };
11
+ export declare function CalendarMonthPicker({ displayMonth, startMonth, endMonth, onSelectMonth, onOpenYears, onYearChange, className, }: CalendarMonthPickerProps): React.JSX.Element;
12
+ export type CalendarYearPickerProps = {
13
+ displayMonth: Date;
14
+ startMonth?: Date;
15
+ endMonth?: Date;
16
+ onSelectYear: (year: number) => void;
17
+ onDecadeChange: (anchorYear: number) => void;
18
+ className?: string;
19
+ };
20
+ export declare function CalendarYearPicker({ displayMonth, startMonth, endMonth, onSelectYear, onDecadeChange, className, }: CalendarYearPickerProps): React.JSX.Element;
21
+ //# sourceMappingURL=CalendarMonthYearPickers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CalendarMonthYearPickers.d.ts","sourceRoot":"","sources":["../../../../src/components/Calendar/subcomponents/CalendarMonthYearPickers.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkD/B,MAAM,MAAM,wBAAwB,GAAG;IACrC,YAAY,EAAE,IAAI,CAAC;IACnB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,aAAa,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;IACrC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAClC,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,aAAa,EACb,WAAW,EACX,YAAY,EACZ,SAAS,GACV,EAAE,wBAAwB,qBAqE1B;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,EAAE,IAAI,CAAC;IACnB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,EACjC,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,SAAS,GACV,EAAE,uBAAuB,qBA+DzB"}