@coreui/react-pro 5.10.0 → 5.12.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 (193) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/components/accordion/CAccordionBody.js +2 -2
  3. package/dist/cjs/components/accordion/CAccordionBody.js.map +1 -1
  4. package/dist/cjs/components/accordion/CAccordionButton.js +2 -2
  5. package/dist/cjs/components/accordion/CAccordionButton.js.map +1 -1
  6. package/dist/cjs/components/accordion/CAccordionItem.d.ts +5 -0
  7. package/dist/cjs/components/accordion/CAccordionItem.js +7 -4
  8. package/dist/cjs/components/accordion/CAccordionItem.js.map +1 -1
  9. package/dist/cjs/components/badge/CBadge.js +1 -1
  10. package/dist/cjs/components/badge/CBadge.js.map +1 -1
  11. package/dist/cjs/components/calendar/CCalendar.d.ts +57 -44
  12. package/dist/cjs/components/calendar/CCalendar.js +51 -187
  13. package/dist/cjs/components/calendar/CCalendar.js.map +1 -1
  14. package/dist/cjs/components/calendar/CCalendarNavigation.d.ts +21 -0
  15. package/dist/cjs/components/calendar/CCalendarNavigation.js +23 -0
  16. package/dist/cjs/components/calendar/CCalendarNavigation.js.map +1 -0
  17. package/dist/cjs/components/calendar/CCalendarPanel.d.ts +28 -0
  18. package/dist/cjs/components/calendar/CCalendarPanel.js +149 -0
  19. package/dist/cjs/components/calendar/CCalendarPanel.js.map +1 -0
  20. package/dist/cjs/components/calendar/types.d.ts +3 -0
  21. package/dist/cjs/components/calendar/utils.d.ts +175 -18
  22. package/dist/cjs/components/calendar/utils.js +312 -43
  23. package/dist/cjs/components/calendar/utils.js.map +1 -1
  24. package/dist/cjs/components/date-picker/CDatePicker.d.ts +1 -1
  25. package/dist/cjs/components/date-range-picker/CDateRangePicker.d.ts +2 -2
  26. package/dist/cjs/components/date-range-picker/CDateRangePicker.js +0 -2
  27. package/dist/cjs/components/date-range-picker/CDateRangePicker.js.map +1 -1
  28. package/dist/cjs/components/date-range-picker/utils.d.ts +16 -0
  29. package/dist/cjs/components/date-range-picker/utils.js +18 -2
  30. package/dist/cjs/components/date-range-picker/utils.js.map +1 -1
  31. package/dist/cjs/components/dropdown/CDropdown.d.ts +77 -20
  32. package/dist/cjs/components/dropdown/CDropdown.js +6 -3
  33. package/dist/cjs/components/dropdown/CDropdown.js.map +1 -1
  34. package/dist/cjs/components/dropdown/CDropdownMenu.js +1 -1
  35. package/dist/cjs/components/dropdown/CDropdownMenu.js.map +1 -1
  36. package/dist/cjs/components/dropdown/CDropdownToggle.js +1 -1
  37. package/dist/cjs/components/dropdown/CDropdownToggle.js.map +1 -1
  38. package/dist/cjs/components/modal/CModal.js +0 -1
  39. package/dist/cjs/components/modal/CModal.js.map +1 -1
  40. package/dist/cjs/components/nav/CNavGroup.js +1 -1
  41. package/dist/cjs/components/nav/CNavGroup.js.map +1 -1
  42. package/dist/cjs/components/popover/CPopover.d.ts +75 -20
  43. package/dist/cjs/components/popover/CPopover.js +8 -21
  44. package/dist/cjs/components/popover/CPopover.js.map +1 -1
  45. package/dist/cjs/components/progress/CProgress.d.ts +1 -1
  46. package/dist/cjs/components/range-slider/CRangeSlider.js +6 -2
  47. package/dist/cjs/components/range-slider/CRangeSlider.js.map +1 -1
  48. package/dist/cjs/components/sidebar/CSidebar.d.ts +7 -2
  49. package/dist/cjs/components/sidebar/CSidebar.js +7 -6
  50. package/dist/cjs/components/sidebar/CSidebar.js.map +1 -1
  51. package/dist/cjs/components/smart-pagination/CSmartPagination.d.ts +4 -12
  52. package/dist/cjs/components/smart-pagination/CSmartPagination.js.map +1 -1
  53. package/dist/cjs/components/smart-table/CSmartTableHead.js +12 -25
  54. package/dist/cjs/components/smart-table/CSmartTableHead.js.map +1 -1
  55. package/dist/cjs/components/smart-table/types.d.ts +1 -1
  56. package/dist/cjs/components/time-picker/CTimePicker.d.ts +1 -1
  57. package/dist/cjs/components/time-picker/CTimePicker.js.map +1 -1
  58. package/dist/cjs/components/time-picker/types.d.ts +5 -0
  59. package/dist/cjs/components/time-picker/utils.d.ts +8 -11
  60. package/dist/cjs/components/time-picker/utils.js +8 -4
  61. package/dist/cjs/components/time-picker/utils.js.map +1 -1
  62. package/dist/cjs/components/tooltip/CTooltip.d.ts +67 -15
  63. package/dist/cjs/components/tooltip/CTooltip.js +8 -21
  64. package/dist/cjs/components/tooltip/CTooltip.js.map +1 -1
  65. package/dist/cjs/hooks/index.d.ts +2 -1
  66. package/dist/cjs/hooks/useClipboard.d.ts +12 -0
  67. package/dist/cjs/hooks/useClipboard.js +54 -0
  68. package/dist/cjs/hooks/useClipboard.js.map +1 -0
  69. package/dist/cjs/index.js +2 -0
  70. package/dist/cjs/index.js.map +1 -1
  71. package/dist/cjs/node_modules/react-device-detect/dist/lib.js +1 -1
  72. package/dist/cjs/node_modules/react-device-detect/dist/lib.js.map +1 -1
  73. package/dist/cjs/node_modules/tslib/tslib.es6.js +40 -0
  74. package/dist/cjs/node_modules/tslib/tslib.es6.js.map +1 -1
  75. package/dist/cjs/utils/index.d.ts +2 -1
  76. package/dist/cjs/utils/mergeClassNames.d.ts +2 -0
  77. package/dist/esm/components/accordion/CAccordionBody.js +2 -2
  78. package/dist/esm/components/accordion/CAccordionBody.js.map +1 -1
  79. package/dist/esm/components/accordion/CAccordionButton.js +2 -2
  80. package/dist/esm/components/accordion/CAccordionButton.js.map +1 -1
  81. package/dist/esm/components/accordion/CAccordionItem.d.ts +5 -0
  82. package/dist/esm/components/accordion/CAccordionItem.js +8 -5
  83. package/dist/esm/components/accordion/CAccordionItem.js.map +1 -1
  84. package/dist/esm/components/badge/CBadge.js +1 -1
  85. package/dist/esm/components/badge/CBadge.js.map +1 -1
  86. package/dist/esm/components/calendar/CCalendar.d.ts +57 -44
  87. package/dist/esm/components/calendar/CCalendar.js +52 -188
  88. package/dist/esm/components/calendar/CCalendar.js.map +1 -1
  89. package/dist/esm/components/calendar/CCalendarNavigation.d.ts +21 -0
  90. package/dist/esm/components/calendar/CCalendarNavigation.js +21 -0
  91. package/dist/esm/components/calendar/CCalendarNavigation.js.map +1 -0
  92. package/dist/esm/components/calendar/CCalendarPanel.d.ts +28 -0
  93. package/dist/esm/components/calendar/CCalendarPanel.js +147 -0
  94. package/dist/esm/components/calendar/CCalendarPanel.js.map +1 -0
  95. package/dist/esm/components/calendar/types.d.ts +3 -0
  96. package/dist/esm/components/calendar/utils.d.ts +175 -18
  97. package/dist/esm/components/calendar/utils.js +306 -44
  98. package/dist/esm/components/calendar/utils.js.map +1 -1
  99. package/dist/esm/components/date-picker/CDatePicker.d.ts +1 -1
  100. package/dist/esm/components/date-range-picker/CDateRangePicker.d.ts +2 -2
  101. package/dist/esm/components/date-range-picker/CDateRangePicker.js +0 -2
  102. package/dist/esm/components/date-range-picker/CDateRangePicker.js.map +1 -1
  103. package/dist/esm/components/date-range-picker/utils.d.ts +16 -0
  104. package/dist/esm/components/date-range-picker/utils.js +18 -2
  105. package/dist/esm/components/date-range-picker/utils.js.map +1 -1
  106. package/dist/esm/components/dropdown/CDropdown.d.ts +77 -20
  107. package/dist/esm/components/dropdown/CDropdown.js +6 -3
  108. package/dist/esm/components/dropdown/CDropdown.js.map +1 -1
  109. package/dist/esm/components/dropdown/CDropdownMenu.js +1 -1
  110. package/dist/esm/components/dropdown/CDropdownMenu.js.map +1 -1
  111. package/dist/esm/components/dropdown/CDropdownToggle.js +1 -1
  112. package/dist/esm/components/dropdown/CDropdownToggle.js.map +1 -1
  113. package/dist/esm/components/modal/CModal.js +0 -1
  114. package/dist/esm/components/modal/CModal.js.map +1 -1
  115. package/dist/esm/components/nav/CNavGroup.js +1 -1
  116. package/dist/esm/components/nav/CNavGroup.js.map +1 -1
  117. package/dist/esm/components/popover/CPopover.d.ts +75 -20
  118. package/dist/esm/components/popover/CPopover.js +8 -21
  119. package/dist/esm/components/popover/CPopover.js.map +1 -1
  120. package/dist/esm/components/progress/CProgress.d.ts +1 -1
  121. package/dist/esm/components/range-slider/CRangeSlider.js +6 -2
  122. package/dist/esm/components/range-slider/CRangeSlider.js.map +1 -1
  123. package/dist/esm/components/sidebar/CSidebar.d.ts +7 -2
  124. package/dist/esm/components/sidebar/CSidebar.js +7 -6
  125. package/dist/esm/components/sidebar/CSidebar.js.map +1 -1
  126. package/dist/esm/components/smart-pagination/CSmartPagination.d.ts +4 -12
  127. package/dist/esm/components/smart-pagination/CSmartPagination.js.map +1 -1
  128. package/dist/esm/components/smart-table/CSmartTableHead.js +13 -26
  129. package/dist/esm/components/smart-table/CSmartTableHead.js.map +1 -1
  130. package/dist/esm/components/smart-table/types.d.ts +1 -1
  131. package/dist/esm/components/time-picker/CTimePicker.d.ts +1 -1
  132. package/dist/esm/components/time-picker/CTimePicker.js.map +1 -1
  133. package/dist/esm/components/time-picker/types.d.ts +5 -0
  134. package/dist/esm/components/time-picker/utils.d.ts +8 -11
  135. package/dist/esm/components/time-picker/utils.js +8 -4
  136. package/dist/esm/components/time-picker/utils.js.map +1 -1
  137. package/dist/esm/components/tooltip/CTooltip.d.ts +67 -15
  138. package/dist/esm/components/tooltip/CTooltip.js +8 -21
  139. package/dist/esm/components/tooltip/CTooltip.js.map +1 -1
  140. package/dist/esm/hooks/index.d.ts +2 -1
  141. package/dist/esm/hooks/useClipboard.d.ts +12 -0
  142. package/dist/esm/hooks/useClipboard.js +52 -0
  143. package/dist/esm/hooks/useClipboard.js.map +1 -0
  144. package/dist/esm/index.js +1 -0
  145. package/dist/esm/index.js.map +1 -1
  146. package/dist/esm/node_modules/react-device-detect/dist/lib.js +1 -1
  147. package/dist/esm/node_modules/react-device-detect/dist/lib.js.map +1 -1
  148. package/dist/esm/node_modules/tslib/tslib.es6.js +39 -1
  149. package/dist/esm/node_modules/tslib/tslib.es6.js.map +1 -1
  150. package/dist/esm/utils/index.d.ts +2 -1
  151. package/dist/esm/utils/mergeClassNames.d.ts +2 -0
  152. package/package.json +12 -10
  153. package/src/components/accordion/CAccordionBody.tsx +3 -3
  154. package/src/components/accordion/CAccordionButton.tsx +3 -2
  155. package/src/components/accordion/CAccordionItem.tsx +14 -5
  156. package/src/components/accordion/__tests__/__snapshots__/CAccordionButton.spec.tsx.snap +0 -2
  157. package/src/components/accordion/__tests__/__snapshots__/CAccordionHeader.spec.tsx.snap +0 -2
  158. package/src/components/badge/CBadge.tsx +1 -1
  159. package/src/components/calendar/CCalendar.tsx +154 -489
  160. package/src/components/calendar/CCalendarNavigation.tsx +120 -0
  161. package/src/components/calendar/CCalendarPanel.tsx +306 -0
  162. package/src/components/calendar/types.ts +5 -0
  163. package/src/components/calendar/utils.ts +414 -109
  164. package/src/components/carousel/__tests__/CCarousel.spec.tsx +1 -2
  165. package/src/components/date-picker/CDatePicker.tsx +1 -1
  166. package/src/components/date-range-picker/CDateRangePicker.tsx +2 -4
  167. package/src/components/date-range-picker/utils.ts +23 -3
  168. package/src/components/dropdown/CDropdown.tsx +106 -26
  169. package/src/components/dropdown/CDropdownMenu.tsx +0 -1
  170. package/src/components/dropdown/CDropdownToggle.tsx +1 -1
  171. package/src/components/dropdown/__tests__/CDropdown.spec.tsx +43 -19
  172. package/src/components/modal/CModal.tsx +0 -2
  173. package/src/components/modal/__tests__/CModal.spec.tsx +33 -25
  174. package/src/components/nav/CNavGroup.tsx +5 -1
  175. package/src/components/nav/__tests__/__snapshots__/CNavGroup.spec.tsx.snap +4 -1
  176. package/src/components/popover/CPopover.tsx +103 -43
  177. package/src/components/popover/__tests__/CPopover.spec.tsx +1 -1
  178. package/src/components/popover/__tests__/__snapshots__/CPopover.spec.tsx.snap +2 -3
  179. package/src/components/progress/CProgress.tsx +1 -1
  180. package/src/components/range-slider/CRangeSlider.tsx +7 -2
  181. package/src/components/sidebar/CSidebar.tsx +15 -5
  182. package/src/components/smart-pagination/CSmartPagination.tsx +4 -12
  183. package/src/components/smart-table/CSmartTableHead.tsx +10 -34
  184. package/src/components/smart-table/types.ts +7 -1
  185. package/src/components/time-picker/CTimePicker.tsx +3 -3
  186. package/src/components/time-picker/types.ts +7 -0
  187. package/src/components/time-picker/utils.ts +15 -13
  188. package/src/components/tooltip/CTooltip.tsx +94 -38
  189. package/src/components/tooltip/__tests__/__snapshots__/CTooltip.spec.tsx.snap +0 -1
  190. package/src/hooks/index.ts +2 -0
  191. package/src/hooks/useClipboard.ts +38 -0
  192. package/src/utils/index.ts +2 -0
  193. package/src/utils/mergeClassNames.ts +25 -0
