@commercetools/nimbus 0.0.0-canary-20251015173928 → 0.0.0-canary-20251015182814

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 (185) hide show
  1. package/dist/accordion.d.ts +26 -11
  2. package/dist/alert.d.ts +54 -28
  3. package/dist/avatar.d.ts +17 -19
  4. package/dist/badge.d.ts +16 -17
  5. package/dist/button.d.ts +23 -16
  6. package/dist/calendar.d.ts +0 -4
  7. package/dist/card.d.ts +18 -18
  8. package/dist/checkbox.d.ts +14 -9
  9. package/dist/chunks/accordion-B2FLWAh5.cjs.js.map +1 -1
  10. package/dist/chunks/accordion-CKDnNkVv.es.js.map +1 -1
  11. package/dist/chunks/alert-CPHjPe4-.cjs.js.map +1 -1
  12. package/dist/chunks/alert-lNg0Rz2w.es.js.map +1 -1
  13. package/dist/chunks/{avatar-BfEMp9g8.es.js → avatar-CTiSGVoD.es.js} +4 -2
  14. package/dist/chunks/avatar-CTiSGVoD.es.js.map +1 -0
  15. package/dist/chunks/avatar-_o-uSXYy.cjs.js.map +1 -1
  16. package/dist/chunks/{badge-JEfh4EDj.es.js → badge-Csn5glEd.es.js} +4 -2
  17. package/dist/chunks/badge-Csn5glEd.es.js.map +1 -0
  18. package/dist/chunks/badge-mMpNb3Qj.cjs.js.map +1 -1
  19. package/dist/chunks/button-B5OOW-2z.cjs.js.map +1 -1
  20. package/dist/chunks/button-IZUJaJku.es.js.map +1 -1
  21. package/dist/chunks/calendar-V0KeNCQ3.cjs.js.map +1 -1
  22. package/dist/chunks/calendar-lD6G93R9.es.js.map +1 -1
  23. package/dist/chunks/card-BB_1xrND.es.js.map +1 -1
  24. package/dist/chunks/card-BPEsGx1J.cjs.js.map +1 -1
  25. package/dist/chunks/{checkbox-DII0AOBy.es.js → checkbox-BB-WJdal.es.js} +2 -8
  26. package/dist/chunks/{checkbox-DII0AOBy.es.js.map → checkbox-BB-WJdal.es.js.map} +1 -1
  27. package/dist/chunks/checkbox-Dod-yTj4.cjs.js.map +1 -1
  28. package/dist/chunks/collapsible-motion-C7M_CLNI.cjs.js.map +1 -1
  29. package/dist/chunks/collapsible-motion-CSrKjF8X.es.js.map +1 -1
  30. package/dist/chunks/combobox-B5UxZWSX.cjs.js.map +1 -1
  31. package/dist/chunks/{combobox-CxEeal66.es.js → combobox-D_7gr3DY.es.js} +2 -2
  32. package/dist/chunks/{combobox-CxEeal66.es.js.map → combobox-D_7gr3DY.es.js.map} +1 -1
  33. package/dist/chunks/data-table-C51WU0Cc.cjs.js.map +1 -1
  34. package/dist/chunks/{data-table-BGCmY93Q.es.js → data-table-ClMivKY1.es.js} +5 -8
  35. package/dist/chunks/{data-table-BGCmY93Q.es.js.map → data-table-ClMivKY1.es.js.map} +1 -1
  36. package/dist/chunks/date-input-Cap8-3zj.es.js.map +1 -1
  37. package/dist/chunks/date-input-DvOM0DLT.cjs.js.map +1 -1
  38. package/dist/chunks/date-picker-CZAoPNsT.cjs.js.map +1 -1
  39. package/dist/chunks/date-picker-ChZ8H-MT.es.js.map +1 -1
  40. package/dist/chunks/date-range-picker-DGWMdcAN.es.js.map +1 -1
  41. package/dist/chunks/date-range-picker-iENzosfN.cjs.js.map +1 -1
  42. package/dist/chunks/{draggable-list-Dv372xXb.es.js → draggable-list-s43baxoM.es.js} +2 -2
  43. package/dist/chunks/{draggable-list-Dv372xXb.es.js.map → draggable-list-s43baxoM.es.js.map} +1 -1
  44. package/dist/chunks/{field-errors-CHxHaB5C.es.js → field-errors-ClQprmQz.es.js} +1 -6
  45. package/dist/chunks/field-errors-ClQprmQz.es.js.map +1 -0
  46. package/dist/chunks/field-errors-D2re_C_c.cjs.js.map +1 -1
  47. package/dist/chunks/group-BqUFlw5R.cjs.js.map +1 -1
  48. package/dist/chunks/group-CWADf2vF.es.js.map +1 -1
  49. package/dist/chunks/{icon-V6yr3oou.es.js → icon-CenxuChf.es.js} +2 -4
  50. package/dist/chunks/icon-CenxuChf.es.js.map +1 -0
  51. package/dist/chunks/icon-D39U--jA.cjs.js.map +1 -1
  52. package/dist/chunks/kbd-BaeV_DL-.cjs.js.map +1 -1
  53. package/dist/chunks/kbd-CH9rYghB.es.js.map +1 -1
  54. package/dist/chunks/link-BEhlSTUU.es.js.map +1 -1
  55. package/dist/chunks/link-DpU4rPCp.cjs.js.map +1 -1
  56. package/dist/chunks/loading-spinner-BiVTAfmp.es.js.map +1 -1
  57. package/dist/chunks/loading-spinner-DQM-6XnY.cjs.js.map +1 -1
  58. package/dist/chunks/{localized-field-D4R1lSbz.es.js → localized-field-D3G0Uy7Z.es.js} +6 -6
  59. package/dist/chunks/{localized-field-D4R1lSbz.es.js.map → localized-field-D3G0Uy7Z.es.js.map} +1 -1
  60. package/dist/chunks/{menu-BkPvV5Ey.es.js → menu-D-vE6ZpM.es.js} +3 -6
  61. package/dist/chunks/menu-D-vE6ZpM.es.js.map +1 -0
  62. package/dist/chunks/menu-DIepV2KZ.cjs.js.map +1 -1
  63. package/dist/chunks/{money-input-jPYw0Jyg.es.js → money-input-sk0Slpeu.es.js} +2 -2
  64. package/dist/chunks/{money-input-jPYw0Jyg.es.js.map → money-input-sk0Slpeu.es.js.map} +1 -1
  65. package/dist/chunks/multiline-text-input-B9TBDieZ.cjs.js.map +1 -1
  66. package/dist/chunks/multiline-text-input-CilSJJaO.es.js.map +1 -1
  67. package/dist/chunks/{password-input-Bf_SPzLj.es.js → password-input-6MO4I-2j.es.js} +2 -2
  68. package/dist/chunks/{password-input-Bf_SPzLj.es.js.map → password-input-6MO4I-2j.es.js.map} +1 -1
  69. package/dist/chunks/popover-CfEq5G5-.cjs.js.map +1 -1
  70. package/dist/chunks/{popover-DF0ppmkw.es.js → popover-DNaC7CwB.es.js} +2 -4
  71. package/dist/chunks/popover-DNaC7CwB.es.js.map +1 -0
  72. package/dist/chunks/progress-bar-Bhp7W6Eo.cjs.js.map +1 -1
  73. package/dist/chunks/progress-bar-DwuOjOcH.es.js.map +1 -1
  74. package/dist/chunks/range-calendar-DBpl6y5i.es.js.map +1 -1
  75. package/dist/chunks/range-calendar-_dZfAsdG.cjs.js.map +1 -1
  76. package/dist/chunks/{rich-text-input-D7DcSuhr.es.js → rich-text-input-BC8CBVio.es.js} +5 -5
  77. package/dist/chunks/rich-text-input-BC8CBVio.es.js.map +1 -0
  78. package/dist/chunks/rich-text-input-Da5WFZ3l.cjs.js.map +1 -1
  79. package/dist/chunks/search-input-BefkmgPy.cjs.js.map +1 -1
  80. package/dist/chunks/search-input-DJy2NHYW.es.js.map +1 -1
  81. package/dist/chunks/separator-CvRn_J0r.cjs.js.map +1 -1
  82. package/dist/chunks/{separator-B0qxXI4c.es.js → separator-DJGUFG-o.es.js} +2 -4
  83. package/dist/chunks/separator-DJGUFG-o.es.js.map +1 -0
  84. package/dist/chunks/split-button-BO52sL7h.cjs.js.map +1 -1
  85. package/dist/chunks/{split-button-yfUsgbxF.es.js → split-button-BxyZmuNi.es.js} +3 -3
  86. package/dist/chunks/split-button-BxyZmuNi.es.js.map +1 -0
  87. package/dist/chunks/{switch-Df_0twKu.es.js → switch-01hEhL9A.es.js} +2 -14
  88. package/dist/chunks/switch-01hEhL9A.es.js.map +1 -0
  89. package/dist/chunks/switch-CdLhBEPq.cjs.js.map +1 -1
  90. package/dist/chunks/tabs-CJ0OAUSR.cjs.js.map +1 -1
  91. package/dist/chunks/{tabs-BCLrKRoZ.es.js → tabs-Dhte-RCe.es.js} +2 -8
  92. package/dist/chunks/{tabs-BCLrKRoZ.es.js.map → tabs-Dhte-RCe.es.js.map} +1 -1
  93. package/dist/chunks/tag-group-Btt0egzG.cjs.js.map +1 -1
  94. package/dist/chunks/{tag-group-B-eOhltn.es.js → tag-group-D2dgXSsV.es.js} +3 -9
  95. package/dist/chunks/{tag-group-B-eOhltn.es.js.map → tag-group-D2dgXSsV.es.js.map} +1 -1
  96. package/dist/chunks/text-input-CSAODlCw.es.js.map +1 -1
  97. package/dist/chunks/text-input-DZdkCbdd.cjs.js.map +1 -1
  98. package/dist/chunks/time-input--a_qv-Jk.es.js.map +1 -1
  99. package/dist/chunks/time-input-zXykDANk.cjs.js.map +1 -1
  100. package/dist/chunks/toggle-button-DxMZsem4.cjs.js.map +1 -1
  101. package/dist/chunks/toggle-button-awb1jBf8.es.js.map +1 -1
  102. package/dist/chunks/toolbar-DV0l5MqA.cjs.js.map +1 -1
  103. package/dist/chunks/{toolbar-BDatiEYj.es.js → toolbar-Dduysqqi.es.js} +4 -2
  104. package/dist/chunks/toolbar-Dduysqqi.es.js.map +1 -0
  105. package/dist/chunks/tooltip-BPTOkK7W.cjs.js.map +1 -1
  106. package/dist/chunks/{tooltip-CHm25f4m.es.js → tooltip-sgakxhiy.es.js} +2 -4
  107. package/dist/chunks/{tooltip-CHm25f4m.es.js.map → tooltip-sgakxhiy.es.js.map} +1 -1
  108. package/dist/collapsible-motion.d.ts +55 -42
  109. package/dist/combobox.d.ts +45 -25
  110. package/dist/components/avatar.es.js +1 -1
  111. package/dist/components/badge.es.js +1 -1
  112. package/dist/components/checkbox.es.js +1 -1
  113. package/dist/components/combobox.es.js +1 -1
  114. package/dist/components/data-table.es.js +1 -1
  115. package/dist/components/draggable-list.es.js +1 -1
  116. package/dist/components/field-errors.es.js +1 -1
  117. package/dist/components/icon.es.js +1 -1
  118. package/dist/components/localized-field.es.js +1 -1
  119. package/dist/components/money-input.es.js +1 -1
  120. package/dist/components/password-input.es.js +1 -1
  121. package/dist/components/popover.es.js +1 -1
  122. package/dist/components/rich-text-input.es.js +1 -1
  123. package/dist/components/separator.es.js +1 -1
  124. package/dist/components/split-button.es.js +1 -1
  125. package/dist/components/switch.es.js +1 -1
  126. package/dist/components/tabs.es.js +1 -1
  127. package/dist/components/tag-group.es.js +1 -1
  128. package/dist/components/toolbar.es.js +1 -1
  129. package/dist/components/tooltip.es.js +1 -1
  130. package/dist/components.d.ts +31 -20
  131. package/dist/data-table.d.ts +4 -24
  132. package/dist/date-input.d.ts +10 -35
  133. package/dist/date-picker.d.ts +13 -66
  134. package/dist/date-range-picker.d.ts +10 -21
  135. package/dist/dialog.d.ts +31 -20
  136. package/dist/draggable-list.d.ts +35 -11
  137. package/dist/drawer.d.ts +45 -36
  138. package/dist/field-errors.d.ts +33 -25
  139. package/dist/form-field.d.ts +32 -12
  140. package/dist/group.d.ts +8 -12
  141. package/dist/icon-button.d.ts +29 -20
  142. package/dist/icon-toggle-button.d.ts +21 -16
  143. package/dist/icon.d.ts +0 -19
  144. package/dist/index.d.ts +31 -20
  145. package/dist/index.es.js +21 -21
  146. package/dist/inline-svg.d.ts +2 -21
  147. package/dist/link.d.ts +14 -24
  148. package/dist/loading-spinner.d.ts +13 -22
  149. package/dist/localized-field.d.ts +2 -5
  150. package/dist/money-input.d.ts +4 -0
  151. package/dist/multiline-text-input.d.ts +21 -7
  152. package/dist/nimbus-provider.d.ts +20 -8
  153. package/dist/number-input.d.ts +13 -2
  154. package/dist/pagination.d.ts +33 -9
  155. package/dist/password-input.d.ts +16 -10
  156. package/dist/popover.d.ts +3 -3
  157. package/dist/progress-bar.d.ts +21 -22
  158. package/dist/radio-input.d.ts +8 -3
  159. package/dist/range-calendar.d.ts +0 -7
  160. package/dist/scoped-search-input.d.ts +29 -92
  161. package/dist/search-input.d.ts +14 -10
  162. package/dist/select.d.ts +25 -9
  163. package/dist/separator.d.ts +10 -27
  164. package/dist/split-button.d.ts +23 -16
  165. package/dist/switch.d.ts +6 -11
  166. package/dist/tabs.d.ts +12 -13
  167. package/dist/tag-group.d.ts +4 -10
  168. package/dist/text-input.d.ts +19 -8
  169. package/dist/time-input.d.ts +8 -38
  170. package/dist/toggle-button-group.d.ts +9 -10
  171. package/dist/toggle-button.d.ts +15 -15
  172. package/dist/toolbar.d.ts +5 -11
  173. package/dist/tooltip.d.ts +23 -28
  174. package/package.json +5 -5
  175. package/dist/chunks/avatar-BfEMp9g8.es.js.map +0 -1
  176. package/dist/chunks/badge-JEfh4EDj.es.js.map +0 -1
  177. package/dist/chunks/field-errors-CHxHaB5C.es.js.map +0 -1
  178. package/dist/chunks/icon-V6yr3oou.es.js.map +0 -1
  179. package/dist/chunks/menu-BkPvV5Ey.es.js.map +0 -1
  180. package/dist/chunks/popover-DF0ppmkw.es.js.map +0 -1
  181. package/dist/chunks/rich-text-input-D7DcSuhr.es.js.map +0 -1
  182. package/dist/chunks/separator-B0qxXI4c.es.js.map +0 -1
  183. package/dist/chunks/split-button-yfUsgbxF.es.js.map +0 -1
  184. package/dist/chunks/switch-Df_0twKu.es.js.map +0 -1
  185. package/dist/chunks/toolbar-BDatiEYj.es.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"range-calendar-DBpl6y5i.es.js","sources":["../../src/components/range-calendar/range-calendar.slots.tsx","../../src/components/range-calendar/components/range-calendar.grids.tsx","../../src/components/range-calendar/components/range-calendar.header.tsx","../../src/components/range-calendar/components/range-calendar.custom-context.tsx","../../src/components/range-calendar/range-calendar.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport type {\n RangeCalendarRootSlotProps,\n RangeCalendarHeaderSlotProps,\n RangeCalendarGridsSlotProps,\n RangeCalendarMonthTitleSlotProps,\n RangeCalendarGridSlotProps,\n RangeCalendarGridHeaderSlotProps,\n RangeCalendarHeaderCellSlotProps,\n RangeCalendarGridBodySlotProps,\n RangeCalendarCellSlotProps,\n} from \"./range-calendar.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"rangeCalendar\",\n});\n\nexport const RangeCalendarRootSlot = withProvider<\n HTMLDivElement,\n RangeCalendarRootSlotProps\n>(\"div\", \"root\");\n\nexport const RangeCalendarHeaderSlot = withContext<\n HTMLDivElement,\n RangeCalendarHeaderSlotProps\n>(\"div\", \"header\");\n\nexport const RangeCalendarGridsSlot = withContext<\n HTMLDivElement,\n RangeCalendarGridsSlotProps\n>(\"div\", \"grids\");\n\nexport const RangeCalendarMonthTitleSlot = withContext<\n HTMLDivElement,\n RangeCalendarMonthTitleSlotProps\n>(\"div\", \"monthTitle\");\n\nexport const RangeCalendarGridSlot = withContext<\n HTMLTableElement,\n RangeCalendarGridSlotProps\n>(\"table\", \"grid\");\n\nexport const RangeCalendarGridHeaderSlot = withContext<\n HTMLTableSectionElement,\n RangeCalendarGridHeaderSlotProps\n>(\"thead\", \"gridHeader\");\n\nexport const RangeCalendarHeaderCellSlot = withContext<\n HTMLTableCellElement,\n RangeCalendarHeaderCellSlotProps\n>(\"th\", \"headerCell\");\n\nexport const RangeCalendarGridBodySlot = withContext<\n HTMLTableSectionElement,\n RangeCalendarGridBodySlotProps\n>(\"tbody\", \"gridBody\");\n\nexport const RangeCalendarCellSlot = withContext<\n HTMLTableCellElement,\n RangeCalendarCellSlotProps\n>(\"td\", \"bodyCell\");\n","import { useContext } from \"react\";\nimport { today, getLocalTimeZone } from \"@internationalized/date\";\nimport {\n CalendarGrid as RaCalendarGrid,\n CalendarGridBody as RaCalendarGridBody,\n CalendarGridHeader as RaCalendarGridHeader,\n CalendarHeaderCell as RaCalendarHeaderCell,\n CalendarCell as RaCalendarCell,\n useSlottedContext,\n RangeCalendarContext,\n RangeCalendarStateContext,\n useLocale,\n} from \"react-aria-components\";\nimport { Box } from \"@/components\";\n\nimport {\n RangeCalendarCellSlot,\n RangeCalendarGridBodySlot,\n RangeCalendarGridHeaderSlot,\n RangeCalendarGridsSlot,\n RangeCalendarGridSlot,\n RangeCalendarHeaderCellSlot,\n RangeCalendarMonthTitleSlot,\n} from \"../range-calendar.slots\";\n\nexport const RangeCalendarGrids = () => {\n const { locale } = useLocale();\n const context = useSlottedContext(RangeCalendarContext);\n\n const calendarState = useContext(RangeCalendarStateContext)!;\n const visibleMonthsCount = context?.visibleDuration?.months || 1;\n const todayDate = today(getLocalTimeZone());\n const showMonthTitles = visibleMonthsCount > 1;\n\n return (\n <RangeCalendarGridsSlot>\n {Array.from({ length: visibleMonthsCount }, (_, index) => {\n const gridDate = calendarState.visibleRange.start.add({\n months: index,\n });\n const monthName = new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(gridDate.toDate(getLocalTimeZone()));\n\n return (\n <Box\n key={monthName}\n width={visibleMonthsCount == 1 ? \"full\" : \"auto\"}\n >\n {showMonthTitles && (\n <RangeCalendarMonthTitleSlot>\n {monthName}\n </RangeCalendarMonthTitleSlot>\n )}\n <RangeCalendarGridSlot asChild>\n <RaCalendarGrid offset={{ months: index }} weekdayStyle=\"short\">\n <RangeCalendarGridHeaderSlot asChild>\n <RaCalendarGridHeader>\n {(day) => (\n <RangeCalendarHeaderCellSlot asChild>\n <RaCalendarHeaderCell>{day}</RaCalendarHeaderCell>\n </RangeCalendarHeaderCellSlot>\n )}\n </RaCalendarGridHeader>\n </RangeCalendarGridHeaderSlot>\n <RangeCalendarGridBodySlot asChild>\n <RaCalendarGridBody>\n {(date) => {\n const isToday = date.compare(todayDate) === 0;\n return (\n <RangeCalendarCellSlot asChild data-today={isToday}>\n <RaCalendarCell date={date} />\n </RangeCalendarCellSlot>\n );\n }}\n </RaCalendarGridBody>\n </RangeCalendarGridBodySlot>\n </RaCalendarGrid>\n </RangeCalendarGridSlot>\n </Box>\n );\n })}\n </RangeCalendarGridsSlot>\n );\n};\n","import {\n RangeCalendarContext,\n Heading,\n useSlottedContext,\n} from \"react-aria-components\";\nimport {\n Box,\n Flex,\n IconButton,\n Stack,\n Text,\n VisuallyHidden,\n} from \"@/components\";\nimport {\n KeyboardArrowLeft,\n KeyboardArrowRight,\n} from \"@commercetools/nimbus-icons\";\nimport { RangeCalendarHeaderSlot } from \"../range-calendar.slots\";\n\nexport const RangeCalendarHeader = () => {\n const rangeCalendarProps = useSlottedContext(RangeCalendarContext);\n\n // Needed to decide whether to show a single month or a range\n const visibleDurationMonths =\n rangeCalendarProps?.visibleDuration?.months || 1;\n const showRangeLabel = visibleDurationMonths > 1;\n\n return (\n <RangeCalendarHeaderSlot>\n <Flex>\n <Stack direction=\"row\" alignItems=\"center\">\n {/** solely for screen readers, if not present, a11y issues are raised */}\n <VisuallyHidden>\n <Heading />\n </VisuallyHidden>\n {/* @ts-expect-error - custom-context will add aria-label via the \"slot\" prop */}\n <IconButton\n slot={showRangeLabel ? \"previous\" : \"previous-month\"}\n size=\"xs\"\n variant=\"ghost\"\n tone=\"primary\"\n >\n <KeyboardArrowLeft />\n </IconButton>\n <Text\n textStyle=\"sm\"\n fontWeight=\"500\"\n color=\"neutral.11\"\n width={showRangeLabel ? \"4000\" : \"2000\"}\n textAlign=\"center\"\n aria-hidden=\"true\"\n slot={showRangeLabel ? \"monthRange\" : \"month\"}\n />\n {/* @ts-expect-error - custom-context will add aria-label via the \"slot\" prop */}\n <IconButton\n slot={showRangeLabel ? \"next\" : \"next-month\"}\n size=\"xs\"\n variant=\"ghost\"\n tone=\"primary\"\n >\n <KeyboardArrowRight />\n </IconButton>\n </Stack>\n <Box flexGrow=\"1\" />\n <Stack direction=\"row\" alignItems=\"center\">\n {/* @ts-expect-error - custom-context will add aria-label via the \"slot\" prop */}\n <IconButton\n slot=\"previous-year\"\n size=\"xs\"\n variant=\"ghost\"\n tone=\"primary\"\n >\n <KeyboardArrowLeft />\n </IconButton>\n <Text\n textStyle=\"sm\"\n fontWeight=\"500\"\n color=\"neutral.11\"\n width=\"1400\"\n textAlign=\"center\"\n aria-hidden=\"true\"\n slot=\"year\"\n />\n {/* @ts-expect-error - custom-context will add aria-label via the \"slot\" prop */}\n <IconButton slot=\"next-year\" size=\"xs\" variant=\"ghost\" tone=\"primary\">\n <KeyboardArrowRight />\n </IconButton>\n </Stack>\n </Flex>\n </RangeCalendarHeaderSlot>\n );\n};\n","import { getLocalTimeZone } from \"@internationalized/date\";\nimport { useContext } from \"react\";\nimport {\n Provider,\n ButtonContext,\n RangeCalendarStateContext,\n TextContext,\n useLocale,\n} from \"react-aria-components\";\n\nexport const RangeCalendarCustomContext = ({\n children,\n}: {\n children: React.ReactNode;\n}) => {\n const { locale } = useLocale();\n const buttonContext = useContext(ButtonContext)!;\n const textContext = useContext(TextContext)!;\n const calendarState = useContext(RangeCalendarStateContext)!;\n\n /**\n * Button slots\n * ================================\n */\n const buttonSlots = {\n \"next-month\": {\n onPress: () => calendarState.focusNextSection(),\n \"aria-label\": \"Next month\",\n },\n \"previous-month\": {\n onPress: () => calendarState.focusPreviousSection(),\n \"aria-label\": \"Previous month\",\n },\n \"next-year\": {\n onPress: () => calendarState.focusNextSection(true),\n \"aria-label\": \"Next year\",\n },\n \"previous-year\": {\n onPress: () => calendarState.focusPreviousSection(true),\n \"aria-label\": \"Previous year\",\n },\n };\n\n /**\n * Text slots\n * ================================\n */\n const monthLabel = new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(calendarState.focusedDate.toDate(getLocalTimeZone()));\n\n const monthRangeLabel = [\n new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(calendarState.visibleRange.start.toDate(getLocalTimeZone())),\n new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(calendarState.visibleRange.end.toDate(getLocalTimeZone())),\n ].join(\" - \");\n\n const yearLabel = new Intl.DateTimeFormat(locale, {\n year: \"numeric\",\n }).format(calendarState.focusedDate.toDate(getLocalTimeZone()));\n\n const textSlots = {\n month: { children: monthLabel },\n monthRange: { children: monthRangeLabel },\n year: { children: yearLabel },\n };\n\n return (\n <Provider\n values={[\n [\n ButtonContext,\n {\n ...buttonContext,\n slots: {\n ...(buttonContext &&\n typeof buttonContext === \"object\" &&\n \"slots\" in buttonContext\n ? buttonContext.slots\n : {}),\n ...buttonSlots,\n },\n },\n ],\n [\n TextContext,\n {\n ...textContext,\n slots: {\n ...(textContext &&\n typeof textContext === \"object\" &&\n \"slots\" in textContext\n ? textContext.slots\n : {}),\n ...textSlots,\n },\n },\n ],\n ]}\n >\n {children}\n </Provider>\n );\n};\n","import type { RangeCalendarProps } from \"./range-calendar.types\";\nimport type { DateValue } from \"@internationalized/date\";\n\nimport { RangeCalendar as RaRangeCalendar } from \"react-aria-components\";\n\nimport { RangeCalendarRootSlot } from \"./range-calendar.slots\";\nimport { RangeCalendarGrids } from \"./components/range-calendar.grids\";\nimport { RangeCalendarHeader } from \"./components/range-calendar.header\";\nimport { rangeCalendarSlotRecipe } from \"./range-calendar.recipe\";\nimport { useRecipe } from \"@chakra-ui/react/styled-system\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\nimport { RangeCalendarCustomContext } from \"./components/range-calendar.custom-context\";\n\nexport const RangeCalendar = (props: RangeCalendarProps<DateValue>) => {\n const recipe = useRecipe({ recipe: rangeCalendarSlotRecipe });\n const [recipeProps, remainingProps] = recipe.splitVariantProps(props);\n const [styleProps, otherProps] = extractStyleProps(remainingProps);\n\n return (\n <RangeCalendarRootSlot {...recipeProps} {...styleProps} asChild>\n <RaRangeCalendar {...otherProps}>\n <RangeCalendarCustomContext>\n <RangeCalendarHeader />\n <RangeCalendarGrids />\n </RangeCalendarCustomContext>\n </RaRangeCalendar>\n </RangeCalendarRootSlot>\n );\n};\n"],"names":["withProvider","withContext","createSlotRecipeContext","RangeCalendarRootSlot","RangeCalendarHeaderSlot","RangeCalendarGridsSlot","RangeCalendarMonthTitleSlot","RangeCalendarGridSlot","RangeCalendarGridHeaderSlot","RangeCalendarHeaderCellSlot","RangeCalendarGridBodySlot","RangeCalendarCellSlot","RangeCalendarGrids","locale","useLocale","context","useSlottedContext","RangeCalendarContext","calendarState","useContext","RangeCalendarStateContext","visibleMonthsCount","todayDate","today","getLocalTimeZone","showMonthTitles","jsx","_","index","gridDate","monthName","jsxs","Box","RaCalendarGrid","RaCalendarGridHeader","day","RaCalendarHeaderCell","RaCalendarGridBody","date","isToday","RaCalendarCell","RangeCalendarHeader","showRangeLabel","Flex","Stack","VisuallyHidden","Heading","IconButton","KeyboardArrowLeft","Text","KeyboardArrowRight","RangeCalendarCustomContext","children","buttonContext","ButtonContext","textContext","TextContext","buttonSlots","monthLabel","monthRangeLabel","yearLabel","textSlots","Provider","RangeCalendar","props","recipe","useRecipe","rangeCalendarSlotRecipe","recipeProps","remainingProps","styleProps","otherProps","extractStyleProps","RaRangeCalendar"],"mappings":"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"}
