@opengovsg/oui 0.0.9 → 0.0.11

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 (124) hide show
  1. package/dist/cjs/button/button.cjs +1 -1
  2. package/dist/cjs/calendar/agnostic-calendar-state-context.cjs +13 -0
  3. package/dist/cjs/calendar/calendar-bottom-content.cjs +51 -0
  4. package/dist/cjs/calendar/calendar-grid-header.cjs +28 -0
  5. package/dist/cjs/calendar/calendar-header.cjs +74 -0
  6. package/dist/cjs/calendar/calendar-month-day-selector.cjs +86 -0
  7. package/dist/cjs/calendar/calendar-style-context.cjs +0 -25
  8. package/dist/cjs/calendar/calendar.cjs +143 -4
  9. package/dist/cjs/calendar/hooks/index.cjs +11 -0
  10. package/dist/cjs/calendar/hooks/use-calendar-i18n.cjs +33 -0
  11. package/dist/cjs/calendar/hooks/use-calendar-selectors.cjs +41 -0
  12. package/dist/cjs/calendar/index.cjs +1 -1
  13. package/dist/cjs/combo-box/combo-box-fuzzy.cjs +3 -3
  14. package/dist/cjs/combo-box/combo-box-item.cjs +2 -2
  15. package/dist/cjs/combo-box/combo-box.cjs +3 -2
  16. package/dist/cjs/index.cjs +38 -16
  17. package/dist/cjs/menu/index.cjs +15 -0
  18. package/dist/cjs/menu/menu.cjs +229 -0
  19. package/dist/cjs/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/check.cjs +19 -0
  20. package/dist/cjs/popover/index.cjs +8 -0
  21. package/dist/cjs/popover/popover.cjs +46 -0
  22. package/dist/cjs/range-calendar/index.cjs +10 -0
  23. package/dist/cjs/range-calendar/range-calendar.cjs +188 -0
  24. package/dist/cjs/select/select.cjs +4 -1
  25. package/dist/cjs/system/react-utils/context.cjs +3 -2
  26. package/dist/cjs/tabs/index.cjs +13 -0
  27. package/dist/cjs/tabs/tabs.cjs +97 -0
  28. package/dist/cjs/tag-field/tag-field-item.cjs +8 -3
  29. package/dist/cjs/tag-field/tag-field.cjs +2 -1
  30. package/dist/esm/button/button.js +1 -1
  31. package/dist/esm/calendar/agnostic-calendar-state-context.js +10 -0
  32. package/dist/esm/calendar/calendar-bottom-content.js +49 -0
  33. package/dist/esm/calendar/calendar-grid-header.js +26 -0
  34. package/dist/esm/calendar/calendar-header.js +72 -0
  35. package/dist/esm/calendar/calendar-month-day-selector.js +84 -0
  36. package/dist/esm/calendar/calendar-style-context.js +1 -25
  37. package/dist/esm/calendar/calendar.js +147 -9
  38. package/dist/esm/calendar/hooks/index.js +3 -0
  39. package/dist/esm/calendar/hooks/use-calendar-i18n.js +30 -0
  40. package/dist/esm/calendar/hooks/use-calendar-selectors.js +39 -0
  41. package/dist/esm/calendar/index.js +2 -2
  42. package/dist/esm/combo-box/combo-box-fuzzy.js +4 -4
  43. package/dist/esm/combo-box/combo-box-item.js +3 -3
  44. package/dist/esm/combo-box/combo-box.js +4 -3
  45. package/dist/esm/index.js +13 -9
  46. package/dist/esm/menu/index.js +2 -0
  47. package/dist/esm/menu/menu.js +220 -0
  48. package/dist/esm/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/check.js +14 -0
  49. package/dist/esm/popover/index.js +2 -0
  50. package/dist/esm/popover/popover.js +44 -0
  51. package/dist/esm/range-calendar/index.js +2 -0
  52. package/dist/esm/range-calendar/range-calendar.js +184 -0
  53. package/dist/esm/select/select.js +5 -2
  54. package/dist/esm/system/react-utils/context.js +3 -2
  55. package/dist/esm/tabs/index.js +2 -0
  56. package/dist/esm/tabs/tabs.js +90 -0
  57. package/dist/esm/tag-field/tag-field-item.js +9 -4
  58. package/dist/esm/tag-field/tag-field.js +3 -2
  59. package/dist/types/calendar/agnostic-calendar-state-context.d.ts +3 -0
  60. package/dist/types/calendar/agnostic-calendar-state-context.d.ts.map +1 -0
  61. package/dist/types/calendar/calendar-bottom-content.d.ts +4 -0
  62. package/dist/types/calendar/calendar-bottom-content.d.ts.map +1 -0
  63. package/dist/types/calendar/calendar-grid-header.d.ts +2 -0
  64. package/dist/types/calendar/calendar-grid-header.d.ts.map +1 -0
  65. package/dist/types/calendar/calendar-header.d.ts +6 -0
  66. package/dist/types/calendar/calendar-header.d.ts.map +1 -0
  67. package/dist/types/calendar/calendar-month-day-selector.d.ts +2 -0
  68. package/dist/types/calendar/calendar-month-day-selector.d.ts.map +1 -0
  69. package/dist/types/calendar/calendar-style-context.d.ts +10 -1030
  70. package/dist/types/calendar/calendar-style-context.d.ts.map +1 -1
  71. package/dist/types/calendar/calendar.d.ts +5 -2
  72. package/dist/types/calendar/calendar.d.ts.map +1 -1
  73. package/dist/types/calendar/hooks/index.d.ts +3 -0
  74. package/dist/types/calendar/hooks/index.d.ts.map +1 -0
  75. package/dist/types/calendar/hooks/use-calendar-i18n.d.ts +4 -0
  76. package/dist/types/calendar/hooks/use-calendar-i18n.d.ts.map +1 -0
  77. package/dist/types/calendar/hooks/use-calendar-selectors.d.ts +13 -0
  78. package/dist/types/calendar/hooks/use-calendar-selectors.d.ts.map +1 -0
  79. package/dist/types/calendar/types.d.ts +5 -4
  80. package/dist/types/calendar/types.d.ts.map +1 -1
  81. package/dist/types/combo-box/combo-box-fuzzy.d.ts +2 -2
  82. package/dist/types/combo-box/combo-box-fuzzy.d.ts.map +1 -1
  83. package/dist/types/combo-box/combo-box-item.d.ts +3 -3
  84. package/dist/types/combo-box/combo-box-item.d.ts.map +1 -1
  85. package/dist/types/combo-box/combo-box.d.ts +3 -3
  86. package/dist/types/combo-box/combo-box.d.ts.map +1 -1
  87. package/dist/types/index.d.mts +4 -0
  88. package/dist/types/index.d.ts +4 -0
  89. package/dist/types/index.d.ts.map +1 -1
  90. package/dist/types/menu/index.d.ts +2 -0
  91. package/dist/types/menu/index.d.ts.map +1 -0
  92. package/dist/types/menu/menu.d.ts +38 -0
  93. package/dist/types/menu/menu.d.ts.map +1 -0
  94. package/dist/types/popover/index.d.ts +2 -0
  95. package/dist/types/popover/index.d.ts.map +1 -0
  96. package/dist/types/popover/popover.d.ts +21 -0
  97. package/dist/types/popover/popover.d.ts.map +1 -0
  98. package/dist/types/range-calendar/index.d.ts +2 -0
  99. package/dist/types/range-calendar/index.d.ts.map +1 -0
  100. package/dist/types/range-calendar/range-calendar.d.ts +69 -0
  101. package/dist/types/range-calendar/range-calendar.d.ts.map +1 -0
  102. package/dist/types/select/select.d.ts +7 -6
  103. package/dist/types/select/select.d.ts.map +1 -1
  104. package/dist/types/system/react-utils/context.d.ts +3 -2
  105. package/dist/types/system/react-utils/context.d.ts.map +1 -1
  106. package/dist/types/tabs/index.d.ts +2 -0
  107. package/dist/types/tabs/index.d.ts.map +1 -0
  108. package/dist/types/tabs/tabs.d.ts +16 -0
  109. package/dist/types/tabs/tabs.d.ts.map +1 -0
  110. package/dist/types/tag-field/tag-field-item.d.ts +2 -2
  111. package/dist/types/tag-field/tag-field-item.d.ts.map +1 -1
  112. package/dist/types/tag-field/tag-field-tag-list.d.ts.map +1 -1
  113. package/dist/types/tag-field/tag-field.d.ts.map +1 -1
  114. package/dist/types/tag-field/types.d.ts +3 -3
  115. package/dist/types/tag-field/types.d.ts.map +1 -1
  116. package/dist/types/text-area-field/text-area-field.d.ts +3 -3
  117. package/dist/types/text-area-field/text-area-field.d.ts.map +1 -1
  118. package/dist/types/text-field/text-field.d.ts +3 -3
  119. package/dist/types/text-field/text-field.d.ts.map +1 -1
  120. package/package.json +7 -7
  121. package/dist/cjs/calendar/calendar-base.cjs +0 -347
  122. package/dist/esm/calendar/calendar-base.js +0 -343
  123. package/dist/types/calendar/calendar-base.d.ts +0 -14
  124. package/dist/types/calendar/calendar-base.d.ts.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengovsg/oui",
