@coreui/react-pro 5.24.1 → 5.25.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 (175) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/components/date-picker/CDatePicker.d.ts +1 -1
  3. package/dist/cjs/components/date-picker/CDatePicker.js.map +1 -1
  4. package/dist/cjs/components/date-range-picker/CDateRangePicker.js +2 -0
  5. package/dist/cjs/components/date-range-picker/CDateRangePicker.js.map +1 -1
  6. package/dist/cjs/components/dropdown/CDropdown.js +1 -1
  7. package/dist/cjs/components/dropdown/CDropdown.js.map +1 -1
  8. package/dist/cjs/components/index.d.ts +1 -0
  9. package/dist/cjs/components/nav/CNavGroup.d.ts +3 -1
  10. package/dist/cjs/components/nav/CNavGroup.js +9 -5
  11. package/dist/cjs/components/nav/CNavGroup.js.map +1 -1
  12. package/dist/cjs/components/one-time-password-input/COneTimePassword.js +3 -3
  13. package/dist/cjs/components/one-time-password-input/COneTimePassword.js.map +1 -1
  14. package/dist/cjs/components/popover/CPopover.js +14 -17
  15. package/dist/cjs/components/popover/CPopover.js.map +1 -1
  16. package/dist/cjs/components/search-button/CSearchButton.d.ts +32 -0
  17. package/dist/cjs/components/search-button/CSearchButton.js +77 -0
  18. package/dist/cjs/components/search-button/CSearchButton.js.map +1 -0
  19. package/dist/cjs/components/search-button/index.d.ts +2 -0
  20. package/dist/cjs/components/search-button/types.d.ts +10 -0
  21. package/dist/cjs/components/search-button/utils.d.ts +11 -0
  22. package/dist/cjs/components/search-button/utils.js +115 -0
  23. package/dist/cjs/components/search-button/utils.js.map +1 -0
  24. package/dist/cjs/components/sidebar/CSidebarNav.d.ts +12 -0
  25. package/dist/cjs/components/sidebar/CSidebarNav.js +7 -2
  26. package/dist/cjs/components/sidebar/CSidebarNav.js.map +1 -1
  27. package/dist/cjs/components/smart-table/CSmartTable.js +2 -2
  28. package/dist/cjs/components/smart-table/CSmartTable.js.map +1 -1
  29. package/dist/cjs/components/smart-table/CSmartTableInterface.d.ts +2 -2
  30. package/dist/cjs/components/time-picker/CTimePicker.d.ts +1 -1
  31. package/dist/cjs/components/time-picker/CTimePicker.js +1 -1
  32. package/dist/cjs/components/time-picker/CTimePicker.js.map +1 -1
  33. package/dist/cjs/components/tooltip/CTooltip.js +14 -17
  34. package/dist/cjs/components/tooltip/CTooltip.js.map +1 -1
  35. package/dist/cjs/components/virtual-scroller/CVirtualScroller.js +11 -8
  36. package/dist/cjs/components/virtual-scroller/CVirtualScroller.js.map +1 -1
  37. package/dist/cjs/hooks/useDebouncedCallback.d.ts +1 -1
  38. package/dist/cjs/hooks/useDebouncedCallback.js +1 -1
  39. package/dist/cjs/hooks/useDebouncedCallback.js.map +1 -1
  40. package/dist/cjs/index.js +2 -0
  41. package/dist/cjs/index.js.map +1 -1
  42. package/dist/cjs/node_modules/@coreui/icons/dist/esm/free/cil-arrow-bottom.js +1 -1
  43. package/dist/cjs/node_modules/@coreui/icons/dist/esm/free/cil-arrow-bottom.js.map +1 -1
  44. package/dist/cjs/node_modules/@coreui/icons/dist/esm/free/cil-arrow-top.js +1 -1
  45. package/dist/cjs/node_modules/@coreui/icons/dist/esm/free/cil-arrow-top.js.map +1 -1
  46. package/dist/cjs/node_modules/@coreui/icons/dist/esm/free/cil-filter-x.js +1 -1
  47. package/dist/cjs/node_modules/@coreui/icons/dist/esm/free/cil-filter-x.js.map +1 -1
  48. package/dist/cjs/node_modules/@coreui/icons/dist/esm/free/cil-swap-vertical.js +1 -1
  49. package/dist/cjs/node_modules/@coreui/icons/dist/esm/free/cil-swap-vertical.js.map +1 -1
  50. package/dist/cjs/node_modules/ua-parser-js/dist/ua-parser.min.js +2 -2
  51. package/dist/cjs/node_modules/ua-parser-js/dist/ua-parser.min.js.map +1 -1
  52. package/dist/esm/components/date-picker/CDatePicker.d.ts +1 -1
  53. package/dist/esm/components/date-picker/CDatePicker.js.map +1 -1
  54. package/dist/esm/components/date-range-picker/CDateRangePicker.js +2 -0
  55. package/dist/esm/components/date-range-picker/CDateRangePicker.js.map +1 -1
  56. package/dist/esm/components/dropdown/CDropdown.js +1 -1
  57. package/dist/esm/components/dropdown/CDropdown.js.map +1 -1
  58. package/dist/esm/components/index.d.ts +1 -0
  59. package/dist/esm/components/nav/CNavGroup.d.ts +3 -1
  60. package/dist/esm/components/nav/CNavGroup.js +9 -5
  61. package/dist/esm/components/nav/CNavGroup.js.map +1 -1
  62. package/dist/esm/components/one-time-password-input/COneTimePassword.js +3 -3
  63. package/dist/esm/components/one-time-password-input/COneTimePassword.js.map +1 -1
  64. package/dist/esm/components/popover/CPopover.js +14 -17
  65. package/dist/esm/components/popover/CPopover.js.map +1 -1
  66. package/dist/esm/components/search-button/CSearchButton.d.ts +32 -0
  67. package/dist/esm/components/search-button/CSearchButton.js +75 -0
  68. package/dist/esm/components/search-button/CSearchButton.js.map +1 -0
  69. package/dist/esm/components/search-button/index.d.ts +2 -0
  70. package/dist/esm/components/search-button/types.d.ts +10 -0
  71. package/dist/esm/components/search-button/utils.d.ts +11 -0
  72. package/dist/esm/components/search-button/utils.js +104 -0
  73. package/dist/esm/components/search-button/utils.js.map +1 -0
  74. package/dist/esm/components/sidebar/CSidebarNav.d.ts +12 -0
  75. package/dist/esm/components/sidebar/CSidebarNav.js +7 -2
  76. package/dist/esm/components/sidebar/CSidebarNav.js.map +1 -1
  77. package/dist/esm/components/smart-table/CSmartTable.js +2 -2
  78. package/dist/esm/components/smart-table/CSmartTable.js.map +1 -1
  79. package/dist/esm/components/smart-table/CSmartTableInterface.d.ts +2 -2
  80. package/dist/esm/components/time-picker/CTimePicker.d.ts +1 -1
  81. package/dist/esm/components/time-picker/CTimePicker.js +1 -1
  82. package/dist/esm/components/time-picker/CTimePicker.js.map +1 -1
  83. package/dist/esm/components/tooltip/CTooltip.js +14 -17
  84. package/dist/esm/components/tooltip/CTooltip.js.map +1 -1
  85. package/dist/esm/components/virtual-scroller/CVirtualScroller.js +11 -8
  86. package/dist/esm/components/virtual-scroller/CVirtualScroller.js.map +1 -1
  87. package/dist/esm/hooks/useDebouncedCallback.d.ts +1 -1
  88. package/dist/esm/hooks/useDebouncedCallback.js +1 -1
  89. package/dist/esm/hooks/useDebouncedCallback.js.map +1 -1
  90. package/dist/esm/index.js +1 -0
  91. package/dist/esm/index.js.map +1 -1
  92. package/dist/esm/node_modules/@coreui/icons/dist/esm/free/cil-arrow-bottom.js +1 -1
  93. package/dist/esm/node_modules/@coreui/icons/dist/esm/free/cil-arrow-bottom.js.map +1 -1
  94. package/dist/esm/node_modules/@coreui/icons/dist/esm/free/cil-arrow-top.js +1 -1
  95. package/dist/esm/node_modules/@coreui/icons/dist/esm/free/cil-arrow-top.js.map +1 -1
  96. package/dist/esm/node_modules/@coreui/icons/dist/esm/free/cil-filter-x.js +1 -1
  97. package/dist/esm/node_modules/@coreui/icons/dist/esm/free/cil-filter-x.js.map +1 -1
  98. package/dist/esm/node_modules/@coreui/icons/dist/esm/free/cil-swap-vertical.js +1 -1
  99. package/dist/esm/node_modules/@coreui/icons/dist/esm/free/cil-swap-vertical.js.map +1 -1
  100. package/dist/esm/node_modules/ua-parser-js/dist/ua-parser.min.js +2 -2
  101. package/dist/esm/node_modules/ua-parser-js/dist/ua-parser.min.js.map +1 -1
  102. package/package.json +6 -4
  103. package/src/components/autocomplete/__tests__/CAutocomplete.spec.tsx +18 -16
  104. package/src/components/autocomplete/__tests__/CAutocompleteOptions.spec.tsx +37 -28
  105. package/src/components/autocomplete/__tests__/__snapshots__/CAutocomplete.spec.tsx.snap +129 -0
  106. package/src/components/autocomplete/__tests__/__snapshots__/CAutocompleteOptions.spec.tsx.snap +36 -0
  107. package/src/components/calendar/__tests__/CCalendar.spec.tsx +40 -45
  108. package/src/components/calendar/__tests__/__snapshots__/CCalendar.spec.tsx.snap +99 -75
  109. package/src/components/calendar/__tests__/utils.spec.tsx +8 -18
  110. package/src/components/date-picker/CDatePicker.tsx +12 -13
  111. package/src/components/date-picker/__tests__/CDatePicker.spec.tsx +1 -1
  112. package/src/components/date-picker/__tests__/__snapshots__/CDatePicker.spec.tsx.snap +12 -640
  113. package/src/components/date-range-picker/CDateRangePicker.tsx +2 -0
  114. package/src/components/date-range-picker/__tests__/CDateRangePicker.spec.tsx +1 -1
  115. package/src/components/date-range-picker/__tests__/__snapshots__/CDateRangePicker.spec.tsx.snap +21 -1259
  116. package/src/components/dropdown/CDropdown.tsx +1 -1
  117. package/src/components/dropdown/__tests__/CDropdown.spec.tsx +1 -1
  118. package/src/components/dropdown/__tests__/__snapshots__/CDropdown.spec.tsx.snap +2 -2
  119. package/src/components/dropdown/__tests__/__snapshots__/CDropdownMenu.spec.tsx.snap +1 -1
  120. package/src/components/form/__tests__/CFormInput.spec.tsx +17 -20
  121. package/src/components/form/__tests__/__snapshots__/CFormInput.spec.tsx.snap +12 -3
  122. package/src/components/index.ts +1 -0
  123. package/src/components/loading-button/__tests__/CLoadingButton.spec.tsx +1 -1
  124. package/src/components/loading-button/__tests__/__snapshots__/CLoadingButton.spec.tsx.snap +4 -4
  125. package/src/components/multi-select/__tests__/CMultiSelect.spec.tsx +15 -61
  126. package/src/components/multi-select/__tests__/CMultiSelectNativeSelect.spec.tsx +4 -5
  127. package/src/components/multi-select/__tests__/CMultiSelectOptions.spec.tsx +4 -4
  128. package/src/components/multi-select/__tests__/CMultiSelectSelection.spec.tsx +7 -24
  129. package/src/components/multi-select/__tests__/__snapshots__/CMultiSelect.spec.tsx.snap +50 -20
  130. package/src/components/multi-select/__tests__/__snapshots__/CMultiSelectNativeSelect.spec.tsx.snap +0 -2
  131. package/src/components/multi-select/__tests__/__snapshots__/CMultiSelectOptions.spec.tsx.snap +6 -0
  132. package/src/components/multi-select/__tests__/__snapshots__/CMultiSelectSelection.spec.tsx.snap +11 -8
  133. package/src/components/nav/CNavGroup.tsx +11 -6
  134. package/src/components/nav/__tests__/CNavGroup.spec.tsx +29 -1
  135. package/src/components/nav/__tests__/__snapshots__/CNavGroup.spec.tsx.snap +1 -1
  136. package/src/components/offcanvas/__tests__/COffcanvas.spec.tsx +1 -0
  137. package/src/components/one-time-password-input/COneTimePassword.tsx +10 -11
  138. package/src/components/picker/__tests__/CPicker.spec.tsx +1 -1
  139. package/src/components/picker/__tests__/__snapshots__/CPicker.spec.tsx.snap +2 -16
  140. package/src/components/popover/CPopover.tsx +15 -20
  141. package/src/components/popover/__tests__/CPopover.spec.tsx +10 -4
  142. package/src/components/search-button/CSearchButton.tsx +195 -0
  143. package/src/components/search-button/__tests__/CSearchButton.spec.tsx +95 -0
  144. package/src/components/search-button/__tests__/__snapshots__/CSearchButton.spec.tsx.snap +87 -0
  145. package/src/components/search-button/index.ts +3 -0
  146. package/src/components/search-button/types.ts +10 -0
  147. package/src/components/search-button/utils.ts +140 -0
  148. package/src/components/sidebar/CSidebarNav.tsx +27 -2
  149. package/src/components/smart-table/CSmartTable.tsx +5 -4
  150. package/src/components/smart-table/CSmartTableInterface.tsx +2 -2
  151. package/src/components/smart-table/__tests__/CSmartTable.spec.tsx +3 -2
  152. package/src/components/smart-table/__tests__/__snapshots__/CSmartTable.spec.tsx.snap +7 -15
  153. package/src/components/stepper/__tests__/CStepper.spec.tsx +24 -21
  154. package/src/components/stepper/__tests__/__snapshots__/CStepper.spec.tsx.snap +295 -0
  155. package/src/components/tabs/__tests__/CTabContent.spec.tsx +1 -0
  156. package/src/components/tabs/__tests__/CTabPane.spec.tsx +1 -0
  157. package/src/components/time-picker/CTimePicker.tsx +6 -7
  158. package/src/components/time-picker/__tests__/CTimePicker.spec.tsx +10 -1
  159. package/src/components/time-picker/__tests__/__snapshots__/CTimePicker.spec.tsx.snap +599 -315
  160. package/src/components/tooltip/CTooltip.tsx +15 -20
  161. package/src/components/tooltip/__tests__/CTooltip.spec.tsx +6 -0
  162. package/src/components/virtual-scroller/CVirtualScroller.tsx +13 -14
  163. package/src/hooks/useDebouncedCallback.ts +7 -4
  164. package/dist/cjs/components/accordion/CAccordionCollapse.d.ts +0 -3
  165. package/dist/esm/components/accordion/CAccordionCollapse.d.ts +0 -3
  166. package/src/components/accordion/CAccordionCollapse.tsx +0 -20
  167. package/src/components/accordion/__tests__/CAccordionCollapse.spec.tsx +0 -10
  168. package/src/components/accordion/__tests__/__snapshots__/CAccordionCollapse.spec.tsx.snap +0 -11
  169. package/src/components/button/__tests__/__snapshots__/CButtonClose.spec.tsx.snap +0 -26
  170. package/src/components/calendar/__tests__/CCalendar.accessibility.spec.tsx +0 -595
  171. package/src/components/calendar/__tests__/CCalendar.comprehensive.spec.tsx +0 -402
  172. package/src/components/calendar/__tests__/CCalendar.edge-cases.spec.tsx +0 -416
  173. package/src/components/calendar/__tests__/CCalendar.interactions.spec.tsx +0 -593
  174. package/src/components/header/CHeaderBrand.tsx~HEAD +0 -36
  175. /package/src/components/calendar/__tests__/{test-setup.ts → setup.ts} +0 -0
