@coreui/react-pro 5.2.0 → 5.4.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 (133) hide show
  1. package/README.md +2 -1
  2. package/dist/cjs/components/button/CButton.js +5 -1
  3. package/dist/cjs/components/button/CButton.js.map +1 -1
  4. package/dist/cjs/components/calendar/utils.d.ts +4 -4
  5. package/dist/cjs/components/conditional-portal/CConditionalPortal.d.ts +3 -3
  6. package/dist/cjs/components/conditional-portal/CConditionalPortal.js +1 -1
  7. package/dist/cjs/components/conditional-portal/CConditionalPortal.js.map +1 -1
  8. package/dist/cjs/components/date-picker/CDatePicker.d.ts +7 -1
  9. package/dist/cjs/components/date-picker/CDatePicker.js +3 -3
  10. package/dist/cjs/components/date-picker/CDatePicker.js.map +1 -1
  11. package/dist/cjs/components/date-range-picker/CDateRangePicker.d.ts +16 -4
  12. package/dist/cjs/components/date-range-picker/CDateRangePicker.js +8 -6
  13. package/dist/cjs/components/date-range-picker/CDateRangePicker.js.map +1 -1
  14. package/dist/cjs/components/date-range-picker/utils.d.ts +1 -0
  15. package/dist/cjs/components/date-range-picker/utils.js +10 -0
  16. package/dist/cjs/components/date-range-picker/utils.js.map +1 -1
  17. package/dist/cjs/components/dropdown/CDropdown.d.ts +2 -2
  18. package/dist/cjs/components/modal/CModal.d.ts +7 -1
  19. package/dist/cjs/components/modal/CModal.js +4 -3
  20. package/dist/cjs/components/modal/CModal.js.map +1 -1
  21. package/dist/cjs/components/multi-select/CMultiSelect.d.ts +15 -3
  22. package/dist/cjs/components/multi-select/CMultiSelect.js +13 -10
  23. package/dist/cjs/components/multi-select/CMultiSelect.js.map +1 -1
  24. package/dist/cjs/components/multi-select/CMultiSelectNativeSelect.js +4 -2
  25. package/dist/cjs/components/multi-select/CMultiSelectNativeSelect.js.map +1 -1
  26. package/dist/cjs/components/popover/CPopover.d.ts +2 -2
  27. package/dist/cjs/components/popover/CPopover.js +7 -1
  28. package/dist/cjs/components/popover/CPopover.js.map +1 -1
  29. package/dist/cjs/components/smart-table/CSmartTable.js +3 -3
  30. package/dist/cjs/components/smart-table/CSmartTable.js.map +1 -1
  31. package/dist/cjs/components/smart-table/utils.d.ts +5 -5
  32. package/dist/cjs/components/time-picker/CTimePicker.d.ts +12 -0
  33. package/dist/cjs/components/time-picker/CTimePicker.js +5 -5
  34. package/dist/cjs/components/time-picker/CTimePicker.js.map +1 -1
  35. package/dist/cjs/components/time-picker/utils.d.ts +4 -4
  36. package/dist/cjs/components/tooltip/CTooltip.d.ts +2 -2
  37. package/dist/cjs/components/tooltip/CTooltip.js +7 -1
  38. package/dist/cjs/components/tooltip/CTooltip.js.map +1 -1
  39. package/dist/cjs/hooks/useForkedRef.d.ts +0 -1
  40. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/extends.js +6 -11
  41. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/extends.js.map +1 -1
  42. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +2 -4
  43. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js.map +1 -1
  44. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +7 -10
  45. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -1
  46. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +4 -6
  47. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js.map +1 -1
  48. package/dist/cjs/node_modules/@coreui/icons-react/dist/{index.es.js → index.esm.js} +93 -30
  49. package/dist/cjs/node_modules/@coreui/icons-react/dist/index.esm.js.map +1 -0
  50. package/dist/cjs/node_modules/tslib/tslib.es6.js.map +1 -1
  51. package/dist/cjs/node_modules/ua-parser-js/dist/ua-parser.min.js +2 -2
  52. package/dist/cjs/node_modules/ua-parser-js/dist/ua-parser.min.js.map +1 -1
  53. package/dist/esm/components/button/CButton.js +5 -1
  54. package/dist/esm/components/button/CButton.js.map +1 -1
  55. package/dist/esm/components/calendar/utils.d.ts +4 -4
  56. package/dist/esm/components/conditional-portal/CConditionalPortal.d.ts +3 -3
  57. package/dist/esm/components/conditional-portal/CConditionalPortal.js +1 -1
  58. package/dist/esm/components/conditional-portal/CConditionalPortal.js.map +1 -1
  59. package/dist/esm/components/date-picker/CDatePicker.d.ts +7 -1
  60. package/dist/esm/components/date-picker/CDatePicker.js +3 -3
  61. package/dist/esm/components/date-picker/CDatePicker.js.map +1 -1
  62. package/dist/esm/components/date-range-picker/CDateRangePicker.d.ts +16 -4
  63. package/dist/esm/components/date-range-picker/CDateRangePicker.js +9 -7
  64. package/dist/esm/components/date-range-picker/CDateRangePicker.js.map +1 -1
  65. package/dist/esm/components/date-range-picker/utils.d.ts +1 -0
  66. package/dist/esm/components/date-range-picker/utils.js +10 -1
  67. package/dist/esm/components/date-range-picker/utils.js.map +1 -1
  68. package/dist/esm/components/dropdown/CDropdown.d.ts +2 -2
  69. package/dist/esm/components/modal/CModal.d.ts +7 -1
  70. package/dist/esm/components/modal/CModal.js +4 -3
  71. package/dist/esm/components/modal/CModal.js.map +1 -1
  72. package/dist/esm/components/multi-select/CMultiSelect.d.ts +15 -3
  73. package/dist/esm/components/multi-select/CMultiSelect.js +13 -10
  74. package/dist/esm/components/multi-select/CMultiSelect.js.map +1 -1
  75. package/dist/esm/components/multi-select/CMultiSelectNativeSelect.js +4 -2
  76. package/dist/esm/components/multi-select/CMultiSelectNativeSelect.js.map +1 -1
  77. package/dist/esm/components/popover/CPopover.d.ts +2 -2
  78. package/dist/esm/components/popover/CPopover.js +7 -1
  79. package/dist/esm/components/popover/CPopover.js.map +1 -1
  80. package/dist/esm/components/smart-table/CSmartTable.js +1 -1
  81. package/dist/esm/components/smart-table/utils.d.ts +5 -5
  82. package/dist/esm/components/time-picker/CTimePicker.d.ts +12 -0
  83. package/dist/esm/components/time-picker/CTimePicker.js +5 -5
  84. package/dist/esm/components/time-picker/CTimePicker.js.map +1 -1
  85. package/dist/esm/components/time-picker/utils.d.ts +4 -4
  86. package/dist/esm/components/tooltip/CTooltip.d.ts +2 -2
  87. package/dist/esm/components/tooltip/CTooltip.js +7 -1
  88. package/dist/esm/components/tooltip/CTooltip.js.map +1 -1
  89. package/dist/esm/hooks/useForkedRef.d.ts +0 -1
  90. package/dist/esm/node_modules/@babel/runtime/helpers/esm/extends.js +6 -11
  91. package/dist/esm/node_modules/@babel/runtime/helpers/esm/extends.js.map +1 -1
  92. package/dist/esm/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +2 -4
  93. package/dist/esm/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js.map +1 -1
  94. package/dist/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +7 -10
  95. package/dist/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -1
  96. package/dist/esm/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +4 -6
  97. package/dist/esm/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js.map +1 -1
  98. package/dist/esm/node_modules/@coreui/icons-react/dist/{index.es.js → index.esm.js} +93 -32
  99. package/dist/esm/node_modules/@coreui/icons-react/dist/index.esm.js.map +1 -0
  100. package/dist/esm/node_modules/tslib/tslib.es6.js.map +1 -1
  101. package/dist/esm/node_modules/ua-parser-js/dist/ua-parser.min.js +2 -2
  102. package/dist/esm/node_modules/ua-parser-js/dist/ua-parser.min.js.map +1 -1
  103. package/package.json +9 -9
  104. package/src/components/button/CButton.tsx +5 -2
  105. package/src/components/button/__tests__/CButton.spec.tsx +1 -1
  106. package/src/components/button-group/__tests__/CButtonGroup.spec.tsx +6 -6
  107. package/src/components/button-group/__tests__/CButtonToolbar.spec.tsx +6 -6
  108. package/src/components/conditional-portal/CConditionalPortal.tsx +7 -5
  109. package/src/components/date-picker/CDatePicker.tsx +11 -2
  110. package/src/components/date-range-picker/CDateRangePicker.tsx +30 -11
  111. package/src/components/date-range-picker/utils.ts +16 -0
  112. package/src/components/dropdown/CDropdown.tsx +2 -2
  113. package/src/components/dropdown/__tests__/CDropdownToggle.spec.tsx +1 -1
  114. package/src/components/dropdown/__tests__/__snapshots__/CDropdown.spec.tsx.snap +1 -1
  115. package/src/components/dropdown/__tests__/__snapshots__/CDropdownToggle.spec.tsx.snap +1 -1
  116. package/src/components/modal/CModal.tsx +11 -3
  117. package/src/components/modal/__tests__/CModal.spec.tsx +1 -1
  118. package/src/components/multi-select/CMultiSelect.tsx +26 -6
  119. package/src/components/multi-select/CMultiSelectNativeSelect.tsx +6 -4
  120. package/src/components/nav/__tests__/__snapshots__/CNavItem.spec.tsx.snap +12 -8
  121. package/src/components/popover/CPopover.tsx +10 -2
  122. package/src/components/popover/__tests__/CPopover.spec.tsx +2 -2
  123. package/src/components/popover/__tests__/__snapshots__/CPopover.spec.tsx.snap +22 -0
  124. package/src/components/sidebar/__tests__/__snapshots__/CSidebarBrand.spec.tsx.snap +4 -4
  125. package/src/components/sidebar/__tests__/__snapshots__/CSidebarNav.spec.tsx.snap +6 -2
  126. package/src/components/tabs/__tests__/__snapshots__/CTabPane.spec.tsx.snap +1 -1
  127. package/src/components/time-picker/CTimePicker.tsx +17 -1
  128. package/src/components/toast/__tests__/__snapshots__/CToaster.spec.tsx.snap +1 -1
  129. package/src/components/tooltip/CTooltip.tsx +10 -2
  130. package/src/components/tooltip/__tests__/__snapshots__/CTooltip.spec.tsx.snap +1 -0
  131. package/src/components/widgets/__tests__/__snapshots__/CWidgetStatsC.spec.tsx.snap +1 -1
  132. package/dist/cjs/node_modules/@coreui/icons-react/dist/index.es.js.map +0 -1
  133. package/dist/esm/node_modules/@coreui/icons-react/dist/index.es.js.map +0 -1