3
- "version": "0.0.9",
3
+ "version": "0.0.11",
4
4
  "sideEffects": false,
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "type": "module",
@@ -34,8 +34,7 @@
34
34
  }
35
35
  },
36
36
  "devDependencies": {
37
- "@storybook/react": "8.6.4",
38
- "@storybook/test": "8.6.4",
37
+ "@storybook/react-vite": "9.0.0-beta.11",
39
38
  "@types/lodash-es": "^4.17.12",
40
39
  "@types/prop-types": "^15.7.14",
41
40
  "@types/react": "^19.0.12",
@@ -45,12 +44,13 @@
45
44
  "lucide-react": "^0.475.0",
46
45
  "motion": "^12.4.2",
47
46
  "prettier": "^3.5.0",
47
+ "storybook": "9.0.0-beta.11",
48
48
  "tsx": "^4.19.2",
49
49
  "typescript": "5.7.3",
50
- "@opengovsg/oui-theme": "0.0.7",
51
- "@oui/chromatic": "0.0.0",
50
+ "@opengovsg/oui-theme": "0.0.11",
52
51
  "@oui/eslint-config": "0.0.0",
53
52
  "@oui/prettier-config": "0.0.0",
53
+ "@oui/chromatic": "0.0.0",
54
54
  "@oui/typescript-config": "0.0.0"
55
55
  },