@@ -0,0 +1,129 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`CAutocomplete customize 1`] = `
4
+ <div>
5
+ <div
6
+ class="autocomplete autocomplete-lg disabled bazinga"
7
+ >
8
+ <div
9
+ class="autocomplete-input-group"
10
+ >
11
+ <input
12
+ aria-autocomplete="list"
13
+ aria-haspopup="listbox"
14
+ autocomplete="off"
15
+ class="autocomplete-input"
16
+ disabled=""
17
+ id="autocomplete-:r1:"
18
+ name="autocomplete-:r1:"
19
+ placeholder="Select option"
20
+ role="combobox"
21
+ type="text"
22
+ />
23
+ <div
24
+ class="autocomplete-buttons"
25
+ >
26
+ <button
27
+ class="autocomplete-indicator"
28
+ type="button"
29
+ />
30
+ </div>
31
+ </div>
32
+ <div
33
+ aria-labelledby="autocomplete-:r1:"
34
+ class="autocomplete-dropdown"
35
+ id="autocomplete-listbox-:r1:"
36
+ role="listbox"
37
+ >
38
+ <div
39
+ class="autocomplete-options"
40
+ role="listbox"
41
+ >
42
+ <div
43
+ class="autocomplete-option"
44
+ tabindex="0"
45
+ >
46
+ Apple
47
+ </div>
48
+ <div
49
+ class="autocomplete-option"
50
+ tabindex="0"
51
+ >
52
+ Banana
53
+ </div>
54
+ <div
55
+ class="autocomplete-option"
56
+ tabindex="0"
57
+ >
58
+ Cherry
59
+ </div>
60
+ <div
61
+ class="autocomplete-option"
62
+ tabindex="0"
63
+ >
64
+ Date
65
+ </div>
66
+ </div>
67
+ </div>
68
+ </div>
69
+ </div>
70
+ `;
71
+
72
+ exports[`loads and displays CAutocomplete component 1`] = `
73
+ <div>
74
+ <div
75
+ class="autocomplete"
76
+ >
77
+ <div
78
+ class="autocomplete-input-group"
79
+ >
80
+ <input
81
+ aria-autocomplete="list"
82
+ aria-haspopup="listbox"
83
+ autocomplete="off"
84
+ class="autocomplete-input"
85
+ id="autocomplete-:r0:"
86
+ name="autocomplete-:r0:"
87
+ role="combobox"
88
+ type="text"
89
+ />
90
+ </div>
91
+ <div
92
+ aria-labelledby="autocomplete-:r0:"
93
+ class="autocomplete-dropdown"
94
+ id="autocomplete-listbox-:r0:"
95
+ role="listbox"
96
+ >
97
+ <div
98
+ class="autocomplete-options"
99
+ role="listbox"
100
+ >
101
+ <div
102
+ class="autocomplete-option"
103
+ tabindex="0"
104
+ >
105
+ Apple
106
+ </div>
107
+ <div
108
+ class="autocomplete-option"
109
+ tabindex="0"
110
+ >
111
+ Banana
112
+ </div>
113
+ <div
114
+ class="autocomplete-option"
115
+ tabindex="0"
116
+ >
117
+ Cherry
118
+ </div>
119
+ <div
120
+ class="autocomplete-option"
121
+ tabindex="0"
122
+ >
123
+ Date
124
+ </div>
125
+ </div>
126
+ </div>
127
+ </div>
128
+ </div>
129
+ `;
@@ -0,0 +1,36 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`loads and displays CAutocompleteOptions component 1`] = `
4
+ <div>
5
+ <div
6
+ class="autocomplete-options"
7
+ role="listbox"
8
+ style="overflow: scroll;"
9
+ >
10
+ <div
11
+ class="autocomplete-option"
12
+ tabindex="0"
13
+ >
14
+ Apple
15
+ </div>
16
+ <div
17
+ class="autocomplete-option"
18
+ tabindex="0"
19
+ >
20
+ Banana
21
+ </div>
22
+ <div
23
+ class="autocomplete-option"
24
+ tabindex="0"
25
+ >
26
+ Cherry
27
+ </div>
28
+ <div
29
+ class="autocomplete-option"
30
+ tabindex="0"
31
+ >
32
+ Date
33
+ </div>
34
+ </div>
35
+ </div>
36
+ `;
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react'
2
- import { render, screen } from '@testing-library/react'
2
+ import { render } from '@testing-library/react'
3
3
  import '@testing-library/jest-dom'