@@ -31,6 +31,12 @@ export interface CModalProps extends HTMLAttributes<HTMLDivElement> {
31
31
  * A string of all className you want applied to the base component.
32
32
  */
33
33
  className?: string
34
+ /**
35
+ * Appends the react modal to a specific element. You can pass an HTML element or function that returns a single element. By default `document.body`.
36
+ *
37
+ * @since 5.3.0
38
+ */
39
+ container?: DocumentFragment | Element | (() => DocumentFragment | Element | null) | null
34
40
  /**
35
41
  * @ignore
36
42
  */
@@ -38,7 +44,7 @@ export interface CModalProps extends HTMLAttributes<HTMLDivElement> {
38
44
  /**
39
45
  * Puts the focus on the modal when shown.
40
46
  *
41
- * @since v4.10.0
47
+ * @since 4.10.0
42
48
  */
43
49
  focus?: boolean
44
50
  /**
@@ -101,6 +107,7 @@ export const CModal = forwardRef<HTMLDivElement, CModalProps>(
101
107
  alignment,
102
108
  backdrop = true,
103
109
  className,
110
+ container,
104
111
  duration = 150,
105
112
  focus = true,
106
113
  fullscreen,
@@ -223,7 +230,7 @@ export const CModal = forwardRef<HTMLDivElement, CModalProps>(
223
230
  timeout={transition ? duration : 0}
224
231
  >
225
232
  {(state) => (
226
- <CConditionalPortal portal={portal}>
233
+ <CConditionalPortal container={container} portal={portal}>
227
234
  <CModalContext.Provider value={contextValues}>
228
235
  <div
229
236
  className={classNames(
@@ -259,7 +266,7 @@ export const CModal = forwardRef<HTMLDivElement, CModalProps>(
259
266
  )}
260
267
  </Transition>
261
268
  {backdrop && (
262
- <CConditionalPortal portal={portal}>
269
+ <CConditionalPortal container={container} portal={portal}>
263
270
  <CBackdrop visible={_visible} />
264
271
  </CConditionalPortal>
265
272
  )}
@@ -273,6 +280,7 @@ CModal.propTypes = {
273
280
  backdrop: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf<'static'>(['static'])]),
274
281
  children: PropTypes.node,
275
282
  className: PropTypes.string,
283
+ container: PropTypes.any, // HTMLElement
276
284
  duration: PropTypes.number,
277
285
  focus: PropTypes.bool,
278
286
  fullscreen: PropTypes.oneOfType([
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react'
2
2
  import { render, fireEvent } from '@testing-library/react'
3
- import '@testing-library/jest-dom/extend-expect'
3
+ import '@testing-library/jest-dom'
4
4
  import { CModal } from '../../../index'
5
5
 
6
6
  test('loads and displays CModal component', async () => {
@@ -53,10 +53,10 @@ export interface CMultiSelectProps
53
53
  */
54
54
  disabled?: boolean
55
55
  /**
56
- * The id global attribute defines an identifier (ID) that must be unique in the whole document.
56
+ * Set the id attribute for the native select element.
57
57
  *
58
- * The name and id attributes for the native select element are generated based on the `id` property:
59
- * - <select id="\{id\}-multi-select" name="\{id\}-multi-select" />
58
+ * **[Deprecated since v5.3.0]** The name attribute for the native select element is generated based on the `id` property:
59
+ * - `<select name="\{id\}-multi-select" />`
60
60
  */
61
61
  id?: string
62
62
  /**
@@ -69,6 +69,12 @@ export interface CMultiSelectProps
69
69
  * It specifies that multiple options can be selected at once.
70
70
  */
71
71
  multiple?: boolean
72
+ /**
73
+ * The name attribute for the select element.
74
+ *
75
+ * @since 5.3.0
76
+ */
77
+ name?: string
72
78
  /**
73
79
  * Execute a function when a user changes the selected option.
74
80
  */
@@ -119,6 +125,12 @@ export interface CMultiSelectProps
119
125
  * When it is present, it indicates that the user must choose a value before submitting the form.
120
126
  */
121
127
  required?: boolean
128
+ /**
129
+ * Determines whether the selected options should be cleared when the options list is updated. When set to true, any previously selected options will be reset whenever the options list undergoes a change. This ensures that outdated selections are not retained when new options are provided.
130
+ *
131
+ * @since 5.3.0
132
+ */
133
+ resetSelectionOnOptionsChange?: boolean
122
134
  /**
123
135
  * Enables search input element.
124
136
  */
@@ -176,11 +188,12 @@ export const CMultiSelect = forwardRef<HTMLDivElement, CMultiSelectProps>(
176
188
  feedback,
177
189
  feedbackInvalid,
178
190
  feedbackValid,
179
- loading,
180
- multiple = true,
181
191
  id,
182
192
  invalid,
183
193
  label,
194
+ loading,
195
+ multiple = true,
196
+ name,
184
197
  onChange,
185
198
  onFilterChange,
186
199
  onHide,
@@ -192,6 +205,7 @@ export const CMultiSelect = forwardRef<HTMLDivElement, CMultiSelectProps>(
192
205
  optionsGroupsTemplate,
193
206
  placeholder = 'Select...',
194
207
  required,
208
+ resetSelectionOnOptionsChange = false,
195
209
  search = true,
196
210
  searchNoResultsLabel = 'No results found',
197
211
  selectAll = true,
@@ -273,6 +287,10 @@ export const CMultiSelect = forwardRef<HTMLDivElement, CMultiSelectProps>(
273
287
  useEffect(() => {
274
288
  setOptions(options)
275
289
 
290
+ if (resetSelectionOnOptionsChange) {
291
+ return setSelected([])
292
+ }
293
+
276
294
  const _selected = flattenedOptions.filter((option: Option) => option.selected === true)
277
295
  const deselected = flattenedOptions.filter(
278
296
  (option: Option) => option.selected === false,
@@ -442,6 +460,7 @@ export const CMultiSelect = forwardRef<HTMLDivElement, CMultiSelectProps>(
442
460
  <CMultiSelectNativeSelect
443
461
  id={id}
444
462
  multiple={multiple}
463
+ name={name}
445
464
  options={selected}
446
465
  required={required}
447
466
  value={
@@ -465,7 +484,6 @@ export const CMultiSelect = forwardRef<HTMLDivElement, CMultiSelectProps>(
465
484
  className,
466
485
  )}
467
486
  aria-expanded={_visible}
468
- id={id}
469
487
  ref={multiSelectForkedRef}
470
488
  >
471
489
  <div
@@ -564,6 +582,7 @@ CMultiSelect.propTypes = {
564
582
  disabled: PropTypes.bool,
565
583
  loading: PropTypes.bool,
566
584
  multiple: PropTypes.bool,
585
+ name: PropTypes.string,
567
586
  onChange: PropTypes.func,
568
587
  onFilterChange: PropTypes.func,
569
588
  onHide: PropTypes.func,
@@ -575,6 +594,7 @@ CMultiSelect.propTypes = {
575
594
  optionsGroupsTemplate: PropTypes.func,
576
595
  placeholder: PropTypes.string,
577
596
  required: PropTypes.bool,
597
+ resetSelectionOnOptionsChange: PropTypes.bool,
578
598
  search: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf<'external'>(['external'])]),
579
599
  searchNoResultsLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
580
600
  selectAll: PropTypes.bool,
@@ -26,12 +26,12 @@ const createNativeOptions = (options: Option[]) =>
26
26
  export const CMultiSelectNativeSelect = forwardRef<
27
27
  HTMLSelectElement,
28
28
  CMultiSelectNativeSelectProps
29
- >(({ id, options, ...rest }, ref) => {
29
+ >(({ id, name, options, ...rest }, ref) => {
30
30
  return (
31
31
  <select
32
- className="multi-select-new"
33
- {...(id && { id: `${id}-multi-select` })}
34
- {...(id && { name: `${id}-multi-select` })}
32
+ id={id}
33
+ {...(id && !name && { name: `${id}-multi-select` })} // TODO: remove in v6
34
+ {...(name && { name: name })}
35
35
  tabIndex={-1}
36
36
  style={{ display: 'none' }}
37
37
  {...rest}
@@ -43,6 +43,8 @@ export const CMultiSelectNativeSelect = forwardRef<
43
43
  })
44
44
 
45
45
  CMultiSelectNativeSelect.propTypes = {
46
+ id: PropTypes.string,
47
+ name: PropTypes.string,
46
48
  options: PropTypes.array,
47
49
  value: PropTypes.oneOfType([
48
50
  PropTypes.number,
@@ -2,35 +2,39 @@
2
2
 
3
3
  exports[`CNavItem customize 1`] = `
4
4
  <div>
5
- <li
5
+ <h3
6
6
  class="nav-item bazinga"
7
7
  >
8
- <h3
8
+ <a
9
9
  aria-current="page"
10
+ aria-disabled="true"
10
11
  class="nav-link bazinga active disabled"
11
12
  disabled=""
12
13
  href="/bazinga"
14
+ tabindex="-1"
13
15
  >
14
16
  Test
15
- </h3>
16
- </li>
17
+ </a>
18
+ </h3>
17
19
  </div>
18
20
  `;
19
21
 
20
22
  exports[`CNavItem customize 2`] = `
21
23
  <div>
22
- <li
24
+ <h3
23
25
  class="nav-item bazinga"
24
26
  >
25
- <h3
27
+ <a
26
28
  aria-current="page"
29
+ aria-disabled="true"
27
30
  class="nav-link bazinga active disabled"
28
31
  disabled=""
29
32
  href="/bazinga"
33
+ tabindex="-1"
30
34
  >
31
35
  Test
32
- </h3>
33
- </li>
36
+ </a>
37
+ </h3>
34
38
  </div>
35
39
  `;
36
40
 
@@ -22,9 +22,9 @@ export interface CPopoverProps extends Omit<HTMLAttributes<HTMLDivElement>, 'tit
22
22
  /**
23
23
  * Appends the react popover to a specific element. You can pass an HTML element or function that returns a single element. By default `document.body`.
24
24
  *
25
- * @since v4.11.0
25
+ * @since 4.11.0
26
26
  */
27
- container?: Element | (() => Element | null) | null
27
+ container?: DocumentFragment | Element | (() => DocumentFragment | Element | null) | null
28
28
  /**
29
29
  * Content node for your component.
30
30
  */
@@ -149,6 +149,7 @@ export const CPopover = forwardRef<HTMLDivElement, CPopoverProps>(
149
149
  }
150
150
 
151
151
  initPopper(togglerRef.current, popoverRef.current, popperConfig)
152
+ popoverRef.current.style.removeProperty('display')
152
153
  popoverRef.current.classList.add('show')
153
154
  onShow && onShow()
154
155
  }
@@ -160,6 +161,10 @@ export const CPopover = forwardRef<HTMLDivElement, CPopoverProps>(
160
161
  popoverRef.current.classList.remove('show')
161
162
  onHide && onHide()
162
163
  executeAfterTransition(() => {
164
+ if (popoverRef.current) {
165
+ popoverRef.current.style.display = 'none'
166
+ }
167
+
163
168
  destroyPopper()
164
169
  setMounted(false)
165
170
  }, popoverRef.current)
@@ -193,6 +198,9 @@ export const CPopover = forwardRef<HTMLDivElement, CPopoverProps>(
193
198
  id={uID.current}
194
199
  ref={forkedRef}
195
200
  role="tooltip"
201
+ style={{
202
+ display: 'none',
203
+ }}
196
204
  {...rest}
197
205
  >
198
206
  <div className="popover-arrow"></div>
@@ -6,7 +6,7 @@ import { CPopover, CButton } from '../../../index'
6
6
  test('loads and displays CPopover component', async () => {
7
7
  const { container } = render(
8
8
  <CPopover content="A">
9
- <CButton>Test</CButton>
9
+ <CButton color="primary">Test</CButton>
10
10
  </CPopover>,
11
11
  )
12
12
  expect(container).toMatchSnapshot()
@@ -17,7 +17,7 @@ test('CPopover customize', async () => {
17
17
  let arr, element
18
18
  const { container } = render(
19
19
  <CPopover content="content" title="title" trigger="click" placement="right">
20
- <CButton>Test</CButton>
20
+ <CButton color="primary">Test</CButton>
21
21
  </CPopover>,
22
22
  { container: document.body },
23
23
  )
@@ -3,11 +3,33 @@
3
3
  exports[`CPopover customize 1`] = `
4
4
  <body>
5
5
  <button
6
+ aria-describedby="popover744956"
6
7
  class="btn btn-primary"
7
8
  type="button"
8
9
  >
9
10
  Test
10
11
  </button>
12
+ <div
13
+ class="popover bs-popover-auto fade show"
14
+ id="popover744956"
15
+ role="tooltip"
16
+ style="position: absolute; left: 0px; top: 0px; margin: 0px;"
17
+ >
18
+ <div
19
+ class="popover-arrow"
20
+ style="position: absolute;"
21
+ />
22
+ <div
23
+ class="popover-header"
24
+ >
25
+ title
26
+ </div>
27
+ <div
28
+ class="popover-body"
29
+ >
30
+ content
31
+ </div>
32
+ </div>
11
33
  </body>
12
34
  `;
13
35
 
@@ -2,21 +2,21 @@
2
2
 
3
3
  exports[`CSidebarBrand customize 1`] = `
4
4
  <div>
5
- <div
5
+ <a
6
6
  class="sidebar-brand bazinga"
7
7
  >
8
8
  Test
9
- </div>
9
+ </a>
10
10
  </div>
11
11
  `;
12
12
 
13
13
  exports[`loads and displays CSidebarBrand component 1`] = `
14
14
  <div>
15
- <div
15
+ <a
16
16
  class="sidebar-brand"
17
17
  color="primary"
18
18
  >
19
19
  Test
20
- </div>
20
+ </a>
21
21
  </div>
22
22
  `;
@@ -4,7 +4,9 @@ exports[`CSidebarNav customize 1`] = `
4
4
  <div>
5
5
  <ul
6
6
  class="sidebar-nav bazinga"
7
- />
7
+ >
8
+ Test
9
+ </ul>
8
10
  </div>
9
11
  `;
10
12
 
@@ -12,6 +14,8 @@ exports[`loads and displays CSidebarNav component 1`] = `
12
14
  <div>
13
15
  <ul
14
16
  class="sidebar-nav"
15
- />
17
+ >
18
+ Test
19
+ </ul>
16
20
  </div>
17
21
  `;
@@ -3,7 +3,7 @@
3
3
  exports[`CTabPane customize 1`] = `
4
4
  <div>
5
5
  <div
6
- class="tab-pane fade active show bazinga"
6
+ class="tab-pane active fade show bazinga"
7
7
  >
8
8
  Test
9
9
  </div>
@@ -84,6 +84,12 @@ export interface CTimePickerProps
84
84
  * @since 5.0.0
85
85
  */
86
86
  hours?: number[] | ((hour: number) => number[])
87
+ /**
88
+ * Set the id attribute for the input element.
89
+ *
90
+ * @since 5.3.0
91
+ */
92
+ id?: string
87
93
  /**
88
94
  * Toggle visibility or set the content of the input indicator.
89
95
  */
@@ -108,6 +114,12 @@ export interface CTimePickerProps
108
114
  * @since 5.0.0
109
115
  */
110
116
  minutes?: boolean | number[] | ((minute: number) => number[])
117
+ /**
118
+ * Set the name attribute for the input element.
119
+ *
120
+ * @since 5.3.0
121
+ */
122
+ name?: string
111
123
  /**
112
124
  * Callback fired when the time changed.
113
125
  */
@@ -171,6 +183,7 @@ export const CTimePicker = forwardRef<HTMLDivElement | HTMLLIElement, CTimePicke
171
183
  label,
172
184
  locale = 'default',
173
185
  minutes = true,
186
+ name,
174
187
  onTimeChange,
175
188
  onHide,
176
189
  onShow,
@@ -306,6 +319,8 @@ export const CTimePicker = forwardRef<HTMLDivElement | HTMLLIElement, CTimePicke
306
319
  autoComplete="off"
307
320
  className="time-picker-input"
308
321
  disabled={disabled}
322
+ id={id}
323
+ name={name}
309
324
  onChange={(event) => handleOnChange(event.target.value)}
310
325
  placeholder={placeholder}
311
326
  readOnly={inputReadOnly}
@@ -460,7 +475,6 @@ export const CTimePicker = forwardRef<HTMLDivElement | HTMLLIElement, CTimePicke
460
475
  )}
461
476
  </div>
462
477
  }
463
- id={id}
464
478
  onHide={() => {
465
479
  setVisible(false)
466
480
  onHide && onHide()
@@ -536,6 +550,7 @@ CTimePicker.propTypes = {
536
550
  confirmButtonSize: CButton.propTypes?.size,
537
551
  confirmButtonVariant: CButton.propTypes?.variant,
538
552
  hours: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number.isRequired), PropTypes.func]),
553
+ id: PropTypes.string,
539
554
  inputOnChangeDelay: PropTypes.number,
540
555
  locale: PropTypes.string,
541
556
  minutes: PropTypes.oneOfType([
@@ -543,6 +558,7 @@ CTimePicker.propTypes = {
543
558
  PropTypes.arrayOf(PropTypes.number.isRequired),
544
559
  PropTypes.func,
545
560
  ]),
561
+ name: PropTypes.string,
546
562
  onTimeChange: PropTypes.func,
547
563
  required: PropTypes.bool,
548
564
  seconds: PropTypes.oneOfType([
@@ -6,7 +6,7 @@ exports[`CToaster customize 1`] = `
6
6
  class="toaster toast-container bazinga"
7
7
  />
8
8
  <button
9
- class="btn btn-primary"
9
+ class="btn"
10
10
  type="button"
11
11
  >
12
12
  Send a toast
@@ -22,9 +22,9 @@ export interface CTooltipProps extends Omit<HTMLAttributes<HTMLDivElement>, 'con
22
22
  /**
23
23
  * 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`.
24
24
  *
25
- * @since v4.11.0
25
+ * @since 4.11.0
26
26
  */
27
- container?: Element | (() => Element | null) | null
27
+ container?: DocumentFragment | Element | (() => DocumentFragment | Element | null) | null
28
28
  /**
29
29
  * Content node for your component.
30
30
  */
@@ -144,6 +144,7 @@ export const CTooltip = forwardRef<HTMLDivElement, CTooltipProps>(
144
144
  }
145
145
 
146
146
  initPopper(togglerRef.current, tooltipRef.current, popperConfig)
147
+ tooltipRef.current.style.removeProperty('display')
147
148
  tooltipRef.current.classList.add('show')
148
149
  onShow && onShow()
149
150
  }
@@ -155,6 +156,10 @@ export const CTooltip = forwardRef<HTMLDivElement, CTooltipProps>(
155
156
  tooltipRef.current.classList.remove('show')
156
157
  onHide && onHide()
157
158
  executeAfterTransition(() => {
159
+ if (tooltipRef.current) {
160
+ tooltipRef.current.style.display = 'none'
161
+ }
162
+
158
163
  destroyPopper()
159
164
  setMounted(false)
160
165
  }, tooltipRef.current)
@@ -192,6 +197,9 @@ export const CTooltip = forwardRef<HTMLDivElement, CTooltipProps>(
192
197
  id={uID.current}
193
198
  ref={forkedRef}
194
199
  role="tooltip"
200
+ style={{
201
+ display: 'none',
202
+ }}
195
203
  {...rest}
196
204
  >
197
205
  <div className="tooltip-arrow"></div>
@@ -3,6 +3,7 @@
3
3
  exports[`CTooltip customize 1`] = `
4
4
  <div>
5
5
  <a
6
+ aria-describedby="tooltip97108"
6
7
  class="link"
7
8
  >
8
9
  Test
@@ -9,7 +9,7 @@ exports[`CWidgetStatsC customize 1`] = `
9
9
  class="card-body"
10
10
  >
11
11
  <div
12
- class="text-end mb-4"
12
+ class="text-end mb-4 text-white text-opacity-75"
13
13
  >
14
14
  icon
15
15
  </div>