@coreui/react-pro 5.10.0 → 5.11.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 (164) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/components/accordion/CAccordionButton.js +2 -2
  3. package/dist/cjs/components/accordion/CAccordionButton.js.map +1 -1
  4. package/dist/cjs/components/accordion/CAccordionItem.d.ts +1 -0
  5. package/dist/cjs/components/accordion/CAccordionItem.js +6 -3
  6. package/dist/cjs/components/accordion/CAccordionItem.js.map +1 -1
  7. package/dist/cjs/components/badge/CBadge.js +1 -1
  8. package/dist/cjs/components/badge/CBadge.js.map +1 -1
  9. package/dist/cjs/components/calendar/CCalendar.d.ts +57 -44
  10. package/dist/cjs/components/calendar/CCalendar.js +51 -187
  11. package/dist/cjs/components/calendar/CCalendar.js.map +1 -1
  12. package/dist/cjs/components/calendar/CCalendarNavigation.d.ts +21 -0
  13. package/dist/cjs/components/calendar/CCalendarNavigation.js +23 -0
  14. package/dist/cjs/components/calendar/CCalendarNavigation.js.map +1 -0
  15. package/dist/cjs/components/calendar/CCalendarPanel.d.ts +28 -0
  16. package/dist/cjs/components/calendar/CCalendarPanel.js +149 -0
  17. package/dist/cjs/components/calendar/CCalendarPanel.js.map +1 -0
  18. package/dist/cjs/components/calendar/types.d.ts +3 -0
  19. package/dist/cjs/components/calendar/utils.d.ts +175 -18
  20. package/dist/cjs/components/calendar/utils.js +312 -43
  21. package/dist/cjs/components/calendar/utils.js.map +1 -1
  22. package/dist/cjs/components/date-picker/CDatePicker.d.ts +1 -1
  23. package/dist/cjs/components/date-range-picker/CDateRangePicker.d.ts +2 -2
  24. package/dist/cjs/components/date-range-picker/CDateRangePicker.js +0 -2
  25. package/dist/cjs/components/date-range-picker/CDateRangePicker.js.map +1 -1
  26. package/dist/cjs/components/date-range-picker/utils.d.ts +16 -0
  27. package/dist/cjs/components/date-range-picker/utils.js +18 -2
  28. package/dist/cjs/components/date-range-picker/utils.js.map +1 -1
  29. package/dist/cjs/components/dropdown/CDropdownToggle.js +1 -1
  30. package/dist/cjs/components/dropdown/CDropdownToggle.js.map +1 -1
  31. package/dist/cjs/components/modal/CModal.js +0 -1
  32. package/dist/cjs/components/modal/CModal.js.map +1 -1
  33. package/dist/cjs/components/nav/CNavGroup.js +1 -1
  34. package/dist/cjs/components/nav/CNavGroup.js.map +1 -1
  35. package/dist/cjs/components/progress/CProgress.d.ts +1 -1
  36. package/dist/cjs/components/range-slider/CRangeSlider.js +6 -2
  37. package/dist/cjs/components/range-slider/CRangeSlider.js.map +1 -1
  38. package/dist/cjs/components/sidebar/CSidebar.d.ts +7 -2
  39. package/dist/cjs/components/sidebar/CSidebar.js +7 -6
  40. package/dist/cjs/components/sidebar/CSidebar.js.map +1 -1
  41. package/dist/cjs/components/smart-pagination/CSmartPagination.d.ts +4 -12
  42. package/dist/cjs/components/smart-pagination/CSmartPagination.js.map +1 -1
  43. package/dist/cjs/components/smart-table/CSmartTableHead.js +10 -25
  44. package/dist/cjs/components/smart-table/CSmartTableHead.js.map +1 -1
  45. package/dist/cjs/components/time-picker/CTimePicker.d.ts +1 -1
  46. package/dist/cjs/components/time-picker/CTimePicker.js.map +1 -1
  47. package/dist/cjs/components/time-picker/types.d.ts +5 -0
  48. package/dist/cjs/components/time-picker/utils.d.ts +8 -11
  49. package/dist/cjs/components/time-picker/utils.js +8 -4
  50. package/dist/cjs/components/time-picker/utils.js.map +1 -1
  51. package/dist/cjs/hooks/index.d.ts +2 -1
  52. package/dist/cjs/hooks/useClipboard.d.ts +12 -0
  53. package/dist/cjs/hooks/useClipboard.js +54 -0
  54. package/dist/cjs/hooks/useClipboard.js.map +1 -0
  55. package/dist/cjs/hooks/useColorModes.js +5 -5
  56. package/dist/cjs/hooks/useColorModes.js.map +1 -1
  57. package/dist/cjs/index.js +2 -0
  58. package/dist/cjs/index.js.map +1 -1
  59. package/dist/cjs/node_modules/react-device-detect/dist/lib.js +1 -1
  60. package/dist/cjs/node_modules/react-device-detect/dist/lib.js.map +1 -1
  61. package/dist/cjs/node_modules/tslib/tslib.es6.js +40 -0
  62. package/dist/cjs/node_modules/tslib/tslib.es6.js.map +1 -1
  63. package/dist/cjs/utils/index.d.ts +2 -1
  64. package/dist/cjs/utils/mergeClassNames.d.ts +2 -0
  65. package/dist/esm/components/accordion/CAccordionButton.js +2 -2
  66. package/dist/esm/components/accordion/CAccordionButton.js.map +1 -1
  67. package/dist/esm/components/accordion/CAccordionItem.d.ts +1 -0
  68. package/dist/esm/components/accordion/CAccordionItem.js +7 -4
  69. package/dist/esm/components/accordion/CAccordionItem.js.map +1 -1
  70. package/dist/esm/components/badge/CBadge.js +1 -1
  71. package/dist/esm/components/badge/CBadge.js.map +1 -1
  72. package/dist/esm/components/calendar/CCalendar.d.ts +57 -44
  73. package/dist/esm/components/calendar/CCalendar.js +52 -188
  74. package/dist/esm/components/calendar/CCalendar.js.map +1 -1
  75. package/dist/esm/components/calendar/CCalendarNavigation.d.ts +21 -0
  76. package/dist/esm/components/calendar/CCalendarNavigation.js +21 -0
  77. package/dist/esm/components/calendar/CCalendarNavigation.js.map +1 -0
  78. package/dist/esm/components/calendar/CCalendarPanel.d.ts +28 -0
  79. package/dist/esm/components/calendar/CCalendarPanel.js +147 -0
  80. package/dist/esm/components/calendar/CCalendarPanel.js.map +1 -0
  81. package/dist/esm/components/calendar/types.d.ts +3 -0
  82. package/dist/esm/components/calendar/utils.d.ts +175 -18
  83. package/dist/esm/components/calendar/utils.js +306 -44
  84. package/dist/esm/components/calendar/utils.js.map +1 -1
  85. package/dist/esm/components/date-picker/CDatePicker.d.ts +1 -1
  86. package/dist/esm/components/date-range-picker/CDateRangePicker.d.ts +2 -2
  87. package/dist/esm/components/date-range-picker/CDateRangePicker.js +0 -2
  88. package/dist/esm/components/date-range-picker/CDateRangePicker.js.map +1 -1
  89. package/dist/esm/components/date-range-picker/utils.d.ts +16 -0
  90. package/dist/esm/components/date-range-picker/utils.js +18 -2
  91. package/dist/esm/components/date-range-picker/utils.js.map +1 -1
  92. package/dist/esm/components/dropdown/CDropdownToggle.js +1 -1
  93. package/dist/esm/components/dropdown/CDropdownToggle.js.map +1 -1
  94. package/dist/esm/components/modal/CModal.js +0 -1
  95. package/dist/esm/components/modal/CModal.js.map +1 -1
  96. package/dist/esm/components/nav/CNavGroup.js +1 -1
  97. package/dist/esm/components/nav/CNavGroup.js.map +1 -1
  98. package/dist/esm/components/progress/CProgress.d.ts +1 -1
  99. package/dist/esm/components/range-slider/CRangeSlider.js +6 -2
  100. package/dist/esm/components/range-slider/CRangeSlider.js.map +1 -1
  101. package/dist/esm/components/sidebar/CSidebar.d.ts +7 -2
  102. package/dist/esm/components/sidebar/CSidebar.js +7 -6
  103. package/dist/esm/components/sidebar/CSidebar.js.map +1 -1
  104. package/dist/esm/components/smart-pagination/CSmartPagination.d.ts +4 -12
  105. package/dist/esm/components/smart-pagination/CSmartPagination.js.map +1 -1
  106. package/dist/esm/components/smart-table/CSmartTableHead.js +11 -26
  107. package/dist/esm/components/smart-table/CSmartTableHead.js.map +1 -1
  108. package/dist/esm/components/time-picker/CTimePicker.d.ts +1 -1
  109. package/dist/esm/components/time-picker/CTimePicker.js.map +1 -1
  110. package/dist/esm/components/time-picker/types.d.ts +5 -0
  111. package/dist/esm/components/time-picker/utils.d.ts +8 -11
  112. package/dist/esm/components/time-picker/utils.js +8 -4
  113. package/dist/esm/components/time-picker/utils.js.map +1 -1
  114. package/dist/esm/hooks/index.d.ts +2 -1
  115. package/dist/esm/hooks/useClipboard.d.ts +12 -0
  116. package/dist/esm/hooks/useClipboard.js +52 -0
  117. package/dist/esm/hooks/useClipboard.js.map +1 -0
  118. package/dist/esm/hooks/useColorModes.js +5 -5
  119. package/dist/esm/hooks/useColorModes.js.map +1 -1
  120. package/dist/esm/index.js +1 -0
  121. package/dist/esm/index.js.map +1 -1
  122. package/dist/esm/node_modules/react-device-detect/dist/lib.js +1 -1
  123. package/dist/esm/node_modules/react-device-detect/dist/lib.js.map +1 -1
  124. package/dist/esm/node_modules/tslib/tslib.es6.js +39 -1
  125. package/dist/esm/node_modules/tslib/tslib.es6.js.map +1 -1
  126. package/dist/esm/utils/index.d.ts +2 -1
  127. package/dist/esm/utils/mergeClassNames.d.ts +2 -0
  128. package/package.json +12 -10
  129. package/src/components/accordion/CAccordionButton.tsx +3 -2
  130. package/src/components/accordion/CAccordionItem.tsx +8 -3
  131. package/src/components/accordion/__tests__/__snapshots__/CAccordionButton.spec.tsx.snap +0 -2
  132. package/src/components/accordion/__tests__/__snapshots__/CAccordionHeader.spec.tsx.snap +0 -2
  133. package/src/components/badge/CBadge.tsx +1 -1
  134. package/src/components/calendar/CCalendar.tsx +154 -489
  135. package/src/components/calendar/CCalendarNavigation.tsx +120 -0
  136. package/src/components/calendar/CCalendarPanel.tsx +306 -0
  137. package/src/components/calendar/types.ts +5 -0
  138. package/src/components/calendar/utils.ts +414 -109
  139. package/src/components/carousel/__tests__/CCarousel.spec.tsx +1 -2
  140. package/src/components/date-picker/CDatePicker.tsx +1 -1
  141. package/src/components/date-range-picker/CDateRangePicker.tsx +2 -4
  142. package/src/components/date-range-picker/utils.ts +23 -3
  143. package/src/components/dropdown/CDropdownToggle.tsx +1 -1
  144. package/src/components/dropdown/__tests__/CDropdown.spec.tsx +43 -19
  145. package/src/components/modal/CModal.tsx +0 -2
  146. package/src/components/modal/__tests__/CModal.spec.tsx +33 -25
  147. package/src/components/nav/CNavGroup.tsx +5 -1
  148. package/src/components/nav/__tests__/__snapshots__/CNavGroup.spec.tsx.snap +4 -1
  149. package/src/components/popover/__tests__/CPopover.spec.tsx +1 -1
  150. package/src/components/popover/__tests__/__snapshots__/CPopover.spec.tsx.snap +2 -3
  151. package/src/components/progress/CProgress.tsx +1 -1
  152. package/src/components/range-slider/CRangeSlider.tsx +7 -2
  153. package/src/components/sidebar/CSidebar.tsx +15 -5
  154. package/src/components/smart-pagination/CSmartPagination.tsx +4 -12
  155. package/src/components/smart-table/CSmartTableHead.tsx +7 -34
  156. package/src/components/time-picker/CTimePicker.tsx +3 -3
  157. package/src/components/time-picker/types.ts +7 -0
  158. package/src/components/time-picker/utils.ts +15 -13
  159. package/src/components/tooltip/__tests__/__snapshots__/CTooltip.spec.tsx.snap +0 -1
  160. package/src/hooks/index.ts +2 -0
  161. package/src/hooks/useClipboard.ts +38 -0
  162. package/src/hooks/useColorModes.ts +5 -5
  163. package/src/utils/index.ts +2 -0
  164. package/src/utils/mergeClassNames.ts +25 -0