4
4
  import { CCalendar } from '../CCalendar'
5
- import './test-setup'
5
+ import './setup'
6
6
 
7
7
  describe('CCalendar', () => {
8
8
  it('loads and displays CCalendar component', () => {
@@ -11,117 +11,112 @@ describe('CCalendar', () => {
11
11
  })
12
12
 
13
13
  it('renders with default props', () => {
14
- render(<CCalendar />)
15
- expect(screen.getByRole('application')).toBeInTheDocument()
14
+ const { container } = render(<CCalendar />)
15
+ expect(container.querySelector('.calendars')).toBeInTheDocument()
16
16
  })
17
17
 
18
18
  it('handles date string props correctly', () => {
19
- render(<CCalendar calendarDate="2/16/2022" />)
20
- expect(screen.getByRole('application')).toBeInTheDocument()
19
+ const { container } = render(<CCalendar calendarDate="2/16/2022" />)
20
+ expect(container.querySelector('.calendars')).toBeInTheDocument()
21
21
  })
22
22
 
23
23
  it('handles Date object props correctly', () => {
24
24
  const testDate = new Date(2022, 1, 16)
25
- render(<CCalendar calendarDate={testDate} />)
26
- expect(screen.getByRole('application')).toBeInTheDocument()
25
+ const { container } = render(<CCalendar calendarDate={testDate} />)
26
+ expect(container.querySelector('.calendars')).toBeInTheDocument()
27
27
  })
28
28
 
29
29
  it('handles invalid dates gracefully', () => {
30
- render(<CCalendar calendarDate="invalid-date" />)
31
- expect(screen.getByRole('application')).toBeInTheDocument()
30
+ const { container } = render(<CCalendar calendarDate="invalid-date" />)
31
+ expect(container.querySelector('.calendars')).toBeInTheDocument()
32
32
  })
33
33
 
34
34
  it('handles null/undefined dates gracefully', () => {
35
- render(<CCalendar calendarDate={null} />)
36
- expect(screen.getByRole('application')).toBeInTheDocument()
35
+ const { container } = render(<CCalendar calendarDate={null} />)
36
+ expect(container.querySelector('.calendars')).toBeInTheDocument()
37
37
  })
38
38
 
39
39
  it('supports range selection', () => {
40
- render(
41
- <CCalendar
40
+ const { container } = render(
41
+ <CCalendar
42
42
  range
43
43
  startDate="2/16/2022"
44
44
  endDate="2/20/2022"
45
45
  />
46
46
  )
47
- expect(screen.getByRole('application')).toBeInTheDocument()
47
+ expect(container.querySelector('.calendars')).toBeInTheDocument()
48
48
  })
49
49
 
50
50
  it('supports disabled dates', () => {
51
51
  const disabledDates = [new Date(2022, 1, 16), new Date(2022, 1, 17)]
52
- render(<CCalendar disabledDates={disabledDates} />)
53
- expect(screen.getByRole('application')).toBeInTheDocument()
52
+ const { container } = render(<CCalendar disabledDates={disabledDates} />)
53
+ expect(container.querySelector('.calendars')).toBeInTheDocument()
54
54
  })
55
55
 
56
56
  it('supports min/max date constraints', () => {
57
- render(
58
- <CCalendar
57
+ const { container } = render(
58
+ <CCalendar
59
59
  minDate="1/1/2022"
60
60
  maxDate="12/31/2022"
61
61
  />
62
62
  )
63
- expect(screen.getByRole('application')).toBeInTheDocument()
63
+ expect(container.querySelector('.calendars')).toBeInTheDocument()
64
64
  })
65
65
 
66
66
  it('supports different selection types', () => {
67
67
  const selectionTypes = ['day', 'week', 'month', 'year'] as const
68
-
68
+
69
69
  selectionTypes.forEach(type => {
70
- render(<CCalendar selectionType={type} />)
71
- expect(screen.getByRole('application')).toBeInTheDocument()
70
+ const { container } = render(<CCalendar selectionType={type} />)
71
+ expect(container.querySelector('.calendars')).toBeInTheDocument()
72
72
  })
73
73
  })
74
74
 
75
75
  it('supports different locales', () => {
76
76
  const locales = ['en-US', 'pl-PL', 'de-DE', 'fr-FR']
77
-
77
+
78
78
  locales.forEach(locale => {
79
- render(<CCalendar locale={locale} />)
80
- expect(screen.getByRole('application')).toBeInTheDocument()
79
+ const { container } = render(<CCalendar locale={locale} />)
80
+ expect(container.querySelector('.calendars')).toBeInTheDocument()
81
81
  })
82
82
  })
83
83
 
84
84
  it('handles prop updates correctly', () => {
85
- const { rerender } = render(<CCalendar calendarDate="2/16/2022" />)
86
- expect(screen.getByRole('application')).toBeInTheDocument()
87
-
85
+ const { container, rerender } = render(<CCalendar calendarDate="2/16/2022" />)
86
+ expect(container.querySelector('.calendars')).toBeInTheDocument()
87
+
88
88
  rerender(<CCalendar calendarDate="3/16/2022" />)
89
- expect(screen.getByRole('application')).toBeInTheDocument()
89
+ expect(container.querySelector('.calendars')).toBeInTheDocument()
90
90
  })
91
91
  })
92
92
 
93
93
  // Additional regression tests for the timezone fix
94
94
  describe('CCalendar Timezone Fix Regression Tests', () => {
95
95
  it('correctly parses dates without timezone shifting', () => {
96
- // This specifically tests the fix for the timezone bug
97
- render(<CCalendar calendarDate="2/16/2022" />)
98
- expect(screen.getByRole('application')).toBeInTheDocument()
99
-
100
- // The component should render without the date being shifted by timezone offset
101
- // The actual date validation would require access to internal state or DOM content
96
+ const { container } = render(<CCalendar calendarDate="2/16/2022" />)
97
+ expect(container.querySelector('.calendars')).toBeInTheDocument()
102
98
  })
103
99
 
104
100
  it('maintains correct dates across different timezones', () => {
105
101
  const testDates = ['1/1/2022', '6/15/2022', '12/31/2022']
106
-
102
+
107
103
  testDates.forEach(dateString => {
108
- render(<CCalendar calendarDate={dateString} />)
109
- expect(screen.getByRole('application')).toBeInTheDocument()
104
+ const { container } = render(<CCalendar calendarDate={dateString} />)
105
+ expect(container.querySelector('.calendars')).toBeInTheDocument()
110
106
  })
111
107
  })
112
108
 
113
109
  it('handles leap year dates correctly', () => {
114
- render(<CCalendar calendarDate="2/29/2024" />)
115
- expect(screen.getByRole('application')).toBeInTheDocument()
110
+ const { container } = render(<CCalendar calendarDate="2/29/2024" />)
111
+ expect(container.querySelector('.calendars')).toBeInTheDocument()
116
112
  })
117
113
 
118
114
  it('handles DST transition dates correctly', () => {
119
- // Test dates around daylight saving time transitions
120
115
  const dstDates = ['3/11/2023', '3/12/2023', '11/4/2023', '11/5/2023']
121
-
116
+
122
117
  dstDates.forEach(dateString => {
123
- render(<CCalendar calendarDate={dateString} />)
124
- expect(screen.getByRole('application')).toBeInTheDocument()
118
+ const { container } = render(<CCalendar calendarDate={dateString} />)
119
+ expect(container.querySelector('.calendars')).toBeInTheDocument()
125
120
  })
126
121
  })
127
122
  })