1
+ {"version":3,"file":"range-calendar-DBpl6y5i.es.js","sources":["../../src/components/range-calendar/range-calendar.slots.tsx","../../src/components/range-calendar/components/range-calendar.grids.tsx","../../src/components/range-calendar/components/range-calendar.header.tsx","../../src/components/range-calendar/components/range-calendar.custom-context.tsx","../../src/components/range-calendar/range-calendar.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport type {\n RangeCalendarRootSlotProps,\n RangeCalendarHeaderSlotProps,\n RangeCalendarGridsSlotProps,\n RangeCalendarMonthTitleSlotProps,\n RangeCalendarGridSlotProps,\n RangeCalendarGridHeaderSlotProps,\n RangeCalendarHeaderCellSlotProps,\n RangeCalendarGridBodySlotProps,\n RangeCalendarCellSlotProps,\n} from \"./range-calendar.types\";\nimport type { SlotComponent } from \"../utils/slot-types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"rangeCalendar\",\n});\n\nexport const RangeCalendarRootSlot: SlotComponent<\n HTMLDivElement,\n RangeCalendarRootSlotProps\n> = withProvider<HTMLDivElement, RangeCalendarRootSlotProps>(\"div\", \"root\");\n\nexport const RangeCalendarHeaderSlot = withContext<\n HTMLDivElement,\n RangeCalendarHeaderSlotProps\n>(\"div\", \"header\");\n\nexport const RangeCalendarGridsSlot = withContext<\n HTMLDivElement,\n RangeCalendarGridsSlotProps\n>(\"div\", \"grids\");\n\nexport const RangeCalendarMonthTitleSlot = withContext<\n HTMLDivElement,\n RangeCalendarMonthTitleSlotProps\n>(\"div\", \"monthTitle\");\n\nexport const RangeCalendarGridSlot = withContext<\n HTMLTableElement,\n RangeCalendarGridSlotProps\n>(\"table\", \"grid\");\n\nexport const RangeCalendarGridHeaderSlot = withContext<\n HTMLTableSectionElement,\n RangeCalendarGridHeaderSlotProps\n>(\"thead\", \"gridHeader\");\n\nexport const RangeCalendarHeaderCellSlot = withContext<\n HTMLTableCellElement,\n RangeCalendarHeaderCellSlotProps\n>(\"th\", \"headerCell\");\n\nexport const RangeCalendarGridBodySlot = withContext<\n HTMLTableSectionElement,\n RangeCalendarGridBodySlotProps\n>(\"tbody\", \"gridBody\");\n\nexport const RangeCalendarCellSlot = withContext<\n HTMLTableCellElement,\n RangeCalendarCellSlotProps\n>(\"td\", \"bodyCell\");\n","import { useContext } from \"react\";\nimport { today, getLocalTimeZone } from \"@internationalized/date\";\nimport {\n CalendarGrid as RaCalendarGrid,\n CalendarGridBody as RaCalendarGridBody,\n CalendarGridHeader as RaCalendarGridHeader,\n CalendarHeaderCell as RaCalendarHeaderCell,\n CalendarCell as RaCalendarCell,\n useSlottedContext,\n RangeCalendarContext,\n RangeCalendarStateContext,\n useLocale,\n} from \"react-aria-components\";\nimport { Box } from \"@/components\";\n\nimport {\n RangeCalendarCellSlot,\n RangeCalendarGridBodySlot,\n RangeCalendarGridHeaderSlot,\n RangeCalendarGridsSlot,\n RangeCalendarGridSlot,\n RangeCalendarHeaderCellSlot,\n RangeCalendarMonthTitleSlot,\n} from \"../range-calendar.slots\";\n\nexport const RangeCalendarGrids = () => {\n const { locale } = useLocale();\n const context = useSlottedContext(RangeCalendarContext);\n\n const calendarState = useContext(RangeCalendarStateContext)!;\n const visibleMonthsCount = context?.visibleDuration?.months || 1;\n const todayDate = today(getLocalTimeZone());\n const showMonthTitles = visibleMonthsCount > 1;\n\n return (\n <RangeCalendarGridsSlot>\n {Array.from({ length: visibleMonthsCount }, (_, index) => {\n const gridDate = calendarState.visibleRange.start.add({\n months: index,\n });\n const monthName = new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(gridDate.toDate(getLocalTimeZone()));\n\n return (\n <Box\n key={monthName}\n width={visibleMonthsCount == 1 ? \"full\" : \"auto\"}\n >\n {showMonthTitles && (\n <RangeCalendarMonthTitleSlot>\n {monthName}\n </RangeCalendarMonthTitleSlot>\n )}\n <RangeCalendarGridSlot asChild>\n <RaCalendarGrid offset={{ months: index }} weekdayStyle=\"short\">\n <RangeCalendarGridHeaderSlot asChild>\n <RaCalendarGridHeader>\n {(day) => (\n <RangeCalendarHeaderCellSlot asChild>\n <RaCalendarHeaderCell>{day}</RaCalendarHeaderCell>\n </RangeCalendarHeaderCellSlot>\n )}\n </RaCalendarGridHeader>\n </RangeCalendarGridHeaderSlot>\n <RangeCalendarGridBodySlot asChild>\n <RaCalendarGridBody>\n {(date) => {\n const isToday = date.compare(todayDate) === 0;\n return (\n <RangeCalendarCellSlot asChild data-today={isToday}>\n <RaCalendarCell date={date} />\n </RangeCalendarCellSlot>\n );\n }}\n </RaCalendarGridBody>\n </RangeCalendarGridBodySlot>\n </RaCalendarGrid>\n </RangeCalendarGridSlot>\n </Box>\n );\n })}\n </RangeCalendarGridsSlot>\n );\n};\n","import {\n RangeCalendarContext,\n Heading,\n useSlottedContext,\n} from \"react-aria-components\";\nimport {\n Box,\n Flex,\n IconButton,\n Stack,\n Text,\n VisuallyHidden,\n} from \"@/components\";\nimport {\n KeyboardArrowLeft,\n KeyboardArrowRight,\n} from \"@commercetools/nimbus-icons\";\nimport { RangeCalendarHeaderSlot } from \"../range-calendar.slots\";\n\nexport const RangeCalendarHeader = () => {\n const rangeCalendarProps = useSlottedContext(RangeCalendarContext);\n\n // Needed to decide whether to show a single month or a range\n const visibleDurationMonths =\n rangeCalendarProps?.visibleDuration?.months || 1;\n const showRangeLabel = visibleDurationMonths > 1;\n\n return (\n <RangeCalendarHeaderSlot>\n <Flex>\n <Stack direction=\"row\" alignItems=\"center\">\n {/** solely for screen readers, if not present, a11y issues are raised */}\n <VisuallyHidden>\n <Heading />\n </VisuallyHidden>\n {/* @ts-expect-error - custom-context will add aria-label via the \"slot\" prop */}\n <IconButton\n slot={showRangeLabel ? \"previous\" : \"previous-month\"}\n size=\"xs\"\n variant=\"ghost\"\n tone=\"primary\"\n >\n <KeyboardArrowLeft />\n </IconButton>\n <Text\n textStyle=\"sm\"\n fontWeight=\"500\"\n color=\"neutral.11\"\n width={showRangeLabel ? \"4000\" : \"2000\"}\n textAlign=\"center\"\n aria-hidden=\"true\"\n slot={showRangeLabel ? \"monthRange\" : \"month\"}\n />\n {/* @ts-expect-error - custom-context will add aria-label via the \"slot\" prop */}\n <IconButton\n slot={showRangeLabel ? \"next\" : \"next-month\"}\n size=\"xs\"\n variant=\"ghost\"\n tone=\"primary\"\n >\n <KeyboardArrowRight />\n </IconButton>\n </Stack>\n <Box flexGrow=\"1\" />\n <Stack direction=\"row\" alignItems=\"center\">\n {/* @ts-expect-error - custom-context will add aria-label via the \"slot\" prop */}\n <IconButton\n slot=\"previous-year\"\n size=\"xs\"\n variant=\"ghost\"\n tone=\"primary\"\n >\n <KeyboardArrowLeft />\n </IconButton>\n <Text\n textStyle=\"sm\"\n fontWeight=\"500\"\n color=\"neutral.11\"\n width=\"1400\"\n textAlign=\"center\"\n aria-hidden=\"true\"\n slot=\"year\"\n />\n {/* @ts-expect-error - custom-context will add aria-label via the \"slot\" prop */}\n <IconButton slot=\"next-year\" size=\"xs\" variant=\"ghost\" tone=\"primary\">\n <KeyboardArrowRight />\n </IconButton>\n </Stack>\n </Flex>\n </RangeCalendarHeaderSlot>\n );\n};\n","import { getLocalTimeZone } from \"@internationalized/date\";\nimport { useContext } from \"react\";\nimport {\n Provider,\n ButtonContext,\n RangeCalendarStateContext,\n TextContext,\n useLocale,\n} from \"react-aria-components\";\n\nexport const RangeCalendarCustomContext = ({\n children,\n}: {\n children: React.ReactNode;\n}) => {\n const { locale } = useLocale();\n const buttonContext = useContext(ButtonContext)!;\n const textContext = useContext(TextContext)!;\n const calendarState = useContext(RangeCalendarStateContext)!;\n\n /**\n * Button slots\n * ================================\n */\n const buttonSlots = {\n \"next-month\": {\n onPress: () => calendarState.focusNextSection(),\n \"aria-label\": \"Next month\",\n },\n \"previous-month\": {\n onPress: () => calendarState.focusPreviousSection(),\n \"aria-label\": \"Previous month\",\n },\n \"next-year\": {\n onPress: () => calendarState.focusNextSection(true),\n \"aria-label\": \"Next year\",\n },\n \"previous-year\": {\n onPress: () => calendarState.focusPreviousSection(true),\n \"aria-label\": \"Previous year\",\n },\n };\n\n /**\n * Text slots\n * ================================\n */\n const monthLabel = new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(calendarState.focusedDate.toDate(getLocalTimeZone()));\n\n const monthRangeLabel = [\n new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(calendarState.visibleRange.start.toDate(getLocalTimeZone())),\n new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(calendarState.visibleRange.end.toDate(getLocalTimeZone())),\n ].join(\" - \");\n\n const yearLabel = new Intl.DateTimeFormat(locale, {\n year: \"numeric\",\n }).format(calendarState.focusedDate.toDate(getLocalTimeZone()));\n\n const textSlots = {\n month: { children: monthLabel },\n monthRange: { children: monthRangeLabel },\n year: { children: yearLabel },\n };\n\n return (\n <Provider\n values={[\n [\n ButtonContext,\n {\n ...buttonContext,\n slots: {\n ...(buttonContext &&\n typeof buttonContext === \"object\" &&\n \"slots\" in buttonContext\n ? buttonContext.slots\n : {}),\n ...buttonSlots,\n },\n },\n ],\n [\n TextContext,\n {\n ...textContext,\n slots: {\n ...(textContext &&\n typeof textContext === \"object\" &&\n \"slots\" in textContext\n ? textContext.slots\n : {}),\n ...textSlots,\n },\n },\n ],\n ]}\n >\n {children}\n </Provider>\n );\n};\n","import type { RangeCalendarProps } from \"./range-calendar.types\";\nimport type { DateValue } from \"@internationalized/date\";\n\nimport { RangeCalendar as RaRangeCalendar } from \"react-aria-components\";\n\nimport { RangeCalendarRootSlot } from \"./range-calendar.slots\";\nimport { RangeCalendarGrids } from \"./components/range-calendar.grids\";\nimport { RangeCalendarHeader } from \"./components/range-calendar.header\";\nimport { rangeCalendarSlotRecipe } from \"./range-calendar.recipe\";\nimport { useRecipe } from \"@chakra-ui/react/styled-system\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\nimport { RangeCalendarCustomContext } from \"./components/range-calendar.custom-context\";\n\nexport const RangeCalendar = (props: RangeCalendarProps<DateValue>) => {\n const recipe = useRecipe({ recipe: rangeCalendarSlotRecipe });\n const [recipeProps, remainingProps] = recipe.splitVariantProps(props);\n const [styleProps, otherProps] = extractStyleProps(remainingProps);\n\n return (\n <RangeCalendarRootSlot {...recipeProps} {...styleProps} asChild>\n <RaRangeCalendar {...otherProps}>\n <RangeCalendarCustomContext>\n <RangeCalendarHeader />\n <RangeCalendarGrids />\n </RangeCalendarCustomContext>\n </RaRangeCalendar>\n </RangeCalendarRootSlot>\n );\n};\n"],"names":["withProvider","withContext","createSlotRecipeContext","RangeCalendarRootSlot","RangeCalendarHeaderSlot","RangeCalendarGridsSlot","RangeCalendarMonthTitleSlot","RangeCalendarGridSlot","RangeCalendarGridHeaderSlot","RangeCalendarHeaderCellSlot","RangeCalendarGridBodySlot","RangeCalendarCellSlot","RangeCalendarGrids","locale","useLocale","context","useSlottedContext","RangeCalendarContext","calendarState","useContext","RangeCalendarStateContext","visibleMonthsCount","todayDate","today","getLocalTimeZone","showMonthTitles","jsx","_","index","gridDate","monthName","jsxs","Box","RaCalendarGrid","RaCalendarGridHeader","day","RaCalendarHeaderCell","RaCalendarGridBody","date","isToday","RaCalendarCell","RangeCalendarHeader","showRangeLabel","Flex","Stack","VisuallyHidden","Heading","IconButton","KeyboardArrowLeft","Text","KeyboardArrowRight","RangeCalendarCustomContext","children","buttonContext","ButtonContext","textContext","TextContext","buttonSlots","monthLabel","monthRangeLabel","yearLabel","textSlots","Provider","RangeCalendar","props","recipe","useRecipe","rangeCalendarSlotRecipe","recipeProps","remainingProps","styleProps","otherProps","extractStyleProps","RaRangeCalendar"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"range-calendar-_dZfAsdG.cjs.js","sources":["../../src/components/range-calendar/range-calendar.slots.tsx","../../src/components/range-calendar/components/range-calendar.grids.tsx","../../src/components/range-calendar/components/range-calendar.header.tsx","../../src/components/range-calendar/components/range-calendar.custom-context.tsx","../../src/components/range-calendar/range-calendar.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport type {\n RangeCalendarRootSlotProps,\n RangeCalendarHeaderSlotProps,\n RangeCalendarGridsSlotProps,\n RangeCalendarMonthTitleSlotProps,\n RangeCalendarGridSlotProps,\n RangeCalendarGridHeaderSlotProps,\n RangeCalendarHeaderCellSlotProps,\n RangeCalendarGridBodySlotProps,\n RangeCalendarCellSlotProps,\n} from \"./range-calendar.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"rangeCalendar\",\n});\n\nexport const RangeCalendarRootSlot = withProvider<\n HTMLDivElement,\n RangeCalendarRootSlotProps\n>(\"div\", \"root\");\n\nexport const RangeCalendarHeaderSlot = withContext<\n HTMLDivElement,\n RangeCalendarHeaderSlotProps\n>(\"div\", \"header\");\n\nexport const RangeCalendarGridsSlot = withContext<\n HTMLDivElement,\n RangeCalendarGridsSlotProps\n>(\"div\", \"grids\");\n\nexport const RangeCalendarMonthTitleSlot = withContext<\n HTMLDivElement,\n RangeCalendarMonthTitleSlotProps\n>(\"div\", \"monthTitle\");\n\nexport const RangeCalendarGridSlot = withContext<\n HTMLTableElement,\n RangeCalendarGridSlotProps\n>(\"table\", \"grid\");\n\nexport const RangeCalendarGridHeaderSlot = withContext<\n HTMLTableSectionElement,\n RangeCalendarGridHeaderSlotProps\n>(\"thead\", \"gridHeader\");\n\nexport const RangeCalendarHeaderCellSlot = withContext<\n HTMLTableCellElement,\n RangeCalendarHeaderCellSlotProps\n>(\"th\", \"headerCell\");\n\nexport const RangeCalendarGridBodySlot = withContext<\n HTMLTableSectionElement,\n RangeCalendarGridBodySlotProps\n>(\"tbody\", \"gridBody\");\n\nexport const RangeCalendarCellSlot = withContext<\n HTMLTableCellElement,\n RangeCalendarCellSlotProps\n>(\"td\", \"bodyCell\");\n","import { useContext } from \"react\";\nimport { today, getLocalTimeZone } from \"@internationalized/date\";\nimport {\n CalendarGrid as RaCalendarGrid,\n CalendarGridBody as RaCalendarGridBody,\n CalendarGridHeader as RaCalendarGridHeader,\n CalendarHeaderCell as RaCalendarHeaderCell,\n CalendarCell as RaCalendarCell,\n useSlottedContext,\n RangeCalendarContext,\n RangeCalendarStateContext,\n useLocale,\n} from \"react-aria-components\";\nimport { Box } from \"@/components\";\n\nimport {\n RangeCalendarCellSlot,\n RangeCalendarGridBodySlot,\n RangeCalendarGridHeaderSlot,\n RangeCalendarGridsSlot,\n RangeCalendarGridSlot,\n RangeCalendarHeaderCellSlot,\n RangeCalendarMonthTitleSlot,\n} from \"../range-calendar.slots\";\n\nexport const RangeCalendarGrids = () => {\n const { locale } = useLocale();\n const context = useSlottedContext(RangeCalendarContext);\n\n const calendarState = useContext(RangeCalendarStateContext)!;\n const visibleMonthsCount = context?.visibleDuration?.months || 1;\n const todayDate = today(getLocalTimeZone());\n const showMonthTitles = visibleMonthsCount > 1;\n\n return (\n <RangeCalendarGridsSlot>\n {Array.from({ length: visibleMonthsCount }, (_, index) => {\n const gridDate = calendarState.visibleRange.start.add({\n months: index,\n });\n const monthName = new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(gridDate.toDate(getLocalTimeZone()));\n\n return (\n <Box\n key={monthName}\n width={visibleMonthsCount == 1 ? \"full\" : \"auto\"}\n >\n {showMonthTitles && (\n <RangeCalendarMonthTitleSlot>\n {monthName}\n </RangeCalendarMonthTitleSlot>\n )}\n <RangeCalendarGridSlot asChild>\n <RaCalendarGrid offset={{ months: index }} weekdayStyle=\"short\">\n <RangeCalendarGridHeaderSlot asChild>\n <RaCalendarGridHeader>\n {(day) => (\n <RangeCalendarHeaderCellSlot asChild>\n <RaCalendarHeaderCell>{day}</RaCalendarHeaderCell>\n </RangeCalendarHeaderCellSlot>\n )}\n </RaCalendarGridHeader>\n </RangeCalendarGridHeaderSlot>\n <RangeCalendarGridBodySlot asChild>\n <RaCalendarGridBody>\n {(date) => {\n const isToday = date.compare(todayDate) === 0;\n return (\n <RangeCalendarCellSlot asChild data-today={isToday}>\n <RaCalendarCell date={date} />\n </RangeCalendarCellSlot>\n );\n }}\n </RaCalendarGridBody>\n </RangeCalendarGridBodySlot>\n </RaCalendarGrid>\n </RangeCalendarGridSlot>\n </Box>\n );\n })}\n </RangeCalendarGridsSlot>\n );\n};\n","import {\n RangeCalendarContext,\n Heading,\n useSlottedContext,\n} from \"react-aria-components\";\nimport {\n Box,\n Flex,\n IconButton,\n Stack,\n Text,\n VisuallyHidden,\n} from \"@/components\";\nimport {\n KeyboardArrowLeft,\n KeyboardArrowRight,\n} from \"@commercetools/nimbus-icons\";\nimport { RangeCalendarHeaderSlot } from \"../range-calendar.slots\";\n\nexport const RangeCalendarHeader = () => {\n const rangeCalendarProps = useSlottedContext(RangeCalendarContext);\n\n // Needed to decide whether to show a single month or a range\n const visibleDurationMonths =\n rangeCalendarProps?.visibleDuration?.months || 1;\n const showRangeLabel = visibleDurationMonths > 1;\n\n return (\n <RangeCalendarHeaderSlot>\n <Flex>\n <Stack direction=\"row\" alignItems=\"center\">\n {/** solely for screen readers, if not present, a11y issues are raised */}\n <VisuallyHidden>\n <Heading />\n </VisuallyHidden>\n {/* @ts-expect-error - custom-context will add aria-label via the \"slot\" prop */}\n <IconButton\n slot={showRangeLabel ? \"previous\" : \"previous-month\"}\n size=\"xs\"\n variant=\"ghost\"\n tone=\"primary\"\n >\n <KeyboardArrowLeft />\n </IconButton>\n <Text\n textStyle=\"sm\"\n fontWeight=\"500\"\n color=\"neutral.11\"\n width={showRangeLabel ? \"4000\" : \"2000\"}\n textAlign=\"center\"\n aria-hidden=\"true\"\n slot={showRangeLabel ? \"monthRange\" : \"month\"}\n />\n {/* @ts-expect-error - custom-context will add aria-label via the \"slot\" prop */}\n <IconButton\n slot={showRangeLabel ? \"next\" : \"next-month\"}\n size=\"xs\"\n variant=\"ghost\"\n tone=\"primary\"\n >\n <KeyboardArrowRight />\n </IconButton>\n </Stack>\n <Box flexGrow=\"1\" />\n <Stack direction=\"row\" alignItems=\"center\">\n {/* @ts-expect-error - custom-context will add aria-label via the \"slot\" prop */}\n <IconButton\n slot=\"previous-year\"\n size=\"xs\"\n variant=\"ghost\"\n tone=\"primary\"\n >\n <KeyboardArrowLeft />\n </IconButton>\n <Text\n textStyle=\"sm\"\n fontWeight=\"500\"\n color=\"neutral.11\"\n width=\"1400\"\n textAlign=\"center\"\n aria-hidden=\"true\"\n slot=\"year\"\n />\n {/* @ts-expect-error - custom-context will add aria-label via the \"slot\" prop */}\n <IconButton slot=\"next-year\" size=\"xs\" variant=\"ghost\" tone=\"primary\">\n <KeyboardArrowRight />\n </IconButton>\n </Stack>\n </Flex>\n </RangeCalendarHeaderSlot>\n );\n};\n","import { getLocalTimeZone } from \"@internationalized/date\";\nimport { useContext } from \"react\";\nimport {\n Provider,\n ButtonContext,\n RangeCalendarStateContext,\n TextContext,\n useLocale,\n} from \"react-aria-components\";\n\nexport const RangeCalendarCustomContext = ({\n children,\n}: {\n children: React.ReactNode;\n}) => {\n const { locale } = useLocale();\n const buttonContext = useContext(ButtonContext)!;\n const textContext = useContext(TextContext)!;\n const calendarState = useContext(RangeCalendarStateContext)!;\n\n /**\n * Button slots\n * ================================\n */\n const buttonSlots = {\n \"next-month\": {\n onPress: () => calendarState.focusNextSection(),\n \"aria-label\": \"Next month\",\n },\n \"previous-month\": {\n onPress: () => calendarState.focusPreviousSection(),\n \"aria-label\": \"Previous month\",\n },\n \"next-year\": {\n onPress: () => calendarState.focusNextSection(true),\n \"aria-label\": \"Next year\",\n },\n \"previous-year\": {\n onPress: () => calendarState.focusPreviousSection(true),\n \"aria-label\": \"Previous year\",\n },\n };\n\n /**\n * Text slots\n * ================================\n */\n const monthLabel = new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(calendarState.focusedDate.toDate(getLocalTimeZone()));\n\n const monthRangeLabel = [\n new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(calendarState.visibleRange.start.toDate(getLocalTimeZone())),\n new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(calendarState.visibleRange.end.toDate(getLocalTimeZone())),\n ].join(\" - \");\n\n const yearLabel = new Intl.DateTimeFormat(locale, {\n year: \"numeric\",\n }).format(calendarState.focusedDate.toDate(getLocalTimeZone()));\n\n const textSlots = {\n month: { children: monthLabel },\n monthRange: { children: monthRangeLabel },\n year: { children: yearLabel },\n };\n\n return (\n <Provider\n values={[\n [\n ButtonContext,\n {\n ...buttonContext,\n slots: {\n ...(buttonContext &&\n typeof buttonContext === \"object\" &&\n \"slots\" in buttonContext\n ? buttonContext.slots\n : {}),\n ...buttonSlots,\n },\n },\n ],\n [\n TextContext,\n {\n ...textContext,\n slots: {\n ...(textContext &&\n typeof textContext === \"object\" &&\n \"slots\" in textContext\n ? textContext.slots\n : {}),\n ...textSlots,\n },\n },\n ],\n ]}\n >\n {children}\n </Provider>\n );\n};\n","import type { RangeCalendarProps } from \"./range-calendar.types\";\nimport type { DateValue } from \"@internationalized/date\";\n\nimport { RangeCalendar as RaRangeCalendar } from \"react-aria-components\";\n\nimport { RangeCalendarRootSlot } from \"./range-calendar.slots\";\nimport { RangeCalendarGrids } from \"./components/range-calendar.grids\";\nimport { RangeCalendarHeader } from \"./components/range-calendar.header\";\nimport { rangeCalendarSlotRecipe } from \"./range-calendar.recipe\";\nimport { useRecipe } from \"@chakra-ui/react/styled-system\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\nimport { RangeCalendarCustomContext } from \"./components/range-calendar.custom-context\";\n\nexport const RangeCalendar = (props: RangeCalendarProps<DateValue>) => {\n const recipe = useRecipe({ recipe: rangeCalendarSlotRecipe });\n const [recipeProps, remainingProps] = recipe.splitVariantProps(props);\n const [styleProps, otherProps] = extractStyleProps(remainingProps);\n\n return (\n <RangeCalendarRootSlot {...recipeProps} {...styleProps} asChild>\n <RaRangeCalendar {...otherProps}>\n <RangeCalendarCustomContext>\n <RangeCalendarHeader />\n <RangeCalendarGrids />\n </RangeCalendarCustomContext>\n </RaRangeCalendar>\n </RangeCalendarRootSlot>\n );\n};\n"],"names":["withProvider","withContext","createSlotRecipeContext","RangeCalendarRootSlot","RangeCalendarHeaderSlot","RangeCalendarGridsSlot","RangeCalendarMonthTitleSlot","RangeCalendarGridSlot","RangeCalendarGridHeaderSlot","RangeCalendarHeaderCellSlot","RangeCalendarGridBodySlot","RangeCalendarCellSlot","RangeCalendarGrids","locale","useLocale","context","useSlottedContext","RangeCalendarContext","calendarState","useContext","RangeCalendarStateContext","visibleMonthsCount","todayDate","today","getLocalTimeZone","showMonthTitles","jsx","_","index","gridDate","monthName","jsxs","Box","RaCalendarGrid","RaCalendarGridHeader","day","RaCalendarHeaderCell","RaCalendarGridBody","date","isToday","RaCalendarCell","RangeCalendarHeader","showRangeLabel","Flex","Stack","VisuallyHidden","Heading","IconButton","KeyboardArrowLeft","Text","KeyboardArrowRight","RangeCalendarCustomContext","children","buttonContext","ButtonContext","textContext","TextContext","buttonSlots","monthLabel","monthRangeLabel","yearLabel","textSlots","Provider","RangeCalendar","props","recipe","useRecipe","rangeCalendarSlotRecipe","recipeProps","remainingProps","styleProps","otherProps","extractStyleProps","RaRangeCalendar"],"mappings":"ouBAaM,CAAE,aAAAA,EAAc,YAAAC,CAAA,EAAgBC,0BAAwB,CAC5D,IAAK,eACP,CAAC,EAEYC,EAAwBH,EAGnC,MAAO,MAAM,EAEFI,EAA0BH,EAGrC,MAAO,QAAQ,EAEJI,EAAyBJ,EAGpC,MAAO,OAAO,EAEHK,EAA8BL,EAGzC,MAAO,YAAY,EAERM,EAAwBN,EAGnC,QAAS,MAAM,EAEJO,EAA8BP,EAGzC,QAAS,YAAY,EAEVQ,EAA8BR,EAGzC,KAAM,YAAY,EAEPS,EAA4BT,EAGvC,QAAS,UAAU,EAERU,EAAwBV,EAGnC,KAAM,UAAU,ECnCLW,EAAqB,IAAM,CACtC,KAAM,CAAE,OAAAC,CAAA,EAAWC,4CAAA,EACbC,EAAUC,EAAAA,0CAAkBC,2CAAoB,EAEhDC,EAAgBC,EAAAA,WAAWC,2CAAyB,EACpDC,EAAqBN,GAAS,iBAAiB,QAAU,EACzDO,EAAYC,4CAAMC,EAAAA,2CAAkB,EACpCC,EAAkBJ,EAAqB,EAE7C,OACEK,MAACrB,EAAA,CACE,SAAA,MAAM,KAAK,CAAE,OAAQgB,CAAA,EAAsB,CAACM,EAAGC,IAAU,CACxD,MAAMC,EAAWX,EAAc,aAAa,MAAM,IAAI,CACpD,OAAQU,CAAA,CACT,EACKE,EAAY,IAAI,KAAK,eAAejB,EAAQ,CAChD,MAAO,MAAA,CACR,EAAE,OAAOgB,EAAS,OAAOL,EAAAA,0CAAA,CAAkB,CAAC,EAE7C,OACEO,EAAAA,KAACC,EAAAA,IAAA,CAEC,MAAOX,GAAsB,EAAI,OAAS,OAEzC,SAAA,CAAAI,GACCC,EAAAA,IAACpB,GACE,SAAAwB,CAAA,CACH,EAEFJ,EAAAA,IAACnB,EAAA,CAAsB,QAAO,GAC5B,SAAAwB,EAAAA,KAACE,EAAAA,0CAAA,CAAe,OAAQ,CAAE,OAAQL,CAAA,EAAS,aAAa,QACtD,SAAA,CAAAF,EAAAA,IAAClB,GAA4B,QAAO,GAClC,SAAAkB,EAAAA,IAACQ,4CAAA,CACE,SAACC,GACAT,EAAAA,IAACjB,EAAA,CAA4B,QAAO,GAClC,SAAAiB,EAAAA,IAACU,EAAAA,0CAAA,CAAsB,SAAAD,CAAA,CAAI,EAC7B,EAEJ,CAAA,CACF,QACCzB,EAAA,CAA0B,QAAO,GAChC,SAAAgB,EAAAA,IAACW,4CAAA,CACE,SAACC,GAAS,CACT,MAAMC,EAAUD,EAAK,QAAQhB,CAAS,IAAM,EAC5C,OACEI,EAAAA,IAACf,GAAsB,QAAO,GAAC,aAAY4B,EACzC,SAAAb,EAAAA,IAACc,EAAAA,0CAAA,CAAe,KAAAF,CAAA,CAAY,CAAA,CAC9B,CAEJ,EACF,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CACF,CAAA,CAAA,EAhCKR,CAAA,CAmCX,CAAC,CAAA,CACH,CAEJ,ECjEaW,EAAsB,IAAM,CAMvC,MAAMC,GALqB1B,EAAAA,0CAAkBC,2CAAoB,GAI3C,iBAAiB,QAAU,GACF,EAE/C,OACES,EAAAA,IAACtB,EAAA,CACC,SAAA2B,EAAAA,KAACY,EAAAA,KAAA,CACC,SAAA,CAAAZ,EAAAA,KAACa,EAAAA,MAAA,CAAM,UAAU,MAAM,WAAW,SAEhC,SAAA,CAAAlB,EAAAA,IAACmB,EAAAA,eAAA,CACC,SAAAnB,EAAAA,IAACoB,EAAAA,0CAAA,CAAA,CAAQ,EACX,EAEApB,EAAAA,IAACqB,EAAAA,WAAA,CACC,KAAML,EAAiB,WAAa,iBACpC,KAAK,KACL,QAAQ,QACR,KAAK,UAEL,eAACM,EAAAA,kBAAA,CAAA,CAAkB,CAAA,CAAA,EAErBtB,EAAAA,IAACuB,EAAAA,KAAA,CACC,UAAU,KACV,WAAW,MACX,MAAM,aACN,MAAOP,EAAiB,OAAS,OACjC,UAAU,SACV,cAAY,OACZ,KAAMA,EAAiB,aAAe,OAAA,CAAA,EAGxChB,EAAAA,IAACqB,EAAAA,WAAA,CACC,KAAML,EAAiB,OAAS,aAChC,KAAK,KACL,QAAQ,QACR,KAAK,UAEL,eAACQ,EAAAA,mBAAA,CAAA,CAAmB,CAAA,CAAA,CACtB,EACF,EACAxB,EAAAA,IAACM,EAAAA,IAAA,CAAI,SAAS,GAAA,CAAI,EAClBD,EAAAA,KAACa,EAAAA,MAAA,CAAM,UAAU,MAAM,WAAW,SAEhC,SAAA,CAAAlB,EAAAA,IAACqB,EAAAA,WAAA,CACC,KAAK,gBACL,KAAK,KACL,QAAQ,QACR,KAAK,UAEL,eAACC,EAAAA,kBAAA,CAAA,CAAkB,CAAA,CAAA,EAErBtB,EAAAA,IAACuB,EAAAA,KAAA,CACC,UAAU,KACV,WAAW,MACX,MAAM,aACN,MAAM,OACN,UAAU,SACV,cAAY,OACZ,KAAK,MAAA,CAAA,EAGPvB,EAAAA,IAACqB,EAAAA,WAAA,CAAW,KAAK,YAAY,KAAK,KAAK,QAAQ,QAAQ,KAAK,UAC1D,SAAArB,EAAAA,IAACwB,EAAAA,mBAAA,CAAA,CAAmB,CAAA,CACtB,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CACF,CAEJ,ECjFaC,EAA6B,CAAC,CACzC,SAAAC,CACF,IAEM,CACJ,KAAM,CAAE,OAAAvC,CAAA,EAAWC,4CAAA,EACbuC,EAAgBlC,EAAAA,WAAWmC,2CAAa,EACxCC,EAAcpC,EAAAA,WAAWqC,2CAAW,EACpCtC,EAAgBC,EAAAA,WAAWC,2CAAyB,EAMpDqC,EAAc,CAClB,aAAc,CACZ,QAAS,IAAMvC,EAAc,iBAAA,EAC7B,aAAc,YAAA,EAEhB,iBAAkB,CAChB,QAAS,IAAMA,EAAc,qBAAA,EAC7B,aAAc,gBAAA,EAEhB,YAAa,CACX,QAAS,IAAMA,EAAc,iBAAiB,EAAI,EAClD,aAAc,WAAA,EAEhB,gBAAiB,CACf,QAAS,IAAMA,EAAc,qBAAqB,EAAI,EACtD,aAAc,eAAA,CAChB,EAOIwC,EAAa,IAAI,KAAK,eAAe7C,EAAQ,CACjD,MAAO,MAAA,CACR,EAAE,OAAOK,EAAc,YAAY,OAAOM,EAAAA,0CAAA,CAAkB,CAAC,EAExDmC,EAAkB,CACtB,IAAI,KAAK,eAAe9C,EAAQ,CAC9B,MAAO,MAAA,CACR,EAAE,OAAOK,EAAc,aAAa,MAAM,OAAOM,EAAAA,0CAAA,CAAkB,CAAC,EACrE,IAAI,KAAK,eAAeX,EAAQ,CAC9B,MAAO,MAAA,CACR,EAAE,OAAOK,EAAc,aAAa,IAAI,OAAOM,EAAAA,2CAAkB,CAAC,CAAA,EACnE,KAAK,KAAK,EAENoC,EAAY,IAAI,KAAK,eAAe/C,EAAQ,CAChD,KAAM,SAAA,CACP,EAAE,OAAOK,EAAc,YAAY,OAAOM,EAAAA,0CAAA,CAAkB,CAAC,EAExDqC,EAAY,CAChB,MAAO,CAAE,SAAUH,CAAA,EACnB,WAAY,CAAE,SAAUC,CAAA,EACxB,KAAM,CAAE,SAAUC,CAAA,CAAU,EAG9B,OACElC,EAAAA,IAACoC,EAAAA,0CAAA,CACC,OAAQ,CACN,CACER,EAAAA,0CACA,CACE,GAAGD,EACH,MAAO,CACL,GAAIA,GACJ,OAAOA,GAAkB,UACzB,UAAWA,EACPA,EAAc,MACd,CAAA,EACJ,GAAGI,CAAA,CACL,CACF,EAEF,CACED,EAAAA,0CACA,CACE,GAAGD,EACH,MAAO,CACL,GAAIA,GACJ,OAAOA,GAAgB,UACvB,UAAWA,EACPA,EAAY,MACZ,CAAA,EACJ,GAAGM,CAAA,CACL,CACF,CACF,EAGD,SAAAT,CAAA,CAAA,CAGP,EC7FaW,EAAiBC,GAAyC,CACrE,MAAMC,EAASC,EAAAA,UAAU,CAAE,OAAQC,EAAAA,wBAAyB,EACtD,CAACC,EAAaC,CAAc,EAAIJ,EAAO,kBAAkBD,CAAK,EAC9D,CAACM,EAAYC,CAAU,EAAIC,EAAAA,kBAAkBH,CAAc,EAEjE,OACE3C,EAAAA,IAACvB,EAAA,CAAuB,GAAGiE,EAAc,GAAGE,EAAY,QAAO,GAC7D,SAAA5C,EAAAA,IAAC+C,EAAAA,0CAAA,CAAiB,GAAGF,EACnB,gBAACpB,EAAA,CACC,SAAA,CAAAzB,EAAAA,IAACe,EAAA,EAAoB,QACpB7B,EAAA,CAAA,CAAmB,CAAA,CAAA,CACtB,EACF,EACF,CAEJ"}
1
+ {"version":3,"file":"range-calendar-_dZfAsdG.cjs.js","sources":["../../src/components/range-calendar/range-calendar.slots.tsx","../../src/components/range-calendar/components/range-calendar.grids.tsx","../../src/components/range-calendar/components/range-calendar.header.tsx","../../src/components/range-calendar/components/range-calendar.custom-context.tsx","../../src/components/range-calendar/range-calendar.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport type {\n RangeCalendarRootSlotProps,\n RangeCalendarHeaderSlotProps,\n RangeCalendarGridsSlotProps,\n RangeCalendarMonthTitleSlotProps,\n RangeCalendarGridSlotProps,\n RangeCalendarGridHeaderSlotProps,\n RangeCalendarHeaderCellSlotProps,\n RangeCalendarGridBodySlotProps,\n RangeCalendarCellSlotProps,\n} from \"./range-calendar.types\";\nimport type { SlotComponent } from \"../utils/slot-types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"rangeCalendar\",\n});\n\nexport const RangeCalendarRootSlot: SlotComponent<\n HTMLDivElement,\n RangeCalendarRootSlotProps\n> = withProvider<HTMLDivElement, RangeCalendarRootSlotProps>(\"div\", \"root\");\n\nexport const RangeCalendarHeaderSlot = withContext<\n HTMLDivElement,\n RangeCalendarHeaderSlotProps\n>(\"div\", \"header\");\n\nexport const RangeCalendarGridsSlot = withContext<\n HTMLDivElement,\n RangeCalendarGridsSlotProps\n>(\"div\", \"grids\");\n\nexport const RangeCalendarMonthTitleSlot = withContext<\n HTMLDivElement,\n RangeCalendarMonthTitleSlotProps\n>(\"div\", \"monthTitle\");\n\nexport const RangeCalendarGridSlot = withContext<\n HTMLTableElement,\n RangeCalendarGridSlotProps\n>(\"table\", \"grid\");\n\nexport const RangeCalendarGridHeaderSlot = withContext<\n HTMLTableSectionElement,\n RangeCalendarGridHeaderSlotProps\n>(\"thead\", \"gridHeader\");\n\nexport const RangeCalendarHeaderCellSlot = withContext<\n HTMLTableCellElement,\n RangeCalendarHeaderCellSlotProps\n>(\"th\", \"headerCell\");\n\nexport const RangeCalendarGridBodySlot = withContext<\n HTMLTableSectionElement,\n RangeCalendarGridBodySlotProps\n>(\"tbody\", \"gridBody\");\n\nexport const RangeCalendarCellSlot = withContext<\n HTMLTableCellElement,\n RangeCalendarCellSlotProps\n>(\"td\", \"bodyCell\");\n","import { useContext } from \"react\";\nimport { today, getLocalTimeZone } from \"@internationalized/date\";\nimport {\n CalendarGrid as RaCalendarGrid,\n CalendarGridBody as RaCalendarGridBody,\n CalendarGridHeader as RaCalendarGridHeader,\n CalendarHeaderCell as RaCalendarHeaderCell,\n CalendarCell as RaCalendarCell,\n useSlottedContext,\n RangeCalendarContext,\n RangeCalendarStateContext,\n useLocale,\n} from \"react-aria-components\";\nimport { Box } from \"@/components\";\n\nimport {\n RangeCalendarCellSlot,\n RangeCalendarGridBodySlot,\n RangeCalendarGridHeaderSlot,\n RangeCalendarGridsSlot,\n RangeCalendarGridSlot,\n RangeCalendarHeaderCellSlot,\n RangeCalendarMonthTitleSlot,\n} from \"../range-calendar.slots\";\n\nexport const RangeCalendarGrids = () => {\n const { locale } = useLocale();\n const context = useSlottedContext(RangeCalendarContext);\n\n const calendarState = useContext(RangeCalendarStateContext)!;\n const visibleMonthsCount = context?.visibleDuration?.months || 1;\n const todayDate = today(getLocalTimeZone());\n const showMonthTitles = visibleMonthsCount > 1;\n\n return (\n <RangeCalendarGridsSlot>\n {Array.from({ length: visibleMonthsCount }, (_, index) => {\n const gridDate = calendarState.visibleRange.start.add({\n months: index,\n });\n const monthName = new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(gridDate.toDate(getLocalTimeZone()));\n\n return (\n <Box\n key={monthName}\n width={visibleMonthsCount == 1 ? \"full\" : \"auto\"}\n >\n {showMonthTitles && (\n <RangeCalendarMonthTitleSlot>\n {monthName}\n </RangeCalendarMonthTitleSlot>\n )}\n <RangeCalendarGridSlot asChild>\n <RaCalendarGrid offset={{ months: index }} weekdayStyle=\"short\">\n <RangeCalendarGridHeaderSlot asChild>\n <RaCalendarGridHeader>\n {(day) => (\n <RangeCalendarHeaderCellSlot asChild>\n <RaCalendarHeaderCell>{day}</RaCalendarHeaderCell>\n </RangeCalendarHeaderCellSlot>\n )}\n </RaCalendarGridHeader>\n </RangeCalendarGridHeaderSlot>\n <RangeCalendarGridBodySlot asChild>\n <RaCalendarGridBody>\n {(date) => {\n const isToday = date.compare(todayDate) === 0;\n return (\n <RangeCalendarCellSlot asChild data-today={isToday}>\n <RaCalendarCell date={date} />\n </RangeCalendarCellSlot>\n );\n }}\n </RaCalendarGridBody>\n </RangeCalendarGridBodySlot>\n </RaCalendarGrid>\n </RangeCalendarGridSlot>\n </Box>\n );\n })}\n </RangeCalendarGridsSlot>\n );\n};\n","import {\n RangeCalendarContext,\n Heading,\n useSlottedContext,\n} from \"react-aria-components\";\nimport {\n Box,\n Flex,\n IconButton,\n Stack,\n Text,\n VisuallyHidden,\n} from \"@/components\";\nimport {\n KeyboardArrowLeft,\n KeyboardArrowRight,\n} from \"@commercetools/nimbus-icons\";\nimport { RangeCalendarHeaderSlot } from \"../range-calendar.slots\";\n\nexport const RangeCalendarHeader = () => {\n const rangeCalendarProps = useSlottedContext(RangeCalendarContext);\n\n // Needed to decide whether to show a single month or a range\n const visibleDurationMonths =\n rangeCalendarProps?.visibleDuration?.months || 1;\n const showRangeLabel = visibleDurationMonths > 1;\n\n return (\n <RangeCalendarHeaderSlot>\n <Flex>\n <Stack direction=\"row\" alignItems=\"center\">\n {/** solely for screen readers, if not present, a11y issues are raised */}\n <VisuallyHidden>\n <Heading />\n </VisuallyHidden>\n {/* @ts-expect-error - custom-context will add aria-label via the \"slot\" prop */}\n <IconButton\n slot={showRangeLabel ? \"previous\" : \"previous-month\"}\n size=\"xs\"\n variant=\"ghost\"\n tone=\"primary\"\n >\n <KeyboardArrowLeft />\n </IconButton>\n <Text\n textStyle=\"sm\"\n fontWeight=\"500\"\n color=\"neutral.11\"\n width={showRangeLabel ? \"4000\" : \"2000\"}\n textAlign=\"center\"\n aria-hidden=\"true\"\n slot={showRangeLabel ? \"monthRange\" : \"month\"}\n />\n {/* @ts-expect-error - custom-context will add aria-label via the \"slot\" prop */}\n <IconButton\n slot={showRangeLabel ? \"next\" : \"next-month\"}\n size=\"xs\"\n variant=\"ghost\"\n tone=\"primary\"\n >\n <KeyboardArrowRight />\n </IconButton>\n </Stack>\n <Box flexGrow=\"1\" />\n <Stack direction=\"row\" alignItems=\"center\">\n {/* @ts-expect-error - custom-context will add aria-label via the \"slot\" prop */}\n <IconButton\n slot=\"previous-year\"\n size=\"xs\"\n variant=\"ghost\"\n tone=\"primary\"\n >\n <KeyboardArrowLeft />\n </IconButton>\n <Text\n textStyle=\"sm\"\n fontWeight=\"500\"\n color=\"neutral.11\"\n width=\"1400\"\n textAlign=\"center\"\n aria-hidden=\"true\"\n slot=\"year\"\n />\n {/* @ts-expect-error - custom-context will add aria-label via the \"slot\" prop */}\n <IconButton slot=\"next-year\" size=\"xs\" variant=\"ghost\" tone=\"primary\">\n <KeyboardArrowRight />\n </IconButton>\n </Stack>\n </Flex>\n </RangeCalendarHeaderSlot>\n );\n};\n","import { getLocalTimeZone } from \"@internationalized/date\";\nimport { useContext } from \"react\";\nimport {\n Provider,\n ButtonContext,\n RangeCalendarStateContext,\n TextContext,\n useLocale,\n} from \"react-aria-components\";\n\nexport const RangeCalendarCustomContext = ({\n children,\n}: {\n children: React.ReactNode;\n}) => {\n const { locale } = useLocale();\n const buttonContext = useContext(ButtonContext)!;\n const textContext = useContext(TextContext)!;\n const calendarState = useContext(RangeCalendarStateContext)!;\n\n /**\n * Button slots\n * ================================\n */\n const buttonSlots = {\n \"next-month\": {\n onPress: () => calendarState.focusNextSection(),\n \"aria-label\": \"Next month\",\n },\n \"previous-month\": {\n onPress: () => calendarState.focusPreviousSection(),\n \"aria-label\": \"Previous month\",\n },\n \"next-year\": {\n onPress: () => calendarState.focusNextSection(true),\n \"aria-label\": \"Next year\",\n },\n \"previous-year\": {\n onPress: () => calendarState.focusPreviousSection(true),\n \"aria-label\": \"Previous year\",\n },\n };\n\n /**\n * Text slots\n * ================================\n */\n const monthLabel = new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(calendarState.focusedDate.toDate(getLocalTimeZone()));\n\n const monthRangeLabel = [\n new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(calendarState.visibleRange.start.toDate(getLocalTimeZone())),\n new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(calendarState.visibleRange.end.toDate(getLocalTimeZone())),\n ].join(\" - \");\n\n const yearLabel = new Intl.DateTimeFormat(locale, {\n year: \"numeric\",\n }).format(calendarState.focusedDate.toDate(getLocalTimeZone()));\n\n const textSlots = {\n month: { children: monthLabel },\n monthRange: { children: monthRangeLabel },\n year: { children: yearLabel },\n };\n\n return (\n <Provider\n values={[\n [\n ButtonContext,\n {\n ...buttonContext,\n slots: {\n ...(buttonContext &&\n typeof buttonContext === \"object\" &&\n \"slots\" in buttonContext\n ? buttonContext.slots\n : {}),\n ...buttonSlots,\n },\n },\n ],\n [\n TextContext,\n {\n ...textContext,\n slots: {\n ...(textContext &&\n typeof textContext === \"object\" &&\n \"slots\" in textContext\n ? textContext.slots\n : {}),\n ...textSlots,\n },\n },\n ],\n ]}\n >\n {children}\n </Provider>\n );\n};\n","import type { RangeCalendarProps } from \"./range-calendar.types\";\nimport type { DateValue } from \"@internationalized/date\";\n\nimport { RangeCalendar as RaRangeCalendar } from \"react-aria-components\";\n\nimport { RangeCalendarRootSlot } from \"./range-calendar.slots\";\nimport { RangeCalendarGrids } from \"./components/range-calendar.grids\";\nimport { RangeCalendarHeader } from \"./components/range-calendar.header\";\nimport { rangeCalendarSlotRecipe } from \"./range-calendar.recipe\";\nimport { useRecipe } from \"@chakra-ui/react/styled-system\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\nimport { RangeCalendarCustomContext } from \"./components/range-calendar.custom-context\";\n\nexport const RangeCalendar = (props: RangeCalendarProps<DateValue>) => {\n const recipe = useRecipe({ recipe: rangeCalendarSlotRecipe });\n const [recipeProps, remainingProps] = recipe.splitVariantProps(props);\n const [styleProps, otherProps] = extractStyleProps(remainingProps);\n\n return (\n <RangeCalendarRootSlot {...recipeProps} {...styleProps} asChild>\n <RaRangeCalendar {...otherProps}>\n <RangeCalendarCustomContext>\n <RangeCalendarHeader />\n <RangeCalendarGrids />\n </RangeCalendarCustomContext>\n </RaRangeCalendar>\n </RangeCalendarRootSlot>\n );\n};\n"],"names":["withProvider","withContext","createSlotRecipeContext","RangeCalendarRootSlot","RangeCalendarHeaderSlot","RangeCalendarGridsSlot","RangeCalendarMonthTitleSlot","RangeCalendarGridSlot","RangeCalendarGridHeaderSlot","RangeCalendarHeaderCellSlot","RangeCalendarGridBodySlot","RangeCalendarCellSlot","RangeCalendarGrids","locale","useLocale","context","useSlottedContext","RangeCalendarContext","calendarState","useContext","RangeCalendarStateContext","visibleMonthsCount","todayDate","today","getLocalTimeZone","showMonthTitles","jsx","_","index","gridDate","monthName","jsxs","Box","RaCalendarGrid","RaCalendarGridHeader","day","RaCalendarHeaderCell","RaCalendarGridBody","date","isToday","RaCalendarCell","RangeCalendarHeader","showRangeLabel","Flex","Stack","VisuallyHidden","Heading","IconButton","KeyboardArrowLeft","Text","KeyboardArrowRight","RangeCalendarCustomContext","children","buttonContext","ButtonContext","textContext","TextContext","buttonSlots","monthLabel","monthRangeLabel","yearLabel","textSlots","Provider","RangeCalendar","props","recipe","useRecipe","rangeCalendarSlotRecipe","recipeProps","remainingProps","styleProps","otherProps","extractStyleProps","RaRangeCalendar"],"mappings":"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"}
@@ -6,13 +6,13 @@ import wa from "react-dom";
6
6
  import { $ as ba } from "./useObjectRef-CaJ5pgjX.es.js";
7
7
  import { G as nn } from "./group-CWADf2vF.es.js";
8
8
  import { MoreHoriz as Oa, FormatStrikethrough as xa, Code as Sa, KeyboardArrowDown as Pa, FormatBold as ka, FormatItalic as Ta, FormatUnderlined as Ra, FormatListBulleted as Na, FormatListNumbered as Ia, Undo as Ma, Redo as ja } from "@commercetools/nimbus-icons";
9
- import { M as Ee } from "./menu-BkPvV5Ey.es.js";
10
- import { b as ue } from "./tooltip-CHm25f4m.es.js";
9
+ import { M as Ee } from "./menu-D-vE6ZpM.es.js";
10
+ import { b as ue } from "./tooltip-sgakxhiy.es.js";
11
11
  import { I as Et } from "./icon-button-DQS2apw-.es.js";
12
12
  import { B as He } from "./box-DuBoAZvq.es.js";
13
13
  import { T as ke } from "./text-BgiP8ZB6.es.js";
14
- import { T as La } from "./toolbar-BDatiEYj.es.js";
15
- import { S as un } from "./separator-B0qxXI4c.es.js";
14
+ import { T as La } from "./toolbar-Dduysqqi.es.js";
15
+ import { S as un } from "./separator-DJGUFG-o.es.js";
16
16
  import { T as an } from "./toggle-button-group-Ce7ezOED.es.js";
17
17
  import { I as fr } from "./icon-toggle-button-Bi-9Obfx.es.js";
18
18
  import { V as cr } from "./visually-hidden-CVUszTlg.es.js";
@@ -7798,4 +7798,4 @@ export {
7798
7798
  rl as R,
7799
7799
  Br as g
7800
7800
  };
7801
- //# sourceMappingURL=rich-text-input-D7DcSuhr.es.js.map
7801
+ //# sourceMappingURL=rich-text-input-BC8CBVio.es.js.map