@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
@@ -1,28 +1,45 @@
1
1
  import React, { HTMLAttributes, ReactNode } from 'react';
2
+ import type { Options } from '@popperjs/core';
2
3
  import type { Placements, Triggers } from '../../types';
3
4
  export interface CTooltipProps extends Omit<HTMLAttributes<HTMLDivElement>, 'content'> {
4
5
  /**
5
- * Apply a CSS fade transition to the tooltip.
6
+ * Enables or disables the CSS fade transition for the React Tooltip.
6
7
  *
7
8
  * @since 4.9.0
8
9
  */
9
10
  animation?: boolean;
10
11
  /**
11
- * A string of all className you want applied to the component.
12
+ * Adds a custom class name to the React Tooltip container. Useful for overriding default styles or applying additional design choices.
12
13
  */
13
14
  className?: string;
14
15
  /**
15
- * Appends the react tooltip to a specific element. You can pass an HTML element or function that returns a single element. By default `document.body`.
16
+ * Appends the React Tooltip to a specific element instead of the default `document.body`. You may pass:
17
+ * - A DOM element (`HTMLElement` or `DocumentFragment`)
18
+ * - A function that returns a single element
19
+ * - `null`
16
20
  *
21
+ * @example
22
+ * <CTooltip container={document.getElementById('my-container')}>...</CTooltip>
23
+ *
24
+ * @default document.body
17
25
  * @since 4.11.0
18
26
  */
19
27
  container?: DocumentFragment | Element | (() => DocumentFragment | Element | null) | null;
20
28
  /**
21
- * Content node for your component.
29
+ * Content to be displayed within the React Tooltip. Can be a string or any valid React node.
22
30
  */
23
31
  content: ReactNode | string;
24
32
  /**
25
- * The delay for displaying and hiding the tooltip (in milliseconds). When a numerical value is provided, the delay applies to both the hide and show actions. The object structure for specifying the delay is as follows: delay: `{ 'show': 500, 'hide': 100 }`.
33
+ * The delay (in milliseconds) before showing or hiding the React Tooltip.
34
+ * - If provided as a number, the delay is applied to both "show" and "hide".
35
+ * - If provided as an object, it should have distinct "show" and "hide" values.
36
+ *
37
+ * @example
38
+ * // Delays 300ms on both show and hide
39
+ * <CTooltip delay={300}>...</CTooltip>
40
+ *
41
+ * // Delays 500ms on show and 100ms on hide
42
+ * <CTooltip delay={{ show: 500, hide: 100 }}>...</CTooltip>
26
43
  *
27
44
  * @since 4.9.0
28
45
  */
@@ -31,35 +48,70 @@ export interface CTooltipProps extends Omit<HTMLAttributes<HTMLDivElement>, 'con
31
48
  hide: number;
32
49
  };
33
50
  /**
34
- * Specify the desired order of fallback placements by providing a list of placements as an array. The placements should be prioritized based on preference.
51
+ * Array of fallback placements for the React Tooltip to use when the preferred placement cannot be achieved. These placements are tried in order.
35
52
  *
53
+ * @type 'top', 'right', 'bottom', 'left' | ('top', 'right', 'bottom', 'left')[]
36
54
  * @since 4.9.0
37
55
  */
38
56
  fallbackPlacements?: Placements | Placements[];
39
57
  /**
40
- * Offset of the tooltip relative to its target.
58
+ * Adjusts the offset of the React Tooltip relative to its target. Expects a tuple `[x-axis, y-axis]`.
59
+ *
60
+ * @example
61
+ * // Offset the menu 0px in X and 10px in Y direction
62
+ * <CTooltip offset={[0, 10]}>...</CTooltip>
63
+ *
64
+ * // Offset the menu 5px in both X and Y direction
65
+ * <CTooltip offset={[5, 5]}>...</CTooltip>
41
66
  */
42
67
  offset?: [number, number];
43
68
  /**
44
- * Callback fired when the component requests to be hidden.
69
+ * Callback fired immediately after the React Tooltip is hidden.
45
70
  */
46
71
  onHide?: () => void;
47
72
  /**
48
- * Callback fired when the component requests to be shown.
73
+ * Callback fired immediately after the React Tooltip is shown.
49
74
  */
50
75
  onShow?: () => void;