@@ -4,6 +4,7 @@ import React, {
4
4
  HTMLAttributes,
5
5
  useContext,
6
6
  useEffect,
7
+ useId,
7
8
  useRef,
8
9
  useState,
9
10
  } from 'react'
@@ -13,6 +14,7 @@ import classNames from 'classnames'
13
14
  import { CAccordionContext } from './CAccordion'
14
15
 
15
16
  export interface CAccordionItemContextProps {
17
+ id: string
16
18
  setVisible: (a: boolean) => void
17
19
  visible?: boolean
18
20
  }
@@ -32,13 +34,16 @@ export interface CAccordionItemProps extends HTMLAttributes<HTMLDivElement> {
32
34
 
33
35
  export const CAccordionItem = forwardRef<HTMLDivElement, CAccordionItemProps>(
34
36
  ({ children, className, itemKey, ...rest }, ref) => {
35
- const _itemKey = useRef(itemKey ?? Math.random().toString(36).slice(2, 11))
37
+ const id = useId()
38
+ const _itemKey = useRef(itemKey ?? id)
36
39
 
37
40
  const { _activeItemKey, alwaysOpen, setActiveKey } = useContext(CAccordionContext)
38
41
  const [visible, setVisible] = useState(Boolean(_activeItemKey === _itemKey.current))
39
42
 
40
43
  useEffect(() => {
41
- !alwaysOpen && visible && setActiveKey(_itemKey.current)
44
+ if (!alwaysOpen && visible) {
45
+ setActiveKey(_itemKey.current)
46
+ }
42
47
  }, [visible])
43
48
 
44
49
  useEffect(() => {
@@ -47,7 +52,7 @@ export const CAccordionItem = forwardRef<HTMLDivElement, CAccordionItemProps>(
47
52
 
48
53
  return (
49
54
  <div className={classNames('accordion-item', className)} {...rest} ref={ref}>
50
- <CAccordionItemContext.Provider value={{ setVisible, visible }}>
55
+ <CAccordionItemContext.Provider value={{ id, setVisible, visible }}>
51
56
  {children}
52
57
  </CAccordionItemContext.Provider>
53
58
  </div>
@@ -3,7 +3,6 @@
3
3
  exports[`CAccordionButton customize 1`] = `
4
4
  <div>
5
5
  <button
6
- aria-expanded="true"
7
6
  class="accordion-button collapsed bazinga"
8
7
  type="button"
9
8
  >
@@ -15,7 +14,6 @@ exports[`CAccordionButton customize 1`] = `
15
14
  exports[`loads and displays CAccordionButton component 1`] = `
16
15
  <div>
17
16
  <button
18
- aria-expanded="true"
19
17
  class="accordion-button collapsed"
20
18
  type="button"
21
19
  >
@@ -6,7 +6,6 @@ exports[`CAccordionHeader customize 1`] = `
6
6
  class="accordion-header bazinga"
7
7
  >
8
8
  <button
9
- aria-expanded="true"
10
9
  class="accordion-button collapsed"
11
10
  type="button"
12
11
  >
@@ -22,7 +21,6 @@ exports[`loads and displays CAccordionHeader component 1`] = `
22
21
  class="accordion-header"
23
22
  >
24
23
  <button
25
- aria-expanded="true"
26
24
  class="accordion-button collapsed"
27
25
  type="button"
28
26
  >
@@ -96,7 +96,7 @@ export const CBadge: PolymorphicRefForwardingComponent<'span', CBadgeProps> = fo
96
96
  )
97
97
 
98
98
  CBadge.propTypes = {
99
- as: PropTypes.string,
99
+ as: PropTypes.elementType,
100
100
  children: PropTypes.node,
101
101
  className: PropTypes.string,
102
102
  color: PropTypes.oneOfType([colorPropType, gradientsPropType]),