@@ -13,13 +13,14 @@ export interface CAccordionButtonProps extends HTMLAttributes<HTMLButtonElement>
13
13
 
14
14
  export const CAccordionButton = forwardRef<HTMLButtonElement, CAccordionButtonProps>(
15
15
  ({ children, className, ...rest }, ref) => {
16
- const { visible, setVisible } = useContext(CAccordionItemContext)
16
+ const { id, visible, setVisible } = useContext(CAccordionItemContext)
17
17
 
18
18
  return (
19
19
  <button
20
20
  type="button"
21
21
  className={classNames('accordion-button', { collapsed: !visible }, className)}
22
- aria-expanded={!visible}
22
+ aria-controls={id}
23
+ aria-expanded={visible}
23
24
  onClick={() => setVisible(!visible)}
24
25
  {...rest}
25
26
  ref={ref}
@@ -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
  }
@@ -20,6 +22,10 @@ export interface CAccordionItemContextProps {
20
22
  export const CAccordionItemContext = createContext({} as CAccordionItemContextProps)
21
23
 
22
24
  export interface CAccordionItemProps extends HTMLAttributes<HTMLDivElement> {
25
+ /**
26
+ * The id global attribute defines an identifier (ID) that must be unique in the whole document.
27
+ */
28
+ id?: string
23
29
  /**
24
30
  * A string of all className you want applied to the base component.
25
31
  */
@@ -31,14 +37,17 @@ export interface CAccordionItemProps extends HTMLAttributes<HTMLDivElement> {
31
37
  }
32
38
 
33
39
  export const CAccordionItem = forwardRef<HTMLDivElement, CAccordionItemProps>(
34
- ({ children, className, itemKey, ...rest }, ref) => {
35
- const _itemKey = useRef(itemKey ?? Math.random().toString(36).slice(2, 11))
40
+ ({ children, className, id, itemKey, ...rest }, ref) => {
41
+ const _id = id ?? useId()
42
+ const _itemKey = useRef(itemKey ?? _id)
36
43
 
37
44
  const { _activeItemKey, alwaysOpen, setActiveKey } = useContext(CAccordionContext)
38
45
  const [visible, setVisible] = useState(Boolean(_activeItemKey === _itemKey.current))
39
46
 
40
47
  useEffect(() => {
41
- !alwaysOpen && visible && setActiveKey(_itemKey.current)
48
+ if (!alwaysOpen && visible) {
49
+ setActiveKey(_itemKey.current)
50
+ }
42
51
  }, [visible])
43
52
 
44
53
  useEffect(() => {
@@ -47,12 +56,12 @@ export const CAccordionItem = forwardRef<HTMLDivElement, CAccordionItemProps>(
47
56
 
48
57
  return (
49
58
  <div className={classNames('accordion-item', className)} {...rest} ref={ref}>
50
- <CAccordionItemContext.Provider value={{ setVisible, visible }}>
59
+ <CAccordionItemContext.Provider value={{ id: _id, setVisible, visible }}>
51
60
  {children}
52
61
  </CAccordionItemContext.Provider>
53
62
  </div>
54
63
  )
55
- },
64
+ }
56
65
  )
57
66
 
58
67
  CAccordionItem.propTypes = {
@@ -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]),