56
56
  "dependencies": {
@@ -76,12 +76,12 @@
76
76
  "type-fest": "^4.34.1",
77
77
  "use-deep-compare": "^1.3.0"
78
78
  },
79
+ "prettier": "@oui/prettier-config",
79
80
  "peerDependencies": {
80
81
  "motion": ">=11.12.0 || >=12.0.0-alpha.1",
81
82
  "react-aria-components": "^1.7.1",
82
- "@opengovsg/oui-theme": "0.0.7"
83
+ "@opengovsg/oui-theme": "0.0.11"
83
84
  },
84
- "prettier": "@oui/prettier-config",
85
85
  "scripts": {
86
86
  "build": "tsx ../../tooling/build-scripts/main.ts --dts --clean",
87
87
  "changeset": "cd ../.. && pnpm changeset",
@@ -1,347 +0,0 @@
1
- "use strict";
2
- "use client";
3
- 'use strict';
4
-
5
- var jsxRuntime = require('react/jsx-runtime');
6
- var react = require('react');
7
- var date = require('@internationalized/date');
8
- var reactAria = require('react-aria');
9
- var reactAriaComponents = require('react-aria-components');
10
- var ouiTheme = require('@opengovsg/oui-theme');
11
- var button = require('../button/button.cjs');
12
- var calendarStyleContext = require('./calendar-style-context.cjs');
13
- var utils = require('./utils.cjs');
14
- var chevronRight = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs');
15
- var chevronLeft = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/chevron-left.cjs');
16
- var select = require('../select/select.cjs');
17
- var selectItem = require('../select/select-item.cjs');
18
-
19
- const useCalendarSelectors = (state) => {
20
- const yearRange = react.useMemo(() => {
21
- const start = state.minValue.year ?? 1900;
22
- const end = state.maxValue.year ?? 2100;
23
- return { start, end };
24
- }, [state.maxValue, state.minValue]);
25
- const dateFormatter = reactAria.useDateFormatter(state);
26
- const datePartOrder = react.useMemo(() => {
27
- const parts = dateFormatter.formatToParts(
28
- state.visibleRange.start.toDate(state.timeZone)
29
- );
30
- const filteredParts = parts.filter(
31
- (part) => ["year", "month"].includes(part.type)
32
- );
33
- const filteredPartNames = filteredParts.map((part) => part.type);
34
- return filteredPartNames;
35
- }, [dateFormatter, state.timeZone, state.visibleRange.start]);
36
- const months = utils.useGenerateLocalizedMonths(state.timeZone);
37
- const years = utils.useGenerateLocalizedYears(
38
- yearRange.start,
39
- yearRange.end,
40
- state.timeZone
41
- );
42
- return react.useMemo(() => {
43
- return {
44
- months,
45
- years,
46
- datePartOrder
47
- };
48
- }, [datePartOrder, months, years]);
49
- };
50
- const i18nStrings = {
51
- "en-SG": {
52
- selectMonth: "Select month",
53
- selectYear: "Select year",
54
- today: "Today"
55
- },
56
- "zh-SG": {
57
- selectMonth: "\u9009\u62E9\u6708\u4EFD",
58
- selectYear: "\u9009\u62E9\u5E74\u4EFD",
59
- today: "\u4ECA\u5929"
60
- },
61
- "ms-SG": {
62
- selectMonth: "Pilih bulan",
63
- selectYear: "Pilih tahun",
64
- today: "Hari ini"
65
- },
66
- "ta-SG": {
67
- selectMonth: "\u0BAE\u0BBE\u0BA4\u0BA4\u0BCD\u0BA4\u0BC8 \u0BA4\u0BC7\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",
68
- selectYear: "\u0B86\u0BA3\u0BCD\u0B9F\u0BC8 \u0BA4\u0BC7\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",
69
- today: "\u0B87\u0BA9\u0BCD\u0BB1\u0BC1"
70
- }
71
- };
72
- const CalendarBottomContent = ({
73
- bottomContent,
74
- showTodayButton
75
- }) => {
76
- const state = react.useContext(reactAriaComponents.CalendarStateContext);
77
- const { slots, classNames, size } = calendarStyleContext.useCalendarStyleContext();
78
- const formatMessage = reactAria.useMessageFormatter(i18nStrings);
79
- if (bottomContent) {
80
- return bottomContent;
81
- }
82
- if (!showTodayButton) {
83
- return null;
84
- }
85
- return /* @__PURE__ */ jsxRuntime.jsx(
86
- "div",
87
- {
88
- className: slots.bottomContentWrapper({
89
- className: classNames?.bottomContentWrapper
90
- }),
91
- children: /* @__PURE__ */ jsxRuntime.jsx(
92
- button.Button,
93
- {
94
- isDisabled: state.isDisabled,
95
- variant: "clear",
96
- color: "sub",
97
- size,
98
- slot: null,
99
- className: slots.todayButton({ className: classNames?.todayButton }),
100
- onPress: () => {
101
- state.setFocusedDate(date.today(date.getLocalTimeZone()));
102
- },
103
- children: formatMessage("today")
104
- }
105
- )
106
- }
107
- );
108
- };
109
- function CalendarBase({
110
- weekdayStyle = "narrow",
111
- calendarRef,
112
- minValue = new date.CalendarDate(1900, 0, 1),
113
- maxValue = new date.CalendarDate(2100, 12, 31),
114
- bottomContent,
115
- showTodayButton = true,
116
- ...props
117
- }) {
118
- const { slots, className, classNames } = calendarStyleContext.useCalendarStyleContext();
119
- const numberOfVisibleMonths = props.visibleDuration?.months ?? 1;
120
- const dateToHighlight = react.useMemo(() => {
121
- return props.defaultFocusedValue ?? date.today(date.getLocalTimeZone());
122
- }, [props.defaultFocusedValue]);
123
- return /* @__PURE__ */ jsxRuntime.jsxs(
124
- reactAriaComponents.Calendar,
125
- {
126
- pageBehavior: "single",
127
- ...props,
128
- ref: calendarRef,
129
- minValue,
130
- maxValue,
131
- className: reactAriaComponents.composeRenderProps(
132
- className,
133
- (className2, renderProps) => slots.base({
134
- className: ouiTheme.cn(classNames?.base, className2),
135
- ...renderProps
136
- })
137
- ),
138
- children: [
139
- /* @__PURE__ */ jsxRuntime.jsx(
140
- "div",
141
- {
142
- className: slots.gridWrapper({
143
- className: classNames?.gridWrapper
144
- }),
145
- children: Array.from({ length: numberOfVisibleMonths }).map((_, index) => /* @__PURE__ */ jsxRuntime.jsxs(
146
- "div",
147
- {
148
- className: slots.calendar({ className: classNames?.calendar }),
149
- children: [
150
- /* @__PURE__ */ jsxRuntime.jsx(CalendarHeader, { offsetMonths: index }),
151
- /* @__PURE__ */ jsxRuntime.jsxs(
152
- reactAriaComponents.CalendarGrid,
153
- {
154
- className: slots.grid({ className: classNames?.grid }),
155
- weekdayStyle,
156
- offset: { months: index },
157
- children: [
158
- /* @__PURE__ */ jsxRuntime.jsx(CalendarGridHeader, {}),
159
- /* @__PURE__ */ jsxRuntime.jsx(
160
- reactAriaComponents.CalendarGridBody,
161
- {
162
- className: slots.gridBody({ className: classNames?.gridBody }),
163
- children: (date) => /* @__PURE__ */ jsxRuntime.jsx(
164
- reactAriaComponents.CalendarCell,
165
- {
166
- className: reactAriaComponents.composeRenderProps(
167
- classNames?.cell,
168
- (className2, renderProps) => slots.cell({
169
- className: className2,
170
- isMultipleMonths: numberOfVisibleMonths >= 2,
171
- isDateHighlighted: date.compare(dateToHighlight) === 0,
172
- ...renderProps
173
- })
174
- ),
175
- date
176
- }
177
- )
178
- }
179
- )
180
- ]
181
- }
182
- )
183
- ]
184
- },
185
- index
186
- ))
187
- }
188
- ),
189
- /* @__PURE__ */ jsxRuntime.jsx(
190
- CalendarBottomContent,
191
- {
192
- bottomContent,
193
- showTodayButton
194
- }
195
- )
196
- ]
197
- }
198
- );
199
- }
200
- const CalendarMonthDaySelector = () => {
201
- const { slots, size, classNames } = calendarStyleContext.useCalendarStyleContext();
202
- const state = react.useContext(reactAriaComponents.CalendarStateContext);
203
- const { months, years, datePartOrder } = useCalendarSelectors(state);
204
- const formatMessage = reactAria.useMessageFormatter(i18nStrings);
205
- return /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Group, { className: slots.selectors({ className: classNames?.selectors }), children: datePartOrder.map((part) => {
206
- if (part === "month") {
207
- return /* @__PURE__ */ jsxRuntime.jsx(
208
- select.Select,
209
- {
210
- isDisabled: state.isDisabled,
211
- size,
212
- items: months,
213
- variant: "clear",
214
- classNames: {
215
- trigger: slots.monthSelector({
216
- className: classNames?.monthSelector
217
- }),
218
- list: slots.monthList({ className: classNames?.monthList }),
219
- selectedText: slots.selectorText({
220
- className: classNames?.selectorText
221
- }),
222
- popover: "min-w-[12ch]"
223
- },
224
- selectedKey: state.visibleRange.start.month,
225
- "aria-label": formatMessage("selectMonth"),
226
- onSelectionChange: (month) => {
227
- state.setFocusedDate(
228
- new date.CalendarDate(state.focusedDate.year, Number(month), 1)
229
- );
230
- },
231
- children: (month) => /* @__PURE__ */ jsxRuntime.jsx(selectItem.SelectItem, { children: month.textValue })
232
- },
233
- part
234
- );
235
- }
236
- return /* @__PURE__ */ jsxRuntime.jsx(
237
- select.Select,
238
- {
239
- isDisabled: state.isDisabled,
240
- size,
241
- variant: "clear",
242
- items: years,
243
- classNames: {
244
- trigger: slots.yearSelector({
245
- className: classNames?.yearSelector
246
- }),
247
- list: slots.yearList({ className: classNames?.yearList }),
248
- selectedText: slots.selectorText({
249
- className: classNames?.selectorText
250
- })
251
- },
252
- selectedKey: state.visibleRange.start.year,
253
- "aria-label": formatMessage("selectYear"),
254
- onSelectionChange: (year) => {
255
- state.setFocusedDate(
256
- new date.CalendarDate(
257
- Number(year),
258
- state.focusedDate.month,
259
- state.focusedDate.day
260
- )
261
- );
262
- },
263
- children: (year) => /* @__PURE__ */ jsxRuntime.jsx(selectItem.SelectItem, { children: year.textValue })
264
- },
265
- part
266
- );
267
- }) });
268
- };
269
- function CalendarHeader({ offsetMonths = 0 }) {
270
- const { direction } = reactAriaComponents.useLocale();
271
- const { slots, classNames, size } = calendarStyleContext.useCalendarStyleContext();
272
- const state = react.useContext(reactAriaComponents.CalendarStateContext);
273
- const monthYearTitle = utils.useLocalizedMonthYear(
274
- state.visibleRange.start.add({ months: offsetMonths }),
275
- state.timeZone
276
- );
277
- if (offsetMonths === 0) {
278
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: slots.header({ className: classNames?.header }), children: [
279
- /* @__PURE__ */ jsxRuntime.jsx(CalendarMonthDaySelector, {}),
280
- /* @__PURE__ */ jsxRuntime.jsxs(
281
- reactAriaComponents.Group,
282
- {
283
- className: slots.buttonGroup({ className: classNames?.buttonGroup }),
284
- children: [
285
- /* @__PURE__ */ jsxRuntime.jsx(
286
- button.Button,
287
- {
288
- size,
289
- isIconOnly: true,
290
- variant: "clear",
291
- color: "sub",
292
- slot: "previous",
293
- className: slots.prevButton({ className: classNames?.prevButton }),
294
- children: direction === "rtl" ? /* @__PURE__ */ jsxRuntime.jsx(chevronRight.default, { "aria-hidden": true }) : /* @__PURE__ */ jsxRuntime.jsx(chevronLeft.default, { "aria-hidden": true })
295
- }
296
- ),
297
- /* @__PURE__ */ jsxRuntime.jsx(
298
- button.Button,
299
- {
300
- size,
301
- variant: "clear",
302
- color: "sub",
303
- isIconOnly: true,
304
- slot: "next",
305
- className: slots.nextButton({
306
- className: classNames?.nextButton
307
- }),
308
- children: direction === "rtl" ? /* @__PURE__ */ jsxRuntime.jsx(chevronLeft.default, { "aria-hidden": true }) : /* @__PURE__ */ jsxRuntime.jsx(chevronRight.default, { "aria-hidden": true })
309
- }
310
- )
311
- ]
312
- }
313
- )
314
- ] });
315
- }
316
- return /* @__PURE__ */ jsxRuntime.jsx(
317
- reactAriaComponents.Heading,
318
- {
319
- className: slots.header({ className: classNames?.header }),
320
- "aria-hidden": true,
321
- level: 2,
322
- children: monthYearTitle
323
- }
324
- );
325
- }
326
- function CalendarGridHeader() {
327
- const { slots, classNames } = calendarStyleContext.useCalendarStyleContext();
328
- return /* @__PURE__ */ jsxRuntime.jsx(
329
- reactAriaComponents.CalendarGridHeader,
330
- {
331
- className: slots.gridHeader({ className: classNames?.gridHeader }),
332
- children: (day) => /* @__PURE__ */ jsxRuntime.jsx(
333
- reactAriaComponents.CalendarHeaderCell,
334
- {
335
- className: slots.gridHeaderCell({
336
- className: classNames?.gridHeaderCell
337
- }),
338
- children: day
339
- }
340
- )
341
- }
342
- );
343
- }
344
-
345
- exports.CalendarBase = CalendarBase;
346
- exports.CalendarGridHeader = CalendarGridHeader;
347
- exports.CalendarHeader = CalendarHeader;