@coreui/vue-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 (219) hide show
  1. package/README.md +2 -1
  2. package/dist/cjs/components/alert/CAlert.d.ts +2 -2
  3. package/dist/cjs/components/avatar/CAvatar.d.ts +2 -10
  4. package/dist/cjs/components/badge/CBadge.d.ts +2 -2
  5. package/dist/cjs/components/breadcrumb/CBreadcrumbItem.js.map +1 -1
  6. package/dist/cjs/components/button/CButton.d.ts +2 -6
  7. package/dist/cjs/components/button/CButton.js +2 -1
  8. package/dist/cjs/components/button/CButton.js.map +1 -1
  9. package/dist/cjs/components/calendar/CCalendar.d.ts +86 -10
  10. package/dist/cjs/components/calendar/CCalendar.js +57 -5
  11. package/dist/cjs/components/calendar/CCalendar.js.map +1 -1
  12. package/dist/cjs/components/calendar/utils.d.ts +4 -4
  13. package/dist/cjs/components/calendar/utils.js +1 -3
  14. package/dist/cjs/components/calendar/utils.js.map +1 -1
  15. package/dist/cjs/components/carousel/CCarousel.d.ts +2 -2
  16. package/dist/cjs/components/carousel/CCarousel.js.map +1 -1
  17. package/dist/cjs/components/close-button/CCloseButton.js.map +1 -1
  18. package/dist/cjs/components/conditional-teleport/CConditionalTeleport.d.ts +4 -4
  19. package/dist/cjs/components/conditional-teleport/CConditionalTeleport.js +1 -1
  20. package/dist/cjs/components/date-picker/CDatePicker.d.ts +98 -10
  21. package/dist/cjs/components/date-picker/CDatePicker.js +47 -5
  22. package/dist/cjs/components/date-picker/CDatePicker.js.map +1 -1
  23. package/dist/cjs/components/date-range-picker/CDateRangePicker.d.ts +127 -19
  24. package/dist/cjs/components/date-range-picker/CDateRangePicker.js +75 -12
  25. package/dist/cjs/components/date-range-picker/CDateRangePicker.js.map +1 -1
  26. package/dist/cjs/components/date-range-picker/utils.d.ts +1 -0
  27. package/dist/cjs/components/date-range-picker/utils.js +10 -0
  28. package/dist/cjs/components/date-range-picker/utils.js.map +1 -1
  29. package/dist/cjs/components/dropdown/CDropdown.d.ts +9 -32
  30. package/dist/cjs/components/dropdown/CDropdown.js +2 -2
  31. package/dist/cjs/components/dropdown/CDropdownMenu.js.map +1 -1
  32. package/dist/cjs/components/dropdown/CDropdownToggle.d.ts +2 -2
  33. package/dist/cjs/components/dropdown/CDropdownToggle.js +1 -1
  34. package/dist/cjs/components/dropdown/CDropdownToggle.js.map +1 -1
  35. package/dist/cjs/components/footer/CFooter.d.ts +17 -1
  36. package/dist/cjs/components/footer/CFooter.js +8 -1
  37. package/dist/cjs/components/footer/CFooter.js.map +1 -1
  38. package/dist/cjs/components/form/CFormCheck.js.map +1 -1
  39. package/dist/cjs/components/form/CFormControlValidation.js.map +1 -1
  40. package/dist/cjs/components/form/CFormControlWrapper.js.map +1 -1
  41. package/dist/cjs/components/form/CFormInput.d.ts +63 -63
  42. package/dist/cjs/components/form/CFormInput.js.map +1 -1
  43. package/dist/cjs/components/form/CFormSelect.d.ts +2 -2
  44. package/dist/cjs/components/form/CFormSelect.js.map +1 -1
  45. package/dist/cjs/components/form/CFormSwitch.js.map +1 -1
  46. package/dist/cjs/components/form/CFormTextarea.js.map +1 -1
  47. package/dist/cjs/components/header/CHeader.d.ts +17 -1
  48. package/dist/cjs/components/header/CHeader.js +8 -1
  49. package/dist/cjs/components/header/CHeader.js.map +1 -1
  50. package/dist/cjs/components/link/CLink.js.map +1 -1
  51. package/dist/cjs/components/list-group/CListGroupItem.js.map +1 -1
  52. package/dist/cjs/components/loading-button/CLoadingButton.js.map +1 -1
  53. package/dist/cjs/components/modal/CModal.d.ts +43 -5
  54. package/dist/cjs/components/modal/CModal.js +41 -17
  55. package/dist/cjs/components/modal/CModal.js.map +1 -1
  56. package/dist/cjs/components/multi-select/CMultiSelect.d.ts +33 -2
  57. package/dist/cjs/components/multi-select/CMultiSelect.js +21 -2
  58. package/dist/cjs/components/multi-select/CMultiSelect.js.map +1 -1
  59. package/dist/cjs/components/multi-select/CMultiSelectNativeSelect.d.ts +2 -0
  60. package/dist/cjs/components/multi-select/CMultiSelectNativeSelect.js +4 -2
  61. package/dist/cjs/components/multi-select/CMultiSelectNativeSelect.js.map +1 -1
  62. package/dist/cjs/components/multi-select/CMultiSelectOptions.js.map +1 -1
  63. package/dist/cjs/components/nav/CNavGroup.js.map +1 -1
  64. package/dist/cjs/components/navbar/CNavbar.js.map +1 -1
  65. package/dist/cjs/components/offcanvas/COffcanvas.js.map +1 -1
  66. package/dist/cjs/components/pagination/CPaginationItem.js.map +1 -1
  67. package/dist/cjs/components/popover/CPopover.d.ts +6 -6
  68. package/dist/cjs/components/popover/CPopover.js +1 -1
  69. package/dist/cjs/components/progress/CProgress.d.ts +2 -2
  70. package/dist/cjs/components/progress/CProgress.js.map +1 -1
  71. package/dist/cjs/components/progress/CProgressBar.d.ts +2 -2
  72. package/dist/cjs/components/progress/CProgressBar.js.map +1 -1
  73. package/dist/cjs/components/rating/CRating.js.map +1 -1
  74. package/dist/cjs/components/sidebar/CSidebarNav.js.map +1 -1
  75. package/dist/cjs/components/smart-pagination/CSmartPagination.js.map +1 -1
  76. package/dist/cjs/components/smart-table/CSmartTable.d.ts +6 -6
  77. package/dist/cjs/components/smart-table/CSmartTable.js.map +1 -1
  78. package/dist/cjs/components/smart-table/CSmartTableBody.d.ts +2 -2
  79. package/dist/cjs/components/smart-table/CSmartTableBody.js.map +1 -1
  80. package/dist/cjs/components/smart-table/CSmartTableHead.d.ts +4 -4
  81. package/dist/cjs/components/smart-table/CSmartTableHead.js.map +1 -1
  82. package/dist/cjs/components/smart-table/utils.d.ts +4 -4
  83. package/dist/cjs/components/smart-table/utils.js.map +1 -1
  84. package/dist/cjs/components/spinner/CSpinner.d.ts +2 -2
  85. package/dist/cjs/components/table/CTable.d.ts +4 -4
  86. package/dist/cjs/components/table/CTable.js.map +1 -1
  87. package/dist/cjs/components/table/CTableDataCell.js.map +1 -1
  88. package/dist/cjs/components/time-picker/CTimePicker.js +9 -1
  89. package/dist/cjs/components/time-picker/CTimePicker.js.map +1 -1
  90. package/dist/cjs/components/time-picker/utils.d.ts +4 -4
  91. package/dist/cjs/components/tooltip/CTooltip.d.ts +6 -6
  92. package/dist/cjs/components/tooltip/CTooltip.js +1 -1
  93. package/dist/cjs/components/virtual-scroller/CVirtualScroller.js.map +1 -1
  94. package/dist/cjs/components/widgets/CWidgetStatsB.js.map +1 -1
  95. package/dist/cjs/components/widgets/CWidgetStatsC.d.ts +0 -10
  96. package/dist/cjs/components/widgets/CWidgetStatsC.js.map +1 -1
  97. package/dist/cjs/node_modules/@coreui/icons-vue/dist/index.es.js +66 -0
  98. package/dist/cjs/node_modules/@coreui/icons-vue/dist/index.es.js.map +1 -1
  99. package/dist/cjs/node_modules/vue-types/dist/vue-types.modern.js +1 -1
  100. package/dist/cjs/node_modules/vue-types/dist/vue-types.modern.js.map +1 -1
  101. package/dist/esm/components/alert/CAlert.d.ts +2 -2
  102. package/dist/esm/components/avatar/CAvatar.d.ts +2 -10
  103. package/dist/esm/components/badge/CBadge.d.ts +2 -2
  104. package/dist/esm/components/breadcrumb/CBreadcrumbItem.js.map +1 -1
  105. package/dist/esm/components/button/CButton.d.ts +2 -6
  106. package/dist/esm/components/button/CButton.js +2 -1
  107. package/dist/esm/components/button/CButton.js.map +1 -1
  108. package/dist/esm/components/calendar/CCalendar.d.ts +86 -10
  109. package/dist/esm/components/calendar/CCalendar.js +58 -6
  110. package/dist/esm/components/calendar/CCalendar.js.map +1 -1
  111. package/dist/esm/components/calendar/utils.d.ts +4 -4
  112. package/dist/esm/components/calendar/utils.js +1 -3
  113. package/dist/esm/components/calendar/utils.js.map +1 -1
  114. package/dist/esm/components/carousel/CCarousel.d.ts +2 -2
  115. package/dist/esm/components/carousel/CCarousel.js.map +1 -1
  116. package/dist/esm/components/close-button/CCloseButton.js.map +1 -1
  117. package/dist/esm/components/conditional-teleport/CConditionalTeleport.d.ts +4 -4
  118. package/dist/esm/components/conditional-teleport/CConditionalTeleport.js +1 -1
  119. package/dist/esm/components/date-picker/CDatePicker.d.ts +98 -10
  120. package/dist/esm/components/date-picker/CDatePicker.js +47 -5
  121. package/dist/esm/components/date-picker/CDatePicker.js.map +1 -1
  122. package/dist/esm/components/date-range-picker/CDateRangePicker.d.ts +127 -19
  123. package/dist/esm/components/date-range-picker/CDateRangePicker.js +76 -13
  124. package/dist/esm/components/date-range-picker/CDateRangePicker.js.map +1 -1
  125. package/dist/esm/components/date-range-picker/utils.d.ts +1 -0
  126. package/dist/esm/components/date-range-picker/utils.js +10 -1
  127. package/dist/esm/components/date-range-picker/utils.js.map +1 -1
  128. package/dist/esm/components/dropdown/CDropdown.d.ts +9 -32
  129. package/dist/esm/components/dropdown/CDropdown.js +2 -2
  130. package/dist/esm/components/dropdown/CDropdownMenu.js.map +1 -1
  131. package/dist/esm/components/dropdown/CDropdownToggle.d.ts +2 -2
  132. package/dist/esm/components/dropdown/CDropdownToggle.js +1 -1
  133. package/dist/esm/components/dropdown/CDropdownToggle.js.map +1 -1
  134. package/dist/esm/components/footer/CFooter.d.ts +17 -1
  135. package/dist/esm/components/footer/CFooter.js +8 -1
  136. package/dist/esm/components/footer/CFooter.js.map +1 -1
  137. package/dist/esm/components/form/CFormCheck.js.map +1 -1
  138. package/dist/esm/components/form/CFormControlValidation.js.map +1 -1
  139. package/dist/esm/components/form/CFormControlWrapper.js.map +1 -1
  140. package/dist/esm/components/form/CFormInput.d.ts +63 -63
  141. package/dist/esm/components/form/CFormInput.js.map +1 -1
  142. package/dist/esm/components/form/CFormSelect.d.ts +2 -2
  143. package/dist/esm/components/form/CFormSelect.js.map +1 -1
  144. package/dist/esm/components/form/CFormSwitch.js.map +1 -1
  145. package/dist/esm/components/form/CFormTextarea.js.map +1 -1
  146. package/dist/esm/components/header/CHeader.d.ts +17 -1
  147. package/dist/esm/components/header/CHeader.js +8 -1
  148. package/dist/esm/components/header/CHeader.js.map +1 -1
  149. package/dist/esm/components/link/CLink.js.map +1 -1
  150. package/dist/esm/components/list-group/CListGroupItem.js.map +1 -1
  151. package/dist/esm/components/loading-button/CLoadingButton.js.map +1 -1
  152. package/dist/esm/components/modal/CModal.d.ts +43 -5
  153. package/dist/esm/components/modal/CModal.js +41 -17
  154. package/dist/esm/components/modal/CModal.js.map +1 -1
  155. package/dist/esm/components/multi-select/CMultiSelect.d.ts +33 -2
  156. package/dist/esm/components/multi-select/CMultiSelect.js +21 -2
  157. package/dist/esm/components/multi-select/CMultiSelect.js.map +1 -1
  158. package/dist/esm/components/multi-select/CMultiSelectNativeSelect.d.ts +2 -0
  159. package/dist/esm/components/multi-select/CMultiSelectNativeSelect.js +4 -2
  160. package/dist/esm/components/multi-select/CMultiSelectNativeSelect.js.map +1 -1
  161. package/dist/esm/components/multi-select/CMultiSelectOptions.js.map +1 -1
  162. package/dist/esm/components/nav/CNavGroup.js.map +1 -1
  163. package/dist/esm/components/navbar/CNavbar.js.map +1 -1
  164. package/dist/esm/components/offcanvas/COffcanvas.js.map +1 -1
  165. package/dist/esm/components/pagination/CPaginationItem.js.map +1 -1
  166. package/dist/esm/components/popover/CPopover.d.ts +6 -6
  167. package/dist/esm/components/popover/CPopover.js +1 -1
  168. package/dist/esm/components/progress/CProgress.d.ts +2 -2
  169. package/dist/esm/components/progress/CProgress.js.map +1 -1
  170. package/dist/esm/components/progress/CProgressBar.d.ts +2 -2
  171. package/dist/esm/components/progress/CProgressBar.js.map +1 -1
  172. package/dist/esm/components/rating/CRating.js.map +1 -1
  173. package/dist/esm/components/sidebar/CSidebarNav.js.map +1 -1
  174. package/dist/esm/components/smart-pagination/CSmartPagination.js.map +1 -1
  175. package/dist/esm/components/smart-table/CSmartTable.d.ts +6 -6
  176. package/dist/esm/components/smart-table/CSmartTable.js.map +1 -1
  177. package/dist/esm/components/smart-table/CSmartTableBody.d.ts +2 -2
  178. package/dist/esm/components/smart-table/CSmartTableBody.js.map +1 -1
  179. package/dist/esm/components/smart-table/CSmartTableHead.d.ts +4 -4
  180. package/dist/esm/components/smart-table/CSmartTableHead.js.map +1 -1
  181. package/dist/esm/components/smart-table/utils.d.ts +4 -4
  182. package/dist/esm/components/smart-table/utils.js.map +1 -1
  183. package/dist/esm/components/spinner/CSpinner.d.ts +2 -2
  184. package/dist/esm/components/table/CTable.d.ts +4 -4
  185. package/dist/esm/components/table/CTable.js.map +1 -1
  186. package/dist/esm/components/table/CTableDataCell.js.map +1 -1
  187. package/dist/esm/components/time-picker/CTimePicker.js +9 -1
  188. package/dist/esm/components/time-picker/CTimePicker.js.map +1 -1
  189. package/dist/esm/components/time-picker/utils.d.ts +4 -4
  190. package/dist/esm/components/tooltip/CTooltip.d.ts +6 -6
  191. package/dist/esm/components/tooltip/CTooltip.js +1 -1
  192. package/dist/esm/components/virtual-scroller/CVirtualScroller.js.map +1 -1
  193. package/dist/esm/components/widgets/CWidgetStatsB.js.map +1 -1
  194. package/dist/esm/components/widgets/CWidgetStatsC.d.ts +0 -10
  195. package/dist/esm/components/widgets/CWidgetStatsC.js.map +1 -1
  196. package/dist/esm/node_modules/@coreui/icons-vue/dist/index.es.js +67 -1
  197. package/dist/esm/node_modules/@coreui/icons-vue/dist/index.es.js.map +1 -1
  198. package/dist/esm/node_modules/vue-types/dist/vue-types.modern.js +1 -1
  199. package/dist/esm/node_modules/vue-types/dist/vue-types.modern.js.map +1 -1
  200. package/package.json +8 -8
  201. package/src/components/button/CButton.ts +2 -1
  202. package/src/components/calendar/CCalendar.ts +57 -5
  203. package/src/components/calendar/utils.ts +1 -4
  204. package/src/components/conditional-teleport/CConditionalTeleport.ts +1 -1
  205. package/src/components/date-picker/CDatePicker.ts +47 -5
  206. package/src/components/date-range-picker/CDateRangePicker.ts +83 -19
  207. package/src/components/date-range-picker/utils.ts +16 -0
  208. package/src/components/dropdown/CDropdown.ts +2 -2
  209. package/src/components/dropdown/CDropdownToggle.ts +1 -1
  210. package/src/components/footer/CFooter.ts +8 -1
  211. package/src/components/footer/__tests__/CFooter.spec.ts +19 -0
  212. package/src/components/header/CHeader.ts +8 -1
  213. package/src/components/header/__tests__/CHeader.spec.ts +19 -0
  214. package/src/components/modal/CModal.ts +49 -19
  215. package/src/components/multi-select/CMultiSelect.ts +25 -3
  216. package/src/components/multi-select/CMultiSelectNativeSelect.ts +4 -2
  217. package/src/components/popover/CPopover.ts +1 -1
  218. package/src/components/time-picker/CTimePicker.ts +9 -1
  219. package/src/components/tooltip/CTooltip.ts +1 -1
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  defineComponent,
3
3
  h,