51
76
  /**
52
- * Sets which event handlers you’d like provided to your toggle prop. You can specify one trigger or an array of them.
77
+ * Initial placement of the React Tooltip. Note that Popper.js modifiers may alter this placement automatically if there's insufficient space in the chosen position.
78
+ */
79
+ placement?: 'auto' | 'top' | 'right' | 'bottom' | 'left';
80
+ /**
81
+ * Customize the Popper.js configuration used to position the React Tooltip. Pass either an object or a function returning a modified config. [Learn more](https://popper.js.org/docs/v2/constructors/#options)
53
82
  *
54
- * @type 'hover' | 'focus' | 'click'
83
+ * @example
84
+ * <CTooltip
85
+ * popperConfig={(defaultConfig) => ({
86
+ * ...defaultConfig,
87
+ * strategy: 'fixed',
88
+ * modifiers: [
89
+ * ...defaultConfig.modifiers,
90
+ * { name: 'computeStyles', options: { adaptive: false } },
91
+ * ],
92
+ * })}
93
+ * >...</CTooltip>
94
+ *
95
+ * @since 5.5.0
55
96
  */
56
- trigger?: Triggers | Triggers[];
97
+ popperConfig?: Partial<Options> | ((defaultPopperConfig: Partial<Options>) => Partial<Options>);
57
98
  /**
58
- * Describes the placement of your component after Popper.js has applied all the modifiers that may have flipped or altered the originally provided placement property.
99
+ * Determines the events that toggle the visibility of the React Tooltip. Can be a single trigger or an array of triggers.
100
+ *
101
+ * @example
102
+ * // Hover-only tooltip
103
+ * <CTooltip trigger="hover">...</CTooltip>
104
+ *
105
+ * // Hover + click combined
106
+ * <CTooltip trigger={['hover', 'click']}>...</CTooltip>
107
+ *
108
+ * @type 'hover' | 'focus' | 'click' | ('hover' | 'focus' | 'click')[]
59
109
  */
60
- placement?: 'auto' | 'top' | 'right' | 'bottom' | 'left';
110
+ trigger?: Triggers | Triggers[];
61
111
  /**
62
- * Toggle the visibility of tooltip component.
112
+ * Controls the visibility of the React Tooltip.
113
+ * - `true` to show the tooltip.
114
+ * - `false` to hide the tooltip.
63
115
  */
64
116
  visible?: boolean;
65
117
  }
@@ -10,7 +10,7 @@ import { useForkedRef } from '../../hooks/useForkedRef.js';
10
10
  import { fallbackPlacementsPropType, triggerPropType } from '../../props.js';
11
11
 
12
12
  var CTooltip = forwardRef(function (_a, ref) {
13
- var children = _a.children, _b = _a.animation, animation = _b === void 0 ? true : _b, className = _a.className, container = _a.container, content = _a.content, _c = _a.delay, delay = _c === void 0 ? 0 : _c, _d = _a.fallbackPlacements, fallbackPlacements = _d === void 0 ? ['top', 'right', 'bottom', 'left'] : _d, _e = _a.offset, offset = _e === void 0 ? [0, 6] : _e, onHide = _a.onHide, onShow = _a.onShow, _f = _a.placement, placement = _f === void 0 ? 'top' : _f, _g = _a.trigger, trigger = _g === void 0 ? ['hover', 'focus'] : _g, visible = _a.visible, rest = __rest(_a, ["children", "animation", "className", "container", "content", "delay", "fallbackPlacements", "offset", "onHide", "onShow", "placement", "trigger", "visible"]);
13
+ var children = _a.children, _b = _a.animation, animation = _b === void 0 ? true : _b, className = _a.className, container = _a.container, content = _a.content, _c = _a.delay, delay = _c === void 0 ? 0 : _c, _d = _a.fallbackPlacements, fallbackPlacements = _d === void 0 ? ['top', 'right', 'bottom', 'left'] : _d, _e = _a.offset, offset = _e === void 0 ? [0, 6] : _e, onHide = _a.onHide, onShow = _a.onShow, _f = _a.placement, placement = _f === void 0 ? 'top' : _f, popperConfig = _a.popperConfig, _g = _a.trigger, trigger = _g === void 0 ? ['hover', 'focus'] : _g, visible = _a.visible, rest = __rest(_a, ["children", "animation", "className", "container", "content", "delay", "fallbackPlacements", "offset", "onHide", "onShow", "placement", "popperConfig", "trigger", "visible"]);
14
14
  var tooltipRef = useRef(null);
15
15
  var togglerRef = useRef(null);
16
16
  var forkedRef = useForkedRef(ref, tooltipRef);
@@ -19,29 +19,15 @@ var CTooltip = forwardRef(function (_a, ref) {
19
19
  var _j = useState(visible), _visible = _j[0], setVisible = _j[1];
20
20
  var _k = usePopper(), initPopper = _k.initPopper, destroyPopper = _k.destroyPopper, updatePopper = _k.updatePopper;
21
21
  var _delay = typeof delay === 'number' ? { show: delay, hide: delay } : delay;
22
- var popperConfig = {
22
+ var defaultPopperConfig = {
23
23
  modifiers: [
24
- {
25
- name: 'arrow',
26
- options: {
27
- element: '.tooltip-arrow',
28
- },
29
- },
30
- {
31
- name: 'flip',
32
- options: {
33
- fallbackPlacements: fallbackPlacements,
34
- },
35
- },
36
- {
37
- name: 'offset',
38
- options: {
39
- offset: offset,
40
- },
41
- },
24
+ { name: 'arrow', options: { element: '.tooltip-arrow' } },
25
+ { name: 'flip', options: { fallbackPlacements: fallbackPlacements } },
26
+ { name: 'offset', options: { offset: offset } },
42
27
  ],
43
28
  placement: getRTLPlacement(placement, togglerRef.current),
44
29
  };
30
+ var computedPopperConfig = __assign(__assign({}, defaultPopperConfig), (typeof popperConfig === 'function' ? popperConfig(defaultPopperConfig) : popperConfig));
45
31
  useEffect(function () {
46
32
  if (visible) {
47
33
  handleShow();
@@ -51,7 +37,7 @@ var CTooltip = forwardRef(function (_a, ref) {
51
37
  }, [visible]);
52
38
  useEffect(function () {
53
39
  if (mounted && togglerRef.current && tooltipRef.current) {
54
- initPopper(togglerRef.current, tooltipRef.current, popperConfig);
40
+ initPopper(togglerRef.current, tooltipRef.current, computedPopperConfig);
55
41
  setTimeout(function () {
56
42
  setVisible(true);
57
43
  }, _delay.show);
@@ -121,6 +107,7 @@ CTooltip.propTypes = {
121
107
  onHide: PropTypes.func,
122
108
  onShow: PropTypes.func,
123
109
  placement: PropTypes.oneOf(['auto', 'top', 'right', 'bottom', 'left']),
110
+ popperConfig: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
124
111
  trigger: triggerPropType,
125
112
  visible: PropTypes.bool,
126
113
  };
@@ -1 +1 @@
1
- {"version":3,"file":"CTooltip.js","sources":["../../../../src/components/tooltip/CTooltip.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CTooltip.js","sources":["../../../../src/components/tooltip/CTooltip.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { useClipboard } from './useClipboard';
1
2
  import { useColorModes } from './useColorModes';
2
3
  import { useDebounce } from './useDebounce';
3
4
  import { useDebouncedCallback } from './useDebouncedCallback';
@@ -6,4 +7,4 @@ import { useForkedRef } from './useForkedRef';
6
7
  import { useIsVisible } from './useIsVisible';
7
8
  import { usePopper } from './usePopper';
8
9
  import { useStateWithCallback } from './useStateWithCallback';
9
- export { useColorModes, useDebounce, useDebouncedCallback, useDropdownWithPopper, useForkedRef, useIsVisible, usePopper, useStateWithCallback, };
10
+ export { useClipboard, useColorModes, useDebounce, useDebouncedCallback, useDropdownWithPopper, useForkedRef, useIsVisible, usePopper, useStateWithCallback, };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * useClipboard Hook
3
+ *
4
+ * Provides functionality to copy text to the clipboard and track the copy status.
5
+ *
6
+ * @returns An object containing the copy function, copy status, and any error encountered.
7
+ */
8
+ export declare const useClipboard: () => {
9
+ copy: (text: string) => Promise<void>;
10
+ isCopied: boolean;
11
+ error: Error | null;
12
+ };
@@ -0,0 +1,52 @@
1
+ import { __awaiter, __generator } from '../node_modules/tslib/tslib.es6.js';
2
+ import { useState, useCallback } from 'react';
3
+
4
+ /**
5
+ * useClipboard Hook
6
+ *
7
+ * Provides functionality to copy text to the clipboard and track the copy status.
8
+ *
9
+ * @returns An object containing the copy function, copy status, and any error encountered.
10
+ */
11
+ var useClipboard = function () {
12
+ var _a = useState(false), isCopied = _a[0], setIsCopied = _a[1];
13
+ var _b = useState(null), error = _b[0], setError = _b[1];
14
+ /**
15
+ * Copies the provided text to the clipboard.
16
+ *
17
+ * @param text - The text to be copied to the clipboard.
18
+ */
19
+ var copy = useCallback(function (text) { return __awaiter(void 0, void 0, void 0, function () {
20
+ var _error_1;
21
+ return __generator(this, function (_a) {
22
+ switch (_a.label) {
23
+ case 0:
24
+ if (!(navigator === null || navigator === void 0 ? void 0 : navigator.clipboard)) {
25
+ setError(new Error('Clipboard API is not available'));
26
+ return [2 /*return*/];
27
+ }
28
+ _a.label = 1;
29
+ case 1:
30
+ _a.trys.push([1, 3, , 4]);
31
+ return [4 /*yield*/, navigator.clipboard.writeText(text)];
32
+ case 2:
33
+ _a.sent();
34
+ setIsCopied(true);
35
+ setError(null);
36
+ // Reset the isCopied state after 2 seconds
37
+ setTimeout(function () { return setIsCopied(false); }, 2000);
38
+ return [3 /*break*/, 4];
39
+ case 3:
40
+ _error_1 = _a.sent();
41
+ setError(_error_1);
42
+ setIsCopied(false);
43
+ return [3 /*break*/, 4];
44
+ case 4: return [2 /*return*/];
45
+ }
46
+ });
47
+ }); }, []);
48
+ return { copy: copy, isCopied: isCopied, error: error };
49
+ };
50
+
51
+ export { useClipboard };
52
+ //# sourceMappingURL=useClipboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useClipboard.js","sources":["../../../src/hooks/useClipboard.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAEA;;;;;;AAMG;AACU,IAAA,YAAY,GAAG,YAAA;IACpB,IAAA,EAAA,GAA0B,QAAQ,CAAU,KAAK,CAAC,EAAjD,QAAQ,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,WAAW,GAAA,EAAA,CAAA,CAAA,CAA4B;IAClD,IAAA,EAAA,GAAoB,QAAQ,CAAe,IAAI,CAAC,EAA/C,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,CAAA,CAAgC;AAEtD;;;;AAIG;AACH,IAAA,IAAM,IAAI,GAAG,WAAW,CAAC,UAAO,IAAY,EAAA,EAAA,OAAA,SAAA,CAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,YAAA;;;;;oBAC1C,IAAI,EAAC,SAAS,KAAT,IAAA,IAAA,SAAS,KAAT,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,SAAS,CAAE,SAAS,CAAA,EAAE;AACzB,wBAAA,QAAQ,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;wBACrD,OAAM,CAAA,CAAA,YAAA;;;;;oBAIN,OAAM,CAAA,CAAA,YAAA,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;;AAAzC,oBAAA,EAAA,CAAA,IAAA,EAAyC;oBACzC,WAAW,CAAC,IAAI,CAAC;oBACjB,QAAQ,CAAC,IAAI,CAAC;;AAEd,oBAAA,UAAU,CAAC,YAAA,EAAM,OAAA,WAAW,CAAC,KAAK,CAAC,CAAA,EAAA,EAAE,IAAI,CAAC;;;;oBAE1C,QAAQ,CAAC,QAAe,CAAC;oBACzB,WAAW,CAAC,KAAK,CAAC;;;;;SAErB,EAAE,EAAE,CAAC;IAEN,OAAO,EAAE,IAAI,EAAA,IAAA,EAAE,QAAQ,UAAA,EAAE,KAAK,EAAA,KAAA,EAAE;AAClC;;;;"}
package/dist/esm/index.js CHANGED
@@ -142,6 +142,7 @@ export { CWidgetStatsC } from './components/widgets/CWidgetStatsC.js';
142
142
  export { CWidgetStatsD } from './components/widgets/CWidgetStatsD.js';
143
143
  export { CWidgetStatsE } from './components/widgets/CWidgetStatsE.js';
144
144
  export { CWidgetStatsF } from './components/widgets/CWidgetStatsF.js';
145
+ export { useClipboard } from './hooks/useClipboard.js';
145
146
  export { useColorModes } from './hooks/useColorModes.js';
146
147
  export { useDebounce } from './hooks/useDebounce.js';
147
148
  export { useDebouncedCallback } from './hooks/useDebouncedCallback.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -131,7 +131,7 @@ function requireLib () {
131
131
  }
132
132
 
133
133
  function _createClass(Constructor, protoProps, staticProps) {
134
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
134
+ _defineProperties(Constructor.prototype, protoProps);
135
135
  return Constructor;
136
136
  }
137
137