4
+ PropType,
4
5
  provide,
5
6
  ref,
6
7
  RendererElement,
@@ -11,6 +12,7 @@ import {
11
12
  } from 'vue'
12
13
 
13
14
  import { CBackdrop } from '../backdrop/CBackdrop'
15
+ import { CConditionalTeleport } from '../conditional-teleport'
14
16
 
15
17
  import { executeAfterTransition } from '../../utils/transition'
16
18
 
@@ -47,6 +49,15 @@ const CModal = defineComponent({
47
49
  return false
48
50
  },
49
51
  },
52
+ /**
53
+ * Appends the vue popover to a specific element. You can pass an HTML element or function that returns a single element. By default `document.body`.
54
+ *
55
+ * @since 5.3.0
56
+ */
57
+ container: {
58
+ type: [Object, String] as PropType<HTMLElement | (() => HTMLElement) | string>,
59
+ default: 'body',
60
+ },
50
61
  /**
51
62
  * A string of all className you want applied to the modal content component.
52
63
  */
@@ -54,7 +65,7 @@ const CModal = defineComponent({
54
65
  /**
55
66
  * Puts the focus on the modal when shown.
56
67
  *
57
- * @since v5.0.0
68
+ * @since 5.0.0
58
69
  */
59
70
  focus: {
60
71
  type: Boolean,
@@ -99,6 +110,15 @@ const CModal = defineComponent({
99
110
  return ['sm', 'lg', 'xl'].includes(value)
100
111
  },
101
112
  },
113
+ /**
114
+ * Generates modal using Teleport.
115
+ *
116
+ * @since 5.3.0
117
+ */
118
+ teleport: {
119
+ type: Boolean,
120
+ default: false,
121
+ },
102
122
  /**
103
123
  * Remove animation to create modal that simply appear rather than fade in to view.
104
124
  */
@@ -264,27 +284,37 @@ const CModal = defineComponent({
264
284
  ),
265
285
  )
266
286
 
267
- return () => [
287
+ return () =>
268
288
  h(
269
- Transition,
289
+ CConditionalTeleport,
270
290
  {
271
- css: false,
272
- onEnter: (el, done) => handleEnter(el, done),
273
- onAfterEnter: () => handleAfterEnter(),
274
- onLeave: (el, done) => handleLeave(el, done),
275
- onAfterLeave: (el) => handleAfterLeave(el),
291
+ container: props.container,
292
+ teleport: props.teleport,
276
293
  },
277
- () =>
278
- props.unmountOnClose
279
- ? visible.value && modal()
280
- : withDirectives(modal(), [[vShow, visible.value]]),
281
- ),
282
- props.backdrop &&
283
- h(CBackdrop, {
284
- class: 'modal-backdrop',
285
- visible: visible.value,
286
- }),
287
- ]
294
+ {
295
+ default: () => [
296
+ h(
297
+ Transition,
298
+ {
299
+ css: false,
300
+ onEnter: (el, done) => handleEnter(el, done),
301
+ onAfterEnter: () => handleAfterEnter(),
302
+ onLeave: (el, done) => handleLeave(el, done),
303
+ onAfterLeave: (el) => handleAfterLeave(el),
304
+ },
305
+ () =>
306
+ props.unmountOnClose
307
+ ? visible.value && modal()
308
+ : withDirectives(modal(), [[vShow, visible.value]]),
309
+ ),
310
+ props.backdrop &&
311
+ h(CBackdrop, {
312
+ class: 'modal-backdrop',
313
+ visible: visible.value,
314
+ }),
315
+ ],
316
+ },
317
+ )
288
318
  },
289
319
  })
290
320
 
@@ -60,7 +60,10 @@ const CMultiSelect = defineComponent({
60
60
  */
61
61
  feedbackValid: String,
62
62
  /**
63
- * The id global attribute defines an identifier (ID) that must be unique in the whole document.
63
+ * Set the id attribute for the native select element.
64
+ *
65
+ * **[Deprecated since v5.3.0]** The name attribute for the native select element is generated based on the `id` property:
66
+ * - `<select name="\{id\}-multi-select" />`
64
67
  */
65
68
  id: String,
66
69
  /**
@@ -90,6 +93,12 @@ const CMultiSelect = defineComponent({
90
93
  type: Boolean,
91
94
  default: true,
92
95
  },
96
+ /**
97
+ * The name attribute for the select element.
98
+ *
99
+ * @since 5.3.0
100
+ */
101
+ name: String,
93
102
  /**
94
103
  * List of option elements.
95
104
  */
@@ -132,6 +141,12 @@ const CMultiSelect = defineComponent({
132
141
  * When it is present, it indicates that the user must choose a value before submitting the form.
133
142
  */
134
143
  required: Boolean,
144
+ /**
145
+ * 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.
146
+ *
147
+ * @since 5.3.0
148
+ */
149
+ resetSelectionOnOptionsChange: Boolean,
135
150
  /**
136
151
  * Enables search input element.
137
152
  */
@@ -298,7 +313,8 @@ const CMultiSelect = defineComponent({
298
313
  if (
299
314
  props.allowCreateOptions &&
300
315
  filteredOptions.value.some(
301
- (option) => option.label && option.label.toLowerCase() === searchValue.value.toLowerCase(),
316
+ (option) =>
317
+ option.label && option.label.toLowerCase() === searchValue.value.toLowerCase(),
302
318
  )
303
319
  ) {
304
320
  return false
@@ -312,6 +328,12 @@ const CMultiSelect = defineComponent({
312
328
  (newValue, oldValue) => {
313
329
  if (JSON.stringify(newValue) !== JSON.stringify(oldValue)) {
314
330
  options.value = newValue
331
+
332
+ if (props.resetSelectionOnOptionsChange) {
333
+ selected.value = []
334
+ return
335
+ }
336
+
315
337
  const _selected = flattenedOptions.value.filter(
316
338
  (option: Option | OptionsGroup) => option.selected === true,
317
339
  )
@@ -511,6 +533,7 @@ const CMultiSelect = defineComponent({
511
533
  h(CMultiSelectNativeSelect, {
512
534
  id: props.id,
513
535
  multiple: props.multiple,
536
+ name: props.name,
514
537
  options: selected.value,
515
538
  required: props.required,
516
539
  value: props.multiple
@@ -548,7 +571,6 @@ const CMultiSelect = defineComponent({
548
571
  },
549
572
  ],
550
573
  'aria-expanded': visible.value,
551
- id: props.id,
552
574
  ref: multiSelectRef,
553
575
  },
554
576
  {
@@ -10,6 +10,7 @@ const CMultiSelectNativeSelect = defineComponent({
10
10
  type: Boolean,
11
11
  default: true,
12
12
  },
13
+ name: String,
13
14
  options: {
14
15
  type: Array as PropType<Option[]>,
15
16
  default: () => [],
@@ -38,8 +39,9 @@ const CMultiSelectNativeSelect = defineComponent({
38
39
  'select',
39
40
  {
40
41
  className: 'multi-select-new',
41
- ...(props.id && { id: `${props.id}-multi-select` }),
42
- ...(props.id && { name: `${props.id}-multi-select` }),
42
+ id: props.id,
43
+ ...(props.id && !props.name && { name: `${props.id}-multi-select` }), // TODO: remove in v6
44
+ ...(props.name && { name: props.name }), // TODO: change to `name: props.name` in v6
43
45
  multiple: props.multiple,
44
46
  tabIndex: '-1',
45
47
  style: { display: 'none' },
@@ -23,7 +23,7 @@ const CPopover = defineComponent({
23
23
  /**
24
24
  * Appends the vue popover to a specific element. You can pass an HTML element or function that returns a single element. By default `document.body`.
25
25
  *
26
- * @since v5.0.0
26
+ * @since 5.0.0
27
27
  */
28
28
  container: {
29
29
  type: [Object, String] as PropType<HTMLElement | (() => HTMLElement) | string>,
@@ -170,7 +170,7 @@ const CTimePicker = defineComponent({
170
170
  /**
171
171
  * Defines the delay (in milliseconds) for the input field's onChange event.
172
172
  *
173
- * @since v5.0.0
173
+ * @since 5.0.0
174
174
  */
175
175
  inputOnChangeDelay: {
176
176
  type: Number,
@@ -213,6 +213,12 @@ const CTimePicker = defineComponent({
213
213
  >,
214
214
  default: true,
215
215
  },
216
+ /**
217
+ * Set the name attribute for the input element.
218
+ *
219
+ * @since 5.3.0
220
+ */
221
+ name: String,
216
222
  /**
217
223
  * Specifies a short hint that is visible in the input.
218
224
  */
@@ -436,6 +442,8 @@ const CTimePicker = defineComponent({
436
442
  autocomplete: 'off',
437
443
  class: 'time-picker-input',
438
444
  disabled: props.disabled,
445
+ id: props.id,
446
+ name: props.name,
439
447
  onInput: (event: Event) =>
440
448
  useDebouncedCallback(() => {
441
449
  if (isValidTime((event.target as HTMLInputElement).value)) {
@@ -23,7 +23,7 @@ const CTooltip = defineComponent({
23
23
  /**
24
24
  * Appends the vue tooltip to a specific element. You can pass an HTML element or function that returns a single element. By default `document.body`.
25
25
  *
26
- * @since v5.0.0
26
+ * @since 5.0.0
27
27
  */
28
28
  container: {
29
29
  type: [Object, String] as PropType<HTMLElement | (() => HTMLElement) | string>,