@govbr-ds/webcomponents 2.3.0 → 2.5.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 (787) hide show
  1. package/README.md +2 -2
  2. package/cem/custom-elements.json +1764 -1575
  3. package/cem/webcomponents.html-custom-data.json +194 -163
  4. package/dist/cjs/br-avatar.cjs.entry.js +3 -3
  5. package/dist/cjs/br-breadcrumb-item.cjs.entry.js +1 -1
  6. package/dist/cjs/br-breadcrumb.cjs.entry.js +3 -3
  7. package/dist/cjs/br-button_2.cjs.entry.js +4 -4
  8. package/dist/cjs/br-card.cjs.entry.js +3 -3
  9. package/dist/cjs/br-carousel-page.cjs.entry.js +2 -2
  10. package/dist/cjs/br-carousel.cjs.entry.js +2 -2
  11. package/dist/cjs/br-checkbox-group.cjs.entry.js +3 -3
  12. package/dist/cjs/br-checkbox.cjs.entry.js +4 -4
  13. package/dist/cjs/br-checkgroup.cjs.entry.js +1 -1
  14. package/dist/cjs/br-collapse_2.cjs.entry.js +5 -5
  15. package/dist/cjs/br-cookiebar-cookie.cjs.entry.js +2 -2
  16. package/dist/cjs/br-cookiebar-group.cjs.entry.js +2 -2
  17. package/dist/cjs/br-cookiebar-header.cjs.entry.js +2 -2
  18. package/dist/cjs/br-cookiebar-link.cjs.entry.js +2 -2
  19. package/dist/cjs/br-cookiebar-note-group.cjs.entry.js +1 -1
  20. package/dist/cjs/br-cookiebar-note.cjs.entry.js +2 -2
  21. package/dist/cjs/br-cookiebar.cjs.entry.js +3 -3
  22. package/dist/cjs/br-crumb.cjs.entry.js +1 -1
  23. package/dist/cjs/br-date-picker_3.cjs.entry.js +984 -545
  24. package/dist/cjs/br-datetime-picker.cjs.entry.js +1346 -310
  25. package/dist/cjs/br-divider.cjs.entry.js +3 -3
  26. package/dist/cjs/br-dropdown_2.cjs.entry.js +282 -139
  27. package/dist/cjs/br-footer-category.cjs.entry.js +3 -3
  28. package/dist/cjs/br-footer-item.cjs.entry.js +2 -2
  29. package/dist/cjs/br-footer-legal.cjs.entry.js +2 -2
  30. package/dist/cjs/br-footer-logo.cjs.entry.js +2 -2
  31. package/dist/cjs/br-footer-social.cjs.entry.js +2 -2
  32. package/dist/cjs/br-footer.cjs.entry.js +4 -4
  33. package/dist/cjs/br-header-function.cjs.entry.js +2 -2
  34. package/dist/cjs/br-header-link.cjs.entry.js +2 -2
  35. package/dist/cjs/br-header-list.cjs.entry.js +2 -2
  36. package/dist/cjs/br-header-logo.cjs.entry.js +2 -2
  37. package/dist/cjs/br-header.cjs.entry.js +2 -2
  38. package/dist/cjs/br-icon.cjs.entry.js +3 -3
  39. package/dist/cjs/br-input.cjs.entry.js +64 -10
  40. package/dist/cjs/br-item.cjs.entry.js +3 -3
  41. package/dist/cjs/br-link.cjs.entry.js +8 -8
  42. package/dist/cjs/br-loading.cjs.entry.js +2 -2
  43. package/dist/cjs/br-magic-button.cjs.entry.js +2 -2
  44. package/dist/cjs/br-menu-group.cjs.entry.js +2 -2
  45. package/dist/cjs/br-menu-header.cjs.entry.js +2 -2
  46. package/dist/cjs/br-menu-info.cjs.entry.js +2 -2
  47. package/dist/cjs/br-menu-item.cjs.entry.js +2 -2
  48. package/dist/cjs/br-menu-link.cjs.entry.js +2 -2
  49. package/dist/cjs/br-menu-list.cjs.entry.js +1 -1
  50. package/dist/cjs/br-menu-logo.cjs.entry.js +2 -2
  51. package/dist/cjs/br-menu-social.cjs.entry.js +1 -1
  52. package/dist/cjs/br-menu.cjs.entry.js +4 -4
  53. package/dist/cjs/br-modal.cjs.entry.js +1 -1
  54. package/dist/cjs/br-notification-body.cjs.entry.js +2 -2
  55. package/dist/cjs/br-notification-header.cjs.entry.js +2 -2
  56. package/dist/cjs/br-notification-item.cjs.entry.js +2 -2
  57. package/dist/cjs/br-notification.cjs.entry.js +3 -3
  58. package/dist/cjs/br-pagination.cjs.entry.js +3 -3
  59. package/dist/cjs/br-radio-group.cjs.entry.js +4 -4
  60. package/dist/cjs/br-radio.cjs.entry.js +4 -4
  61. package/dist/cjs/br-scrim.cjs.entry.js +3 -3
  62. package/dist/cjs/br-select-input_3.cjs.entry.js +308 -101
  63. package/dist/cjs/br-sign-in.cjs.entry.js +3 -3
  64. package/dist/cjs/br-skip-link-item.cjs.entry.js +1 -1
  65. package/dist/cjs/br-skip-link.cjs.entry.js +2 -2
  66. package/dist/cjs/br-skiplink-item.cjs.entry.js +2 -2
  67. package/dist/cjs/br-slider.cjs.entry.js +3 -3
  68. package/dist/cjs/br-step_2.cjs.entry.js +6 -6
  69. package/dist/cjs/br-switch.cjs.entry.js +4 -4
  70. package/dist/cjs/br-tab-item.cjs.entry.js +2 -2
  71. package/dist/cjs/br-tab.cjs.entry.js +4 -4
  72. package/dist/cjs/br-table-body.cjs.entry.js +2 -2
  73. package/dist/cjs/br-table-cell.cjs.entry.js +2 -2
  74. package/dist/cjs/br-table-header-cell.cjs.entry.js +2 -2
  75. package/dist/cjs/br-table-header.cjs.entry.js +2 -2
  76. package/dist/cjs/br-table-row.cjs.entry.js +2 -2
  77. package/dist/cjs/br-table.cjs.entry.js +2 -2
  78. package/dist/cjs/br-tag.cjs.entry.js +4 -4
  79. package/dist/cjs/br-textarea.cjs.entry.js +3 -3
  80. package/dist/cjs/br-tooltip.cjs.entry.js +2 -2
  81. package/dist/cjs/br-upload.cjs.entry.js +8 -24
  82. package/dist/cjs/br-wizard-panel.cjs.entry.js +2 -2
  83. package/dist/cjs/br-wizard.cjs.entry.js +2 -2
  84. package/dist/cjs/{datetime-picker-constants-B5pWeOn1.js → datetime-picker-constants-CTf1kVJ1.js} +21 -5
  85. package/dist/cjs/format-bytes-Cs8SH2w0.js +24 -0
  86. package/dist/cjs/{iconify-icon-DfODV9bf.js → iconify-icon-LjavbM-D.js} +103 -57
  87. package/dist/cjs/index-Bc30P_6z.js +14 -14
  88. package/dist/cjs/{index-C92n55ch.js → index-Caoez3xb.js} +75 -27
  89. package/dist/cjs/index.cjs.js +2 -2
  90. package/dist/cjs/{datetime-picker-props-validation-DmNKSXsy.js → isValid-DgJ-noPS.js} +1 -483
  91. package/dist/cjs/loader.cjs.js +1 -1
  92. package/dist/cjs/select.utils-C38f5Kea.js +62 -0
  93. package/dist/cjs/{slot-DAllytTj.js → slot-CjaqqX7y.js} +1 -1
  94. package/dist/cjs/webcomponents.cjs.js +1 -1
  95. package/dist/collection/components/avatar/avatar.css +1 -1
  96. package/dist/collection/components/avatar/avatar.js +21 -21
  97. package/dist/collection/components/breadcrumb/breadcrumb-item/breadcrumb-item.js +4 -12
  98. package/dist/collection/components/breadcrumb/breadcrumb.css +1 -1
  99. package/dist/collection/components/breadcrumb/breadcrumb.js +32 -27
  100. package/dist/collection/components/breadcrumb/crumb/crumb.js +2 -13
  101. package/dist/collection/components/button/button.css +1 -1
  102. package/dist/collection/components/button/button.js +21 -21
  103. package/dist/collection/components/card/card.css +1 -1
  104. package/dist/collection/components/card/card.js +20 -22
  105. package/dist/collection/components/carousel/carousel-page/carousel-page.css +1 -1
  106. package/dist/collection/components/carousel/carousel-page/carousel-page.js +3 -13
  107. package/dist/collection/components/carousel/carousel.css +1 -1
  108. package/dist/collection/components/carousel/carousel.js +23 -30
  109. package/dist/collection/components/checkbox/checkbox.css +1 -1
  110. package/dist/collection/components/checkbox/checkbox.js +18 -24
  111. package/dist/collection/components/checkbox-group/checkbox-group.css +1 -1
  112. package/dist/collection/components/checkbox-group/checkbox-group.js +19 -20
  113. package/dist/collection/components/checkgroup/checkgroup.js +2 -14
  114. package/dist/collection/components/collapse/collapse.css +1 -1
  115. package/dist/collection/components/collapse/collapse.js +25 -21
  116. package/dist/collection/components/cookiebar/cookiebar-cookie/cookiebar-cookie.css +1 -1
  117. package/dist/collection/components/cookiebar/cookiebar-cookie/cookiebar-cookie.js +3 -16
  118. package/dist/collection/components/cookiebar/cookiebar-group/cookiebar-group.css +1 -1
  119. package/dist/collection/components/cookiebar/cookiebar-group/cookiebar-group.js +3 -16
  120. package/dist/collection/components/cookiebar/cookiebar-header/cookiebar-header.css +1 -1
  121. package/dist/collection/components/cookiebar/cookiebar-header/cookiebar-header.js +3 -16
  122. package/dist/collection/components/cookiebar/cookiebar-link/cookiebar-link.css +1 -1
  123. package/dist/collection/components/cookiebar/cookiebar-link/cookiebar-link.js +3 -15
  124. package/dist/collection/components/cookiebar/cookiebar-note/cookiebar-note.css +1 -1
  125. package/dist/collection/components/cookiebar/cookiebar-note/cookiebar-note.js +3 -14
  126. package/dist/collection/components/cookiebar/cookiebar-note-group/cookiebar-note-group.css +1 -1
  127. package/dist/collection/components/cookiebar/cookiebar-note-group/cookiebar-note-group.js +2 -13
  128. package/dist/collection/components/cookiebar/cookiebar.css +1 -1
  129. package/dist/collection/components/cookiebar/cookiebar.js +32 -27
  130. package/dist/collection/components/datetime-picker/date-picker/date-picker-locale.js +73 -26
  131. package/dist/collection/components/datetime-picker/date-picker/date-picker-props-validation.js +14 -13
  132. package/dist/collection/components/datetime-picker/date-picker/date-picker.css +1 -1
  133. package/dist/collection/components/datetime-picker/date-picker/date-picker.js +474 -321
  134. package/dist/collection/components/datetime-picker/datetime-input/datetime-input-constants.js +59 -0
  135. package/dist/collection/components/datetime-picker/datetime-input/datetime-input-props-validation.js +19 -15
  136. package/dist/collection/components/datetime-picker/datetime-input/datetime-input.css +1 -1
  137. package/dist/collection/components/datetime-picker/datetime-input/datetime-input.js +370 -218
  138. package/dist/collection/components/datetime-picker/datetime-input/datetime-input.types.js +1 -0
  139. package/dist/collection/components/datetime-picker/datetime-picker-constants.js +19 -5
  140. package/dist/collection/components/datetime-picker/datetime-picker-form-associated.js +92 -11
  141. package/dist/collection/components/datetime-picker/datetime-picker-props-validation.js +52 -33
  142. package/dist/collection/components/datetime-picker/datetime-picker.css +1 -1
  143. package/dist/collection/components/datetime-picker/datetime-picker.js +917 -368
  144. package/dist/collection/components/datetime-picker/datetime-picker.utils.js +62 -49
  145. package/dist/collection/components/datetime-picker/time-picker/time-picker-constants.js +3 -2
  146. package/dist/collection/components/datetime-picker/time-picker/time-picker.css +1 -1
  147. package/dist/collection/components/datetime-picker/time-picker/time-picker.js +145 -92
  148. package/dist/collection/components/divider/divider.css +1 -1
  149. package/dist/collection/components/divider/divider.js +15 -19
  150. package/dist/collection/components/dropdown/dropdown.css +1 -1
  151. package/dist/collection/components/dropdown/dropdown.js +22 -21
  152. package/dist/collection/components/footer/footer-category/footer-category.css +1 -1
  153. package/dist/collection/components/footer/footer-category/footer-category.js +4 -17
  154. package/dist/collection/components/footer/footer-item/footer-item.css +1 -1
  155. package/dist/collection/components/footer/footer-item/footer-item.js +3 -16
  156. package/dist/collection/components/footer/footer-legal/footer-legal.css +1 -1
  157. package/dist/collection/components/footer/footer-legal/footer-legal.js +2 -16
  158. package/dist/collection/components/footer/footer-logo/footer-logo.css +1 -1
  159. package/dist/collection/components/footer/footer-logo/footer-logo.js +3 -16
  160. package/dist/collection/components/footer/footer-social/footer-social.css +1 -1
  161. package/dist/collection/components/footer/footer-social/footer-social.js +3 -15
  162. package/dist/collection/components/footer/footer.css +1 -1
  163. package/dist/collection/components/footer/footer.js +25 -29
  164. package/dist/collection/components/header/header-function/header-function.css +1 -1
  165. package/dist/collection/components/header/header-function/header-function.js +10 -14
  166. package/dist/collection/components/header/header-link/header-link.css +1 -1
  167. package/dist/collection/components/header/header-link/header-link.js +3 -16
  168. package/dist/collection/components/header/header-list/header-list.css +1 -1
  169. package/dist/collection/components/header/header-list/header-list.js +3 -16
  170. package/dist/collection/components/header/header-logo/header-logo.css +1 -1
  171. package/dist/collection/components/header/header-logo/header-logo.js +3 -16
  172. package/dist/collection/components/header/header.css +1 -1
  173. package/dist/collection/components/header/header.js +30 -27
  174. package/dist/collection/components/icon/icon.css +1 -1
  175. package/dist/collection/components/icon/icon.js +22 -17
  176. package/dist/collection/components/input/input.css +1 -1
  177. package/dist/collection/components/input/input.js +125 -30
  178. package/dist/collection/components/item/item.css +1 -1
  179. package/dist/collection/components/item/item.js +18 -22
  180. package/dist/collection/components/link/link.css +1 -1
  181. package/dist/collection/components/link/link.js +25 -29
  182. package/dist/collection/components/list/list.css +1 -1
  183. package/dist/collection/components/list/list.js +17 -21
  184. package/dist/collection/components/loading/loading.css +1 -1
  185. package/dist/collection/components/loading/loading.js +17 -24
  186. package/dist/collection/components/magic-button/magic-button.css +1 -1
  187. package/dist/collection/components/magic-button/magic-button.js +13 -20
  188. package/dist/collection/components/menu/menu-group/menu-group.css +1 -1
  189. package/dist/collection/components/menu/menu-group/menu-group.js +3 -16
  190. package/dist/collection/components/menu/menu-header/menu-header.css +1 -1
  191. package/dist/collection/components/menu/menu-header/menu-header.js +3 -16
  192. package/dist/collection/components/menu/menu-info/menu-info.css +1 -1
  193. package/dist/collection/components/menu/menu-info/menu-info.js +2 -15
  194. package/dist/collection/components/menu/menu-item/menu-item.css +1 -1
  195. package/dist/collection/components/menu/menu-item/menu-item.js +3 -16
  196. package/dist/collection/components/menu/menu-link/menu-link.css +1 -1
  197. package/dist/collection/components/menu/menu-link/menu-link.js +5 -17
  198. package/dist/collection/components/menu/menu-list/menu-list.css +1 -1
  199. package/dist/collection/components/menu/menu-list/menu-list.js +2 -15
  200. package/dist/collection/components/menu/menu-logo/menu-logo.css +1 -1
  201. package/dist/collection/components/menu/menu-logo/menu-logo.js +2 -15
  202. package/dist/collection/components/menu/menu-social/menu-social.css +1 -1
  203. package/dist/collection/components/menu/menu-social/menu-social.js +2 -15
  204. package/dist/collection/components/menu/menu.css +1 -1
  205. package/dist/collection/components/menu/menu.js +28 -35
  206. package/dist/collection/components/message/message.css +1 -1
  207. package/dist/collection/components/message/message.js +22 -25
  208. package/dist/collection/components/modal/modal.css +1 -1
  209. package/dist/collection/components/modal/modal.js +18 -21
  210. package/dist/collection/components/notification/notification-body/notification-body.css +1 -1
  211. package/dist/collection/components/notification/notification-body/notification-body.js +3 -13
  212. package/dist/collection/components/notification/notification-header/notification-header.css +1 -1
  213. package/dist/collection/components/notification/notification-header/notification-header.js +3 -14
  214. package/dist/collection/components/notification/notification-item/notification-item.css +1 -1
  215. package/dist/collection/components/notification/notification-item/notification-item.js +3 -16
  216. package/dist/collection/components/notification/notification.css +1 -1
  217. package/dist/collection/components/notification/notification.js +20 -29
  218. package/dist/collection/components/pagination/pagination.css +1 -1
  219. package/dist/collection/components/pagination/pagination.js +15 -23
  220. package/dist/collection/components/radio/radio.css +1 -1
  221. package/dist/collection/components/radio/radio.js +17 -20
  222. package/dist/collection/components/radio-group/radio-group.css +1 -1
  223. package/dist/collection/components/radio-group/radio-group.js +20 -20
  224. package/dist/collection/components/scrim/scrim.css +1 -1
  225. package/dist/collection/components/scrim/scrim.js +14 -17
  226. package/dist/collection/components/select/select-input/select-input.css +1 -1
  227. package/dist/collection/components/select/select-input/select-input.js +157 -27
  228. package/dist/collection/components/select/select-list/select-list.css +1 -1
  229. package/dist/collection/components/select/select-list/select-list.js +269 -80
  230. package/dist/collection/components/select/select-option/select-option.css +1 -1
  231. package/dist/collection/components/select/select-option/select-option.js +20 -16
  232. package/dist/collection/components/select/select.css +1 -1
  233. package/dist/collection/components/select/select.js +367 -180
  234. package/dist/collection/components/select/select.utils.js +26 -7
  235. package/dist/collection/components/sign-in/sign-in.css +1 -1
  236. package/dist/collection/components/sign-in/sign-in.js +12 -16
  237. package/dist/collection/components/skip-link/skip-link-item/skip-link-item-alias.js +8 -4
  238. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.css +1 -1
  239. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js +5 -15
  240. package/dist/collection/components/skip-link/skip-link.css +1 -1
  241. package/dist/collection/components/skip-link/skip-link.js +18 -24
  242. package/dist/collection/components/slider/slider.css +1 -1
  243. package/dist/collection/components/slider/slider.js +15 -25
  244. package/dist/collection/components/step/step-item/step-item.css +1 -1
  245. package/dist/collection/components/step/step-item/step-item.js +5 -15
  246. package/dist/collection/components/step/step.css +1 -1
  247. package/dist/collection/components/step/step.js +16 -25
  248. package/dist/collection/components/switch/switch.css +1 -1
  249. package/dist/collection/components/switch/switch.js +16 -20
  250. package/dist/collection/components/tab/tab-item/tab-item.css +1 -1
  251. package/dist/collection/components/tab/tab-item/tab-item.js +5 -15
  252. package/dist/collection/components/tab/tab.css +1 -1
  253. package/dist/collection/components/tab/tab.js +22 -29
  254. package/dist/collection/components/table/table-body/table-body.css +1 -1
  255. package/dist/collection/components/table/table-body/table-body.js +3 -13
  256. package/dist/collection/components/table/table-cell/table-cell.css +1 -1
  257. package/dist/collection/components/table/table-cell/table-cell.js +3 -12
  258. package/dist/collection/components/table/table-header/table-header.css +1 -1
  259. package/dist/collection/components/table/table-header/table-header.js +3 -13
  260. package/dist/collection/components/table/table-header-cell/table-header-cell.css +1 -1
  261. package/dist/collection/components/table/table-header-cell/table-header-cell.js +3 -13
  262. package/dist/collection/components/table/table-row/table-row.css +1 -1
  263. package/dist/collection/components/table/table-row/table-row.js +3 -13
  264. package/dist/collection/components/table/table.css +1 -1
  265. package/dist/collection/components/table/table.js +25 -32
  266. package/dist/collection/components/tag/tag.css +1 -1
  267. package/dist/collection/components/tag/tag.js +17 -26
  268. package/dist/collection/components/textarea/textarea.css +1 -1
  269. package/dist/collection/components/textarea/textarea.js +14 -22
  270. package/dist/collection/components/tooltip/tooltip.css +1 -1
  271. package/dist/collection/components/tooltip/tooltip.js +13 -19
  272. package/dist/collection/components/upload/upload.css +1 -1
  273. package/dist/collection/components/upload/upload.js +36 -29
  274. package/dist/collection/components/wizard/wizard-panel/wizard-panel.css +1 -1
  275. package/dist/collection/components/wizard/wizard-panel/wizard-panel.js +3 -13
  276. package/dist/collection/components/wizard/wizard.css +1 -1
  277. package/dist/collection/components/wizard/wizard.js +22 -26
  278. package/dist/collection/pages/components/select/remote-options.js +87 -0
  279. package/dist/collection/shared/utils/slot.js +1 -1
  280. package/dist/components/br-avatar.js +1 -1
  281. package/dist/components/br-breadcrumb-item.js +1 -1
  282. package/dist/components/br-breadcrumb.js +1 -1
  283. package/dist/components/br-button.js +1 -1
  284. package/dist/components/br-card.js +1 -1
  285. package/dist/components/br-carousel-page.js +1 -1
  286. package/dist/components/br-carousel.js +1 -1
  287. package/dist/components/br-checkbox-group.js +1 -1
  288. package/dist/components/br-checkbox.js +1 -1
  289. package/dist/components/br-checkgroup.js +1 -1
  290. package/dist/components/br-collapse.js +1 -1
  291. package/dist/components/br-cookiebar-cookie.js +1 -1
  292. package/dist/components/br-cookiebar-group.js +1 -1
  293. package/dist/components/br-cookiebar-header.js +1 -1
  294. package/dist/components/br-cookiebar-link.js +1 -1
  295. package/dist/components/br-cookiebar-note-group.js +1 -1
  296. package/dist/components/br-cookiebar-note.js +1 -1
  297. package/dist/components/br-cookiebar.js +1 -1
  298. package/dist/components/br-crumb.js +1 -1
  299. package/dist/components/br-date-picker.js +1 -1
  300. package/dist/components/br-datetime-input.js +1 -1
  301. package/dist/components/br-datetime-picker.js +1 -1
  302. package/dist/components/br-divider.js +1 -1
  303. package/dist/components/br-dropdown.js +1 -1
  304. package/dist/components/br-footer-category.js +1 -1
  305. package/dist/components/br-footer-item.js +1 -1
  306. package/dist/components/br-footer-legal.js +1 -1
  307. package/dist/components/br-footer-logo.js +1 -1
  308. package/dist/components/br-footer-social.js +1 -1
  309. package/dist/components/br-footer.js +1 -1
  310. package/dist/components/br-header-function.js +1 -1
  311. package/dist/components/br-header-link.js +1 -1
  312. package/dist/components/br-header-list.js +1 -1
  313. package/dist/components/br-header-logo.js +1 -1
  314. package/dist/components/br-header.js +1 -1
  315. package/dist/components/br-icon.js +1 -1
  316. package/dist/components/br-input.js +1 -1
  317. package/dist/components/br-item.js +1 -1
  318. package/dist/components/br-link.js +1 -1
  319. package/dist/components/br-list.js +1 -1
  320. package/dist/components/br-loading.js +1 -1
  321. package/dist/components/br-magic-button.js +1 -1
  322. package/dist/components/br-menu-group.js +1 -1
  323. package/dist/components/br-menu-header.js +1 -1
  324. package/dist/components/br-menu-info.js +1 -1
  325. package/dist/components/br-menu-item.js +1 -1
  326. package/dist/components/br-menu-link.js +1 -1
  327. package/dist/components/br-menu-list.js +1 -1
  328. package/dist/components/br-menu-logo.js +1 -1
  329. package/dist/components/br-menu-social.js +1 -1
  330. package/dist/components/br-menu.js +1 -1
  331. package/dist/components/br-message.js +1 -1
  332. package/dist/components/br-modal.js +1 -1
  333. package/dist/components/br-notification-body.js +1 -1
  334. package/dist/components/br-notification-header.js +1 -1
  335. package/dist/components/br-notification-item.js +1 -1
  336. package/dist/components/br-notification.js +1 -1
  337. package/dist/components/br-pagination.js +1 -1
  338. package/dist/components/br-radio-group.js +1 -1
  339. package/dist/components/br-radio.js +1 -1
  340. package/dist/components/br-scrim.js +1 -1
  341. package/dist/components/br-select-input.js +1 -1
  342. package/dist/components/br-select-list.js +1 -1
  343. package/dist/components/br-select-option.js +1 -1
  344. package/dist/components/br-select.js +1 -1
  345. package/dist/components/br-sign-in.js +1 -1
  346. package/dist/components/br-skip-link-item.js +1 -1
  347. package/dist/components/br-skip-link.js +1 -1
  348. package/dist/components/br-skiplink-item.js +1 -1
  349. package/dist/components/br-slider.js +1 -1
  350. package/dist/components/br-step-item.js +1 -1
  351. package/dist/components/br-step.js +1 -1
  352. package/dist/components/br-switch.js +1 -1
  353. package/dist/components/br-tab-item.js +1 -1
  354. package/dist/components/br-tab.js +1 -1
  355. package/dist/components/br-table-body.js +1 -1
  356. package/dist/components/br-table-cell.js +1 -1
  357. package/dist/components/br-table-header-cell.js +1 -1
  358. package/dist/components/br-table-header.js +1 -1
  359. package/dist/components/br-table-row.js +1 -1
  360. package/dist/components/br-table.js +1 -1
  361. package/dist/components/br-tag.js +1 -1
  362. package/dist/components/br-textarea.js +1 -1
  363. package/dist/components/br-time-picker.js +1 -1
  364. package/dist/components/br-tooltip.js +1 -1
  365. package/dist/components/br-upload.js +1 -1
  366. package/dist/components/br-wizard-panel.js +1 -1
  367. package/dist/components/br-wizard.js +1 -1
  368. package/dist/components/index.js +1 -1
  369. package/dist/components/p-448Z5r2f.js +5 -0
  370. package/dist/{webcomponents/p-5f422a69.entry.js → components/p-AhfgJCUp.js} +1 -1
  371. package/dist/components/p-AoNL6BaW.js +5 -0
  372. package/dist/components/p-B468MCYC.js +5 -0
  373. package/dist/components/p-B7bNfmgh.js +5 -0
  374. package/dist/components/p-B985Ov_x.js +5 -0
  375. package/dist/components/p-BOWQIHQA.js +5 -0
  376. package/dist/components/p-BPQrgCRr.js +5 -0
  377. package/dist/components/p-BwQT0fOJ.js +5 -0
  378. package/dist/components/p-CAgbUwsx.js +5 -0
  379. package/dist/components/p-CFXey8i8.js +5 -0
  380. package/dist/components/p-CVz_akHx.js +5 -0
  381. package/dist/components/p-CW8xwk6J.js +5 -0
  382. package/dist/components/p-CYZVdKeO.js +5 -0
  383. package/dist/components/p-C_DC6oQW.js +16 -0
  384. package/dist/components/p-CeWbZN7V.js +5 -0
  385. package/dist/components/p-CyXVsiz9.js +5 -0
  386. package/dist/components/p-DDe0tQEO.js +5 -0
  387. package/dist/components/{p-CZZVc2gK.js → p-DJKZ8ktB.js} +1 -1
  388. package/dist/components/p-DRsZ9GNg.js +5 -0
  389. package/dist/components/p-DU54cqCf.js +5 -0
  390. package/dist/components/p-DVJlmlEX.js +5 -0
  391. package/dist/components/p-DcMjwTqu.js +5 -0
  392. package/dist/components/p-Dd1qCWAK.js +5 -0
  393. package/dist/components/p-Dn36Mj2E.js +5 -0
  394. package/dist/components/p-DoWy_P8b.js +5 -0
  395. package/dist/components/p-HbhTnepI.js +5 -0
  396. package/dist/components/{p-BcqVlof7.js → p-JkJjzmGm.js} +1 -1
  397. package/dist/components/{p-Nze3Utvd.js → p-Or3FLzbz.js} +1 -1
  398. package/dist/components/p-SWQlgYWR.js +5 -0
  399. package/dist/components/p-Zb9nyfTY.js +5 -0
  400. package/dist/components/p-jvKQA6x7.js +5 -0
  401. package/dist/components/p-pQb-3jFY.js +5 -0
  402. package/dist/components/p-qX6sHxOk.js +5 -0
  403. package/dist/esm/br-avatar.entry.js +3 -3
  404. package/dist/esm/br-breadcrumb-item.entry.js +1 -1
  405. package/dist/esm/br-breadcrumb.entry.js +3 -3
  406. package/dist/esm/br-button_2.entry.js +4 -4
  407. package/dist/esm/br-card.entry.js +3 -3
  408. package/dist/esm/br-carousel-page.entry.js +2 -2
  409. package/dist/esm/br-carousel.entry.js +3 -3
  410. package/dist/esm/br-checkbox-group.entry.js +3 -3
  411. package/dist/esm/br-checkbox.entry.js +5 -5
  412. package/dist/esm/br-checkgroup.entry.js +1 -1
  413. package/dist/esm/br-collapse_2.entry.js +6 -6
  414. package/dist/esm/br-cookiebar-cookie.entry.js +2 -2
  415. package/dist/esm/br-cookiebar-group.entry.js +2 -2
  416. package/dist/esm/br-cookiebar-header.entry.js +2 -2
  417. package/dist/esm/br-cookiebar-link.entry.js +2 -2
  418. package/dist/esm/br-cookiebar-note-group.entry.js +1 -1
  419. package/dist/esm/br-cookiebar-note.entry.js +2 -2
  420. package/dist/esm/br-cookiebar.entry.js +4 -4
  421. package/dist/esm/br-crumb.entry.js +1 -1
  422. package/dist/esm/br-date-picker_3.entry.js +966 -527
  423. package/dist/esm/br-datetime-picker.entry.js +1316 -280
  424. package/dist/esm/br-divider.entry.js +3 -3
  425. package/dist/esm/br-dropdown_2.entry.js +281 -138
  426. package/dist/esm/br-footer-category.entry.js +3 -3
  427. package/dist/esm/br-footer-item.entry.js +2 -2
  428. package/dist/esm/br-footer-legal.entry.js +2 -2
  429. package/dist/esm/br-footer-logo.entry.js +2 -2
  430. package/dist/esm/br-footer-social.entry.js +2 -2
  431. package/dist/esm/br-footer.entry.js +4 -4
  432. package/dist/esm/br-header-function.entry.js +2 -2
  433. package/dist/esm/br-header-link.entry.js +2 -2
  434. package/dist/esm/br-header-list.entry.js +3 -3
  435. package/dist/esm/br-header-logo.entry.js +2 -2
  436. package/dist/esm/br-header.entry.js +2 -2
  437. package/dist/esm/br-icon.entry.js +3 -3
  438. package/dist/esm/br-input.entry.js +65 -11
  439. package/dist/esm/br-item.entry.js +3 -3
  440. package/dist/esm/br-link.entry.js +8 -8
  441. package/dist/esm/br-loading.entry.js +2 -2
  442. package/dist/esm/br-magic-button.entry.js +2 -2
  443. package/dist/esm/br-menu-group.entry.js +2 -2
  444. package/dist/esm/br-menu-header.entry.js +2 -2
  445. package/dist/esm/br-menu-info.entry.js +2 -2
  446. package/dist/esm/br-menu-item.entry.js +2 -2
  447. package/dist/esm/br-menu-link.entry.js +2 -2
  448. package/dist/esm/br-menu-list.entry.js +1 -1
  449. package/dist/esm/br-menu-logo.entry.js +2 -2
  450. package/dist/esm/br-menu-social.entry.js +1 -1
  451. package/dist/esm/br-menu.entry.js +5 -5
  452. package/dist/esm/br-modal.entry.js +1 -1
  453. package/dist/esm/br-notification-body.entry.js +2 -2
  454. package/dist/esm/br-notification-header.entry.js +2 -2
  455. package/dist/esm/br-notification-item.entry.js +2 -2
  456. package/dist/esm/br-notification.entry.js +4 -4
  457. package/dist/esm/br-pagination.entry.js +3 -3
  458. package/dist/esm/br-radio-group.entry.js +5 -5
  459. package/dist/esm/br-radio.entry.js +5 -5
  460. package/dist/esm/br-scrim.entry.js +3 -3
  461. package/dist/esm/br-select-input_3.entry.js +308 -101
  462. package/dist/esm/br-sign-in.entry.js +3 -3
  463. package/dist/esm/br-skip-link-item.entry.js +1 -1
  464. package/dist/esm/br-skip-link.entry.js +2 -2
  465. package/dist/esm/br-skiplink-item.entry.js +2 -2
  466. package/dist/esm/br-slider.entry.js +4 -4
  467. package/dist/esm/br-step_2.entry.js +6 -6
  468. package/dist/esm/br-switch.entry.js +5 -5
  469. package/dist/esm/br-tab-item.entry.js +2 -2
  470. package/dist/esm/br-tab.entry.js +4 -4
  471. package/dist/esm/br-table-body.entry.js +2 -2
  472. package/dist/esm/br-table-cell.entry.js +2 -2
  473. package/dist/esm/br-table-header-cell.entry.js +2 -2
  474. package/dist/esm/br-table-header.entry.js +2 -2
  475. package/dist/esm/br-table-row.entry.js +2 -2
  476. package/dist/esm/br-table.entry.js +2 -2
  477. package/dist/esm/br-tag.entry.js +5 -5
  478. package/dist/esm/br-textarea.entry.js +4 -4
  479. package/dist/esm/br-tooltip.entry.js +3 -3
  480. package/dist/esm/br-upload.entry.js +6 -22
  481. package/dist/esm/br-wizard-panel.entry.js +2 -2
  482. package/dist/esm/br-wizard.entry.js +2 -2
  483. package/dist/esm/{datetime-picker-constants-BtRPYRvA.js → datetime-picker-constants-1l4_-FEJ.js} +20 -6
  484. package/dist/esm/{event-CfuJQ1DY.js → event-6Da1SZ3J.js} +1 -1
  485. package/dist/esm/format-bytes-B7bNfmgh.js +22 -0
  486. package/dist/esm/{iconify-icon-D3usVJE2.js → iconify-icon-C_DC6oQW.js} +103 -57
  487. package/dist/esm/{index-BQPOWxe5.js → index-BQRBKuY0.js} +75 -28
  488. package/dist/esm/index-ConyRdJe.js +14 -14
  489. package/dist/esm/index.js +2 -2
  490. package/dist/esm/{datetime-picker-props-validation-BeTcUTnE.js → isValid-wU7S6MI2.js} +2 -477
  491. package/dist/esm/loader.js +1 -1
  492. package/dist/esm/select.utils-BYsh2ZdE.js +57 -0
  493. package/dist/esm/{slot-BIG-yees.js → slot-Bt01zQ7-.js} +1 -1
  494. package/dist/esm/webcomponents.js +1 -1
  495. package/dist/hydrate/index.js +4459 -3577
  496. package/dist/hydrate/index.mjs +4459 -3577
  497. package/dist/types/components/avatar/avatar.d.ts +20 -20
  498. package/dist/types/components/breadcrumb/breadcrumb-item/breadcrumb-item.d.ts +3 -11
  499. package/dist/types/components/breadcrumb/breadcrumb.d.ts +30 -25
  500. package/dist/types/components/breadcrumb/crumb/crumb.d.ts +1 -12
  501. package/dist/types/components/button/button.d.ts +20 -20
  502. package/dist/types/components/card/card.d.ts +19 -21
  503. package/dist/types/components/carousel/carousel-page/carousel-page.d.ts +2 -12
  504. package/dist/types/components/carousel/carousel.d.ts +22 -29
  505. package/dist/types/components/checkbox/checkbox.d.ts +16 -22
  506. package/dist/types/components/checkbox-group/checkbox-group.d.ts +17 -18
  507. package/dist/types/components/checkgroup/checkgroup.d.ts +1 -13
  508. package/dist/types/components/collapse/collapse.d.ts +24 -20
  509. package/dist/types/components/cookiebar/cookiebar-cookie/cookiebar-cookie.d.ts +2 -15
  510. package/dist/types/components/cookiebar/cookiebar-group/cookiebar-group.d.ts +2 -15
  511. package/dist/types/components/cookiebar/cookiebar-header/cookiebar-header.d.ts +2 -15
  512. package/dist/types/components/cookiebar/cookiebar-link/cookiebar-link.d.ts +2 -14
  513. package/dist/types/components/cookiebar/cookiebar-note/cookiebar-note.d.ts +2 -13
  514. package/dist/types/components/cookiebar/cookiebar-note-group/cookiebar-note-group.d.ts +2 -13
  515. package/dist/types/components/cookiebar/cookiebar.d.ts +30 -25
  516. package/dist/types/components/datetime-picker/date-picker/date-picker-locale.d.ts +20 -12
  517. package/dist/types/components/datetime-picker/date-picker/date-picker-props-validation.d.ts +14 -13
  518. package/dist/types/components/datetime-picker/date-picker/date-picker.d.ts +313 -164
  519. package/dist/types/components/datetime-picker/datetime-input/datetime-input-constants.d.ts +14 -0
  520. package/dist/types/components/datetime-picker/datetime-input/datetime-input-props-validation.d.ts +19 -15
  521. package/dist/types/components/datetime-picker/datetime-input/datetime-input.d.ts +226 -105
  522. package/dist/types/components/datetime-picker/datetime-input/datetime-input.types.d.ts +36 -0
  523. package/dist/types/components/datetime-picker/datetime-picker-constants.d.ts +19 -5
  524. package/dist/types/components/datetime-picker/datetime-picker-form-associated.d.ts +32 -5
  525. package/dist/types/components/datetime-picker/datetime-picker-props-validation.d.ts +22 -24
  526. package/dist/types/components/datetime-picker/datetime-picker.d.ts +510 -241
  527. package/dist/types/components/datetime-picker/datetime-picker.types.d.ts +75 -21
  528. package/dist/types/components/datetime-picker/datetime-picker.utils.d.ts +53 -47
  529. package/dist/types/components/datetime-picker/time-picker/time-picker-constants.d.ts +3 -2
  530. package/dist/types/components/datetime-picker/time-picker/time-picker.d.ts +123 -62
  531. package/dist/types/components/divider/divider.d.ts +14 -18
  532. package/dist/types/components/dropdown/dropdown.d.ts +21 -20
  533. package/dist/types/components/footer/footer-category/footer-category.d.ts +2 -15
  534. package/dist/types/components/footer/footer-item/footer-item.d.ts +2 -15
  535. package/dist/types/components/footer/footer-legal/footer-legal.d.ts +1 -15
  536. package/dist/types/components/footer/footer-logo/footer-logo.d.ts +2 -15
  537. package/dist/types/components/footer/footer-social/footer-social.d.ts +2 -14
  538. package/dist/types/components/footer/footer.d.ts +23 -27
  539. package/dist/types/components/header/header-function/header-function.d.ts +9 -13
  540. package/dist/types/components/header/header-link/header-link.d.ts +2 -15
  541. package/dist/types/components/header/header-list/header-list.d.ts +2 -15
  542. package/dist/types/components/header/header-logo/header-logo.d.ts +2 -15
  543. package/dist/types/components/header/header.d.ts +29 -26
  544. package/dist/types/components/icon/icon.d.ts +21 -16
  545. package/dist/types/components/input/input.d.ts +48 -23
  546. package/dist/types/components/input/input.types.d.ts +4 -0
  547. package/dist/types/components/item/item.d.ts +17 -21
  548. package/dist/types/components/link/link.d.ts +18 -22
  549. package/dist/types/components/list/list.d.ts +16 -20
  550. package/dist/types/components/loading/loading.d.ts +16 -23
  551. package/dist/types/components/magic-button/magic-button.d.ts +12 -19
  552. package/dist/types/components/menu/menu-group/menu-group.d.ts +2 -15
  553. package/dist/types/components/menu/menu-header/menu-header.d.ts +2 -15
  554. package/dist/types/components/menu/menu-info/menu-info.d.ts +1 -14
  555. package/dist/types/components/menu/menu-item/menu-item.d.ts +2 -15
  556. package/dist/types/components/menu/menu-link/menu-link.d.ts +4 -16
  557. package/dist/types/components/menu/menu-list/menu-list.d.ts +2 -15
  558. package/dist/types/components/menu/menu-logo/menu-logo.d.ts +1 -14
  559. package/dist/types/components/menu/menu-social/menu-social.d.ts +2 -15
  560. package/dist/types/components/menu/menu.d.ts +25 -32
  561. package/dist/types/components/message/message.d.ts +21 -24
  562. package/dist/types/components/modal/modal.d.ts +18 -21
  563. package/dist/types/components/notification/notification-body/notification-body.d.ts +2 -12
  564. package/dist/types/components/notification/notification-header/notification-header.d.ts +2 -13
  565. package/dist/types/components/notification/notification-item/notification-item.d.ts +2 -15
  566. package/dist/types/components/notification/notification.d.ts +18 -27
  567. package/dist/types/components/pagination/pagination.d.ts +13 -21
  568. package/dist/types/components/radio/radio.d.ts +15 -18
  569. package/dist/types/components/radio-group/radio-group.d.ts +18 -18
  570. package/dist/types/components/scrim/scrim.d.ts +12 -15
  571. package/dist/types/components/select/select-input/select-input.d.ts +20 -12
  572. package/dist/types/components/select/select-list/select-list.d.ts +27 -14
  573. package/dist/types/components/select/select-option/select-option.d.ts +6 -10
  574. package/dist/types/components/select/select.d.ts +75 -87
  575. package/dist/types/components/select/select.types.d.ts +12 -0
  576. package/dist/types/components/select/select.utils.d.ts +3 -0
  577. package/dist/types/components/sign-in/sign-in.d.ts +11 -15
  578. package/dist/types/components/skip-link/skip-link-item/skip-link-item-alias.d.ts +7 -3
  579. package/dist/types/components/skip-link/skip-link-item/skip-link-item.d.ts +4 -14
  580. package/dist/types/components/skip-link/skip-link.d.ts +17 -23
  581. package/dist/types/components/slider/slider.d.ts +14 -24
  582. package/dist/types/components/step/step-item/step-item.d.ts +2 -12
  583. package/dist/types/components/step/step.d.ts +15 -24
  584. package/dist/types/components/switch/switch.d.ts +14 -18
  585. package/dist/types/components/tab/tab-item/tab-item.d.ts +4 -14
  586. package/dist/types/components/tab/tab.d.ts +19 -26
  587. package/dist/types/components/table/table-body/table-body.d.ts +2 -12
  588. package/dist/types/components/table/table-cell/table-cell.d.ts +2 -11
  589. package/dist/types/components/table/table-header/table-header.d.ts +2 -12
  590. package/dist/types/components/table/table-header-cell/table-header-cell.d.ts +2 -12
  591. package/dist/types/components/table/table-row/table-row.d.ts +2 -12
  592. package/dist/types/components/table/table.d.ts +24 -31
  593. package/dist/types/components/tag/tag.d.ts +15 -24
  594. package/dist/types/components/textarea/textarea.d.ts +13 -21
  595. package/dist/types/components/tooltip/tooltip.d.ts +12 -18
  596. package/dist/types/components/upload/upload.d.ts +20 -27
  597. package/dist/types/components/wizard/wizard-panel/wizard-panel.d.ts +2 -12
  598. package/dist/types/components/wizard/wizard.d.ts +21 -25
  599. package/dist/types/components.d.ts +3586 -5062
  600. package/dist/webcomponents/index.esm.js +1 -1
  601. package/dist/webcomponents/p-031a2256.entry.js +5 -0
  602. package/dist/webcomponents/p-0602e5b1.entry.js +5 -0
  603. package/dist/webcomponents/p-079d5f69.entry.js +5 -0
  604. package/dist/webcomponents/p-087ed5e7.entry.js +5 -0
  605. package/dist/webcomponents/p-0d5a9ebf.entry.js +5 -0
  606. package/dist/webcomponents/p-105b4d06.entry.js +5 -0
  607. package/dist/webcomponents/p-11d4edc5.entry.js +5 -0
  608. package/dist/webcomponents/p-12dd22af.entry.js +5 -0
  609. package/dist/webcomponents/p-14aedf0d.entry.js +5 -0
  610. package/dist/webcomponents/p-152482f9.entry.js +5 -0
  611. package/dist/webcomponents/p-19b4b1b7.entry.js +5 -0
  612. package/dist/webcomponents/p-1cd1126e.entry.js +5 -0
  613. package/dist/webcomponents/{p-BtRPYRvA.js → p-1l4_-FEJ.js} +1 -1
  614. package/dist/webcomponents/p-21e10074.entry.js +5 -0
  615. package/dist/webcomponents/p-2271ea84.entry.js +5 -0
  616. package/dist/webcomponents/p-271b1ede.entry.js +5 -0
  617. package/dist/webcomponents/p-28f732fc.entry.js +5 -0
  618. package/dist/webcomponents/{p-c1dafd8d.entry.js → p-2971d38a.entry.js} +1 -1
  619. package/dist/{components/p-DOJ1vYOl.js → webcomponents/p-2ac48875.entry.js} +1 -1
  620. package/dist/webcomponents/p-2b1a919c.entry.js +5 -0
  621. package/dist/webcomponents/p-2da57966.entry.js +5 -0
  622. package/dist/webcomponents/p-2e81b0b3.entry.js +5 -0
  623. package/dist/webcomponents/p-2eececed.entry.js +5 -0
  624. package/dist/webcomponents/{p-513ee754.entry.js → p-2f904c4a.entry.js} +1 -1
  625. package/dist/webcomponents/p-32414f1c.entry.js +5 -0
  626. package/dist/webcomponents/{p-5a7c2031.entry.js → p-324afbce.entry.js} +1 -1
  627. package/dist/webcomponents/p-32ea6342.entry.js +5 -0
  628. package/dist/webcomponents/p-330ec8ab.entry.js +5 -0
  629. package/dist/webcomponents/p-374f83b1.entry.js +5 -0
  630. package/dist/webcomponents/p-3926cc91.entry.js +5 -0
  631. package/dist/webcomponents/p-39a7826d.entry.js +5 -0
  632. package/dist/webcomponents/p-3bcc2c58.entry.js +5 -0
  633. package/dist/webcomponents/p-3c7ce0e4.entry.js +5 -0
  634. package/dist/webcomponents/p-467842ca.entry.js +5 -0
  635. package/dist/webcomponents/p-53550e8c.entry.js +5 -0
  636. package/dist/webcomponents/p-53e71a8a.entry.js +5 -0
  637. package/dist/webcomponents/p-5528b466.entry.js +5 -0
  638. package/dist/webcomponents/p-55e0822d.entry.js +5 -0
  639. package/dist/webcomponents/p-58bacbe1.entry.js +5 -0
  640. package/dist/webcomponents/p-5a5ed7d8.entry.js +5 -0
  641. package/dist/webcomponents/p-621f0fa8.entry.js +5 -0
  642. package/dist/webcomponents/p-6514a75d.entry.js +5 -0
  643. package/dist/webcomponents/{p-19a38e20.entry.js → p-678b43a6.entry.js} +1 -1
  644. package/dist/webcomponents/{p-CfuJQ1DY.js → p-6Da1SZ3J.js} +1 -1
  645. package/dist/webcomponents/p-6b6be415.entry.js +5 -0
  646. package/dist/webcomponents/{p-0d2ca2f7.entry.js → p-6d58ab4f.entry.js} +1 -1
  647. package/dist/webcomponents/p-6ff9b26e.entry.js +5 -0
  648. package/dist/webcomponents/p-84dfbfdd.entry.js +5 -0
  649. package/dist/webcomponents/{p-d5d2205c.entry.js → p-85c8d060.entry.js} +1 -1
  650. package/dist/webcomponents/p-913d6f28.entry.js +5 -0
  651. package/dist/webcomponents/{p-94848046.entry.js → p-975ea5c7.entry.js} +1 -1
  652. package/dist/webcomponents/p-992167bc.entry.js +5 -0
  653. package/dist/webcomponents/p-B7bNfmgh.js +5 -0
  654. package/dist/webcomponents/p-BYsh2ZdE.js +5 -0
  655. package/dist/webcomponents/p-C_DC6oQW.js +16 -0
  656. package/dist/webcomponents/{p-DV-iW9Aj.js → p-CpE_G6IZ.js} +1 -1
  657. package/dist/webcomponents/p-DnwERaeQ.js +5 -0
  658. package/dist/webcomponents/p-a21872bf.entry.js +5 -0
  659. package/dist/webcomponents/{p-0b0cf355.entry.js → p-a9f16a65.entry.js} +1 -1
  660. package/dist/webcomponents/p-b8d4ace3.entry.js +5 -0
  661. package/dist/webcomponents/{p-6850e98e.entry.js → p-bbcde1ea.entry.js} +1 -1
  662. package/dist/webcomponents/p-bbf47e78.entry.js +5 -0
  663. package/dist/webcomponents/p-bf35e506.entry.js +5 -0
  664. package/dist/webcomponents/{p-b02a7218.entry.js → p-c09af3cd.entry.js} +1 -1
  665. package/dist/webcomponents/p-c29268b5.entry.js +5 -0
  666. package/dist/webcomponents/p-c3e61c39.entry.js +5 -0
  667. package/dist/webcomponents/{p-b16590fc.entry.js → p-c6b2545a.entry.js} +1 -1
  668. package/dist/webcomponents/{p-b55425b7.entry.js → p-c6f2f17b.entry.js} +1 -1
  669. package/dist/webcomponents/p-cae39e13.entry.js +5 -0
  670. package/dist/webcomponents/p-cb1e08b1.entry.js +5 -0
  671. package/dist/webcomponents/{p-e94a52ac.entry.js → p-cb690a87.entry.js} +1 -1
  672. package/dist/webcomponents/p-d0be7243.entry.js +5 -0
  673. package/dist/webcomponents/p-d191c6e3.entry.js +5 -0
  674. package/dist/webcomponents/p-d205f3fd.entry.js +5 -0
  675. package/dist/webcomponents/p-d3bd2c40.entry.js +5 -0
  676. package/dist/webcomponents/{p-61977114.entry.js → p-dbeea64e.entry.js} +1 -1
  677. package/dist/webcomponents/p-df475129.entry.js +5 -0
  678. package/dist/webcomponents/p-e0ccf189.entry.js +5 -0
  679. package/dist/webcomponents/p-e121429a.entry.js +5 -0
  680. package/dist/webcomponents/p-e4b968b5.entry.js +5 -0
  681. package/dist/webcomponents/p-e661c024.entry.js +5 -0
  682. package/dist/webcomponents/p-e6c6f305.entry.js +5 -0
  683. package/dist/webcomponents/p-e8291be2.entry.js +5 -0
  684. package/dist/webcomponents/p-eb5806c7.entry.js +5 -0
  685. package/dist/webcomponents/{p-82759002.entry.js → p-ed3fa8ec.entry.js} +1 -1
  686. package/dist/webcomponents/p-f9084f16.entry.js +5 -0
  687. package/dist/webcomponents/{p-4118b878.entry.js → p-fad3aa61.entry.js} +1 -1
  688. package/dist/webcomponents/webcomponents.esm.js +1 -1
  689. package/package.json +2 -2
  690. package/dist/collection/pages/components/select/remote.js +0 -33
  691. package/dist/collection/pages/components/select/virtualized.js +0 -13
  692. package/dist/components/p-0qmYp77w.js +0 -5
  693. package/dist/components/p-5c3rNBXh.js +0 -5
  694. package/dist/components/p-B8oIvH3q.js +0 -5
  695. package/dist/components/p-BECz8XWJ.js +0 -5
  696. package/dist/components/p-BM4Ys6hX.js +0 -5
  697. package/dist/components/p-BXWh9s7p.js +0 -5
  698. package/dist/components/p-BblZlUp2.js +0 -5
  699. package/dist/components/p-Bezou5CQ.js +0 -5
  700. package/dist/components/p-BjeUETWJ.js +0 -5
  701. package/dist/components/p-Cd6udSDt.js +0 -5
  702. package/dist/components/p-Ci0_RqAE.js +0 -5
  703. package/dist/components/p-CuBgClZm.js +0 -5
  704. package/dist/components/p-D0QYZSoP.js +0 -5
  705. package/dist/components/p-D3usVJE2.js +0 -16
  706. package/dist/components/p-D4SWpW6-.js +0 -5
  707. package/dist/components/p-D579DS7x.js +0 -5
  708. package/dist/components/p-D8K7rhHd.js +0 -5
  709. package/dist/components/p-D9nXlCuS.js +0 -5
  710. package/dist/components/p-DKFO6Q_g.js +0 -5
  711. package/dist/components/p-DNJSSCNi.js +0 -5
  712. package/dist/components/p-DYI30IZL.js +0 -5
  713. package/dist/components/p-DcVldfL0.js +0 -5
  714. package/dist/components/p-DhvmHPp4.js +0 -5
  715. package/dist/components/p-DwgiHL0b.js +0 -5
  716. package/dist/components/p-WxDB6Dk4.js +0 -5
  717. package/dist/components/p-ZLoeVagg.js +0 -5
  718. package/dist/components/p-gbYJ9sfc.js +0 -5
  719. package/dist/components/p-uc8ABlC_.js +0 -5
  720. package/dist/components/p-v60ypfxD.js +0 -5
  721. package/dist/webcomponents/p-078bd760.entry.js +0 -5
  722. package/dist/webcomponents/p-07c2cdff.entry.js +0 -5
  723. package/dist/webcomponents/p-09817344.entry.js +0 -5
  724. package/dist/webcomponents/p-0d79ca44.entry.js +0 -5
  725. package/dist/webcomponents/p-0fe3c47b.entry.js +0 -5
  726. package/dist/webcomponents/p-116b53c9.entry.js +0 -5
  727. package/dist/webcomponents/p-1240dae7.entry.js +0 -5
  728. package/dist/webcomponents/p-14ff5865.entry.js +0 -5
  729. package/dist/webcomponents/p-15743a02.entry.js +0 -5
  730. package/dist/webcomponents/p-16cebf49.entry.js +0 -5
  731. package/dist/webcomponents/p-1884b9d3.entry.js +0 -5
  732. package/dist/webcomponents/p-1d36c8fa.entry.js +0 -5
  733. package/dist/webcomponents/p-1fa4b5b2.entry.js +0 -5
  734. package/dist/webcomponents/p-212c069b.entry.js +0 -5
  735. package/dist/webcomponents/p-23f37cd6.entry.js +0 -5
  736. package/dist/webcomponents/p-24502b63.entry.js +0 -5
  737. package/dist/webcomponents/p-27fb81f3.entry.js +0 -5
  738. package/dist/webcomponents/p-28844490.entry.js +0 -5
  739. package/dist/webcomponents/p-2b41bdcc.entry.js +0 -5
  740. package/dist/webcomponents/p-2cb1e09b.entry.js +0 -5
  741. package/dist/webcomponents/p-2fcda70b.entry.js +0 -5
  742. package/dist/webcomponents/p-3378300c.entry.js +0 -5
  743. package/dist/webcomponents/p-3ae9cf69.entry.js +0 -5
  744. package/dist/webcomponents/p-3b79cd49.entry.js +0 -5
  745. package/dist/webcomponents/p-3c1513ec.entry.js +0 -5
  746. package/dist/webcomponents/p-4534a3c3.entry.js +0 -5
  747. package/dist/webcomponents/p-48abf568.entry.js +0 -5
  748. package/dist/webcomponents/p-4e5ea05c.entry.js +0 -5
  749. package/dist/webcomponents/p-521a1076.entry.js +0 -5
  750. package/dist/webcomponents/p-59fc52c0.entry.js +0 -5
  751. package/dist/webcomponents/p-5a9f4ea2.entry.js +0 -5
  752. package/dist/webcomponents/p-71853dfc.entry.js +0 -5
  753. package/dist/webcomponents/p-76d51654.entry.js +0 -5
  754. package/dist/webcomponents/p-77e242f3.entry.js +0 -5
  755. package/dist/webcomponents/p-7b849472.entry.js +0 -5
  756. package/dist/webcomponents/p-7dbfb875.entry.js +0 -5
  757. package/dist/webcomponents/p-7fa7f052.entry.js +0 -5
  758. package/dist/webcomponents/p-81c65747.entry.js +0 -5
  759. package/dist/webcomponents/p-91a5329f.entry.js +0 -5
  760. package/dist/webcomponents/p-966773a9.entry.js +0 -5
  761. package/dist/webcomponents/p-9abb5a53.entry.js +0 -5
  762. package/dist/webcomponents/p-9bf2e325.entry.js +0 -5
  763. package/dist/webcomponents/p-9c943b40.entry.js +0 -5
  764. package/dist/webcomponents/p-9ec3ca00.entry.js +0 -5
  765. package/dist/webcomponents/p-B0PbhaxL.js +0 -5
  766. package/dist/webcomponents/p-D3usVJE2.js +0 -16
  767. package/dist/webcomponents/p-ad91f149.entry.js +0 -5
  768. package/dist/webcomponents/p-aeea1f17.entry.js +0 -5
  769. package/dist/webcomponents/p-c2ca0289.entry.js +0 -5
  770. package/dist/webcomponents/p-c8af334e.entry.js +0 -5
  771. package/dist/webcomponents/p-cac49c6a.entry.js +0 -5
  772. package/dist/webcomponents/p-cb9ebfbe.entry.js +0 -5
  773. package/dist/webcomponents/p-ce3d689c.entry.js +0 -5
  774. package/dist/webcomponents/p-d11f95a0.entry.js +0 -5
  775. package/dist/webcomponents/p-dad03b49.entry.js +0 -5
  776. package/dist/webcomponents/p-db8e6322.entry.js +0 -5
  777. package/dist/webcomponents/p-dea8015f.entry.js +0 -5
  778. package/dist/webcomponents/p-e07e309d.entry.js +0 -5
  779. package/dist/webcomponents/p-e53d874b.entry.js +0 -5
  780. package/dist/webcomponents/p-e5540387.entry.js +0 -5
  781. package/dist/webcomponents/p-e9be4d3f.entry.js +0 -5
  782. package/dist/webcomponents/p-e9db9381.entry.js +0 -5
  783. package/dist/webcomponents/p-edca5de1.entry.js +0 -5
  784. package/dist/webcomponents/p-ee5b9fc9.entry.js +0 -5
  785. package/dist/webcomponents/p-f4ef8c63.entry.js +0 -5
  786. /package/dist/components/{p-5z6jgH1D.js → p-BNckUhK6.js} +0 -0
  787. /package/dist/webcomponents/{p-BIG-yees.js → p-Bt01zQ7-.js} +0 -0
@@ -1,41 +1,42 @@
1
1
  import { type EventEmitter } from '../../stencil-public-runtime';
2
2
  import { type FormValidationState } from '../../shared/utils/form';
3
3
  import { type FormValidationChangeDetail } from '../../shared/utils/validator';
4
- import type { DatetimePickerDateRange, DatetimePickerDateState, DatetimePickerDisabledDate, DatetimePickerDisabledDates, DatetimePickerInitialMoment, DatetimePickerLocale, DatetimePickerMode, DatetimePickerSelectionMode, DatetimePickerValidator, DatetimePickerWeekDayIndex } from './datetime-picker.types';
4
+ import type { DatetimePickerChangeDetail, DatetimePickerDateRange, DatetimePickerDateState, DatetimePickerDisabledDate, DatetimePickerDisabledDates, DatetimePickerInitialMoment, DatetimePickerLocale, DatetimePickerMode, DatetimePickerSelectionMode, DatetimePickerValidator, DatetimePickerWeekDayIndex } from './datetime-picker.types';
5
5
  /**
6
- * O componente `br-datetime-picker` é o orquestrador completo do GovBR-DS para seleção e digitação de datas, horários ou intervalos combinados. Ele integra-se nativamente a formulários HTML via `formAssociated` e oferece suporte WAI-ARIA para diálogos e calendários.
6
+ * O `br-datetime-picker` é um campo para informar data, hora ou data e hora. A pessoa pode digitar ou escolher no calendário e nos controles de horário.
7
7
  *
8
- * ### Para que serve
8
+ * Escolha o tipo em `mode`: `date`, `time` ou `datetime`. Para início e fim, use `selection-mode="range"`.
9
9
  *
10
- * - **Seleção completa de data e horário:** Reúne em um único controle o campo de entrada com máscara formatada (`br-datetime-input`), o calendário de seleção de datas (`br-date-picker`) e o seletor de horários (`br-time-picker`).
11
- * - **Múltiplos modos operacionais:** Suporta data simples, intervalo de datas (`range`), apenas hora (`time`), data e hora combinadas (`datetime`) e datas múltiplas.
12
- * - **Validação e formulários nativos:** Valida datas mínimas (`min`), máximas (`max`), formatos permitidos e comunica valores estruturados diretamente ao formulário pai.
10
+ * ```html
11
+ * <br-datetime-picker mode="date" name="nascimento" required></br-datetime-picker>
13
12
  *
14
- * ### Quando utilizar
13
+ * <br-datetime-picker mode="date" selection-mode="range" name="periodo"></br-datetime-picker>
14
+ * ```
15
15
  *
16
- * - **Utilize quando:**
17
- * - O formulário exigir preenchimento de datas ou horários onde tanto a digitação manual rápida quanto a exploração visual no calendário agreguem valor à experiência.
18
- * - For necessário selecionar um período com data de início e fim.
19
- * - **Evite e prefira outro componente quando:**
20
- * - A data for estritamente de nascimento ou emissão de documento onde a pessoa usuária sabe os dígitos de cor e prefere digitar apenas números (prefira `br-input` com máscara numérica).
16
+ * ### Ler o valor
21
17
  *
22
- * ### Composição e Subcomponentes
18
+ * | Onde | Formato |
19
+ * | --- | --- |
20
+ * | `value` | `Date` (ou `null`) |
21
+ * | `rangeValue` | `{ start, end }` com `Date` |
22
+ * | `serialized-value` e envio do formulário | `2026-05-20` (data), `14:30` (hora), `2026-05-20T14:30:00-03:00` (data e hora), `início/fim` (intervalo) |
23
23
  *
24
- * | Subcomponente | Papel | Regra de uso |
25
- * | --- | --- | --- |
26
- * | `br-datetime-picker` | **Orquestrador principal.** Gerencia valor consolidado, validação, abertura do popup e sincronização entre input e calendário. | Deve ser o único controle declarado no template da aplicação na quase totalidade dos casos. |
27
- * | `br-datetime-input` | **Campo com máscara.** Exibe o valor formatado e permite digitação manual. | Coordenado automaticamente pelo pai; use avulso apenas em composições customizadas. |
28
- * | `br-date-picker` | **Calendário de datas.** Painel visual com grade de dias, meses e anos. | Coordenado pelo pai; use avulso se precisar de calendário estático embutido. |
29
- * | `br-time-picker` | **Seletor de horário.** Controle de escolha de horas e minutos. | Coordenado pelo pai; use avulso se precisar apenas de seletor de hora sem data. |
24
+ * Atribua valores do tipo `Date` pelo JavaScript (`picker.value = new Date()`), não por atributo. Para restringir datas, use `min`, `max` e `disabled-dates`.
30
25
  *
31
- * ### Como os subcomponentes se relacionam
26
+ * ### Quando usar
32
27
  *
33
- * O `br-datetime-picker` funciona como o modelo pronto: ele instancia e sincroniza internamente o campo textual (`br-datetime-input`) e os seletores visuais suspensos (`br-date-picker` e/ou `br-time-picker`). A aplicação consome os eventos unificados emitidos diretamente pelo orquestrador pai (`change`, `input`).
28
+ * - Formulários que pedem uma data, um horário ou um período.
34
29
  *
35
- * Para a documentação completa de design, incluindo diretrizes de acessibilidade e especificações visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/datetime-picker?tab=designer).
30
+ * ### Quando evitar
36
31
  *
37
-
38
- * @category Formulários, Seleção
32
+ * - Para só exibir uma data: use texto formatado.
33
+ * - Para escolher várias datas soltas: o componente aceita uma data ou um intervalo.
34
+ *
35
+ * O calendário (`br-date-picker`), os controles de horário (`br-time-picker`) e o campo de texto (`br-datetime-input`) são criados pelo próprio componente; não é preciso declará-los.
36
+ *
37
+ * Consulte as [diretrizes de design do GovBR](https://www.gov.br/ds/components/datetimepicker?tab=designer).
38
+ *
39
+ * @category Formulários
39
40
  * @status stable
40
41
  * @slot feedback - Mensagem de validação, normalmente um `br-message`.
41
42
  * @part container - Parte para o container base do seletor.
@@ -48,220 +49,313 @@ import type { DatetimePickerDateRange, DatetimePickerDateState, DatetimePickerDi
48
49
  export declare class DatetimePicker {
49
50
  /** Fornece acesso à API de formulários nativos via ElementInternals. */
50
51
  elementInternals: ElementInternals;
51
- formDisabledCallback(disabled: boolean): void;
52
- /** API nativa de reset de form-associated custom elements. */
53
- formResetCallback(): void;
54
- /** API nativa de restauração de estado (histórico/autofill) do formulário. */
55
- formStateRestoreCallback(state: string | File | FormData | null): void;
56
52
  /** Referência ao elemento host do componente no DOM. */
57
53
  el: HTMLBrDatetimePickerElement;
58
54
  /**
59
- * Controla se o conteúdo do picker está visível.
60
- */
61
- private isPickerOpen;
62
- private formDisabled;
63
- private hasFeedbackSlot;
64
- private customValidationMessage;
65
- private validatorMessage;
66
- private isValidating;
67
- private readonly feedbackId;
68
- /** Lista normalizada de datas indisponíveis para seleção. */
69
- private normalizedDisabledDates;
70
- /** Data final selecionada no modo de intervalo. */
71
- private rangeEnd;
72
- /** Data inicial selecionada no modo de intervalo. */
73
- private rangeStart;
74
- /**
75
- * Mantém a data de referência que orienta a navegação visual do calendário.
76
- */
77
- private referenceDate;
78
- /**
79
- * Define o modo de seleção exibido pelo componente: data, horário ou ambos.
55
+ * Modo exibido pelo componente.
80
56
  *
81
- * Valores aceitos: `date`, `time` ou `datetime`.
82
- * Valores inválidos são corrigidos automaticamente para o valor padrão,
83
- * mantendo o atributo refletido sempre consistente com o modo exibido.
57
+ * Valores: `date` | `time` | `datetime`.
58
+ * Valores inválidos são normalizados para o padrão.
84
59
  *
85
60
  * @default 'datetime'
86
61
  */
87
62
  mode: DatetimePickerMode;
88
63
  /**
89
- * Define o locale usado pelos subcomponentes para formatar datas e rótulos.
64
+ * Locale usado para formatação e rótulos.
90
65
  *
91
66
  * @default 'pt-BR'
92
67
  */
93
68
  locale: DatetimePickerLocale;
94
69
  /**
95
- * Define o placeholder exibido no campo de entrada do datetime picker.
70
+ * Texto placeholder exibido no input.
96
71
  *
97
72
  * @default ''
98
73
  */
99
74
  placeholder: string;
100
- /** Nome do campo para submissão em formulários nativos. */
75
+ /**
76
+ * Nome do campo para submissão em formulários nativos.
77
+ *
78
+ * @default ''
79
+ */
101
80
  name: string;
102
- /** Indica se o campo deve ter valor antes do envio do formulário. */
81
+ /**
82
+ * Indica se o campo é requerido para submissão do formulário.
83
+ *
84
+ * @default false
85
+ */
103
86
  required: boolean;
104
87
  /**
105
- * Menor data/horário aceito, interpretado conforme `mode`. Valores inválidos são ignorados.
106
- * Aceita texto no atributo HTML ou uma instância de `Date` por property binding.
88
+ * Menor data/hora aceito (Date | string | null).
107
89
  *
108
- * @example
109
- * ```html
110
- * <br-datetime-picker mode="date" min="2026-01-01"></br-datetime-picker>
111
- * ```
90
+ * @default null
112
91
  */
113
92
  min: Date | string | null;
114
93
  /**
115
- * Maior data/horário aceito, interpretado conforme `mode`. Valores inválidos são ignorados.
116
- * Aceita texto no atributo HTML ou uma instância de `Date` por property binding.
94
+ * Maior data/hora aceito (Date | string | null).
117
95
  *
118
- * @example
119
- * ```html
120
- * <br-datetime-picker mode="date" max="2026-12-31"></br-datetime-picker>
121
- * ```
96
+ * @default null
122
97
  */
123
98
  max: Date | string | null;
124
99
  /**
125
- * Regra síncrona ou assíncrona aplicada à data ou intervalo selecionado.
126
- * Retorne uma mensagem para invalidar ou `null` para aceitar o valor.
100
+ * Validador customizado (síncrono ou assíncrono) para a seleção.
101
+ *
102
+ * Recebe `Date | DatetimePickerDateRange | null` como valor.
127
103
  *
128
- * @example
129
- * ```js
130
- * const picker = document.querySelector('br-datetime-picker');
131
- * picker.validator = (value) => value === null ? 'Escolha uma data' : null;
132
- * ```
104
+ * @default undefined
133
105
  */
134
106
  readonly validator?: DatetimePickerValidator;
135
107
  /**
136
- * Define o tipo de seleção de datas para o calendário: única ou intervalo.
108
+ * Tipo de seleção: `single` ou `range`.
137
109
  *
138
- * `range` só funciona em conjunto com `mode="date"`.
139
- * Se `selectionMode="range"` for informado, o componente ajusta automaticamente
140
- * `mode` para `date`. Se `mode` mudar para `time` ou `datetime`, o componente
141
- * normaliza `selectionMode` para `single` quando necessário.
142
- * Valores inválidos usam `single`.
110
+ * @default 'single'
143
111
  */
144
112
  selectionMode: DatetimePickerSelectionMode;
145
113
  /**
146
- * Define o dia inicial da semana exibida no calendário.
147
- *
148
- * Valores suportados: 0 (domingo) a 6 (sábado).
114
+ * Dia inicial da semana exibido no calendário (0 = Dom, 6 = Sáb).
149
115
  *
150
116
  * @default 0
151
117
  */
152
118
  weekStartsOn: DatetimePickerWeekDayIndex;
153
119
  /**
154
- * Define a seleção inicial do componente.
155
- *
156
- * Aceita:
157
- * - `'now'`: seleciona o momento atual.
158
- * - `Date` ou `string`: seleciona uma data arbitrária.
159
- * - `null`: inicia sem seleção.
160
- *
161
- * Reativo em runtime: mudanças na prop atualizam estado e subcomponentes.
120
+ * Valor inicial da seleção: `'now' | Date | string | null`.
162
121
  *
163
122
  * @default null
164
- * @example
165
- * ```html
166
- * <br-datetime-picker initial-moment="now"></br-datetime-picker>
167
- * ```
168
123
  */
169
124
  initialMoment: DatetimePickerInitialMoment;
170
125
  /**
171
- * Instância de `Date` selecionada pelo usuário no modo simples.
172
- * Pode ser controlada por property binding e é atualizada pelo evento `valueChange`.
173
- * Para formulários e atributos textuais, use `serializedValue`.
126
+ * Valor selecionado pelo usuário (Date | null).
127
+ *
128
+ * Pode ser controlado externamente e é refletido internamente.
174
129
  *
175
- * @example
176
- * ```js
177
- * const picker = document.querySelector('br-datetime-picker');
178
- * picker.value = new Date(2026, 8, 7, 14, 30);
179
- * ```
130
+ * @default null
180
131
  */
181
132
  value: Date | null;
182
133
  /**
183
- * Representação serializada compatível com os formatos de controles HTML (`YYYY-MM-DD`, `HH:mm`
184
- * ou ISO local, conforme `mode`). Em intervalos, usa `início/fim`.
134
+ * Representação serializada compatível com controles HTML.
185
135
  *
186
- * Na inicialização, tem precedência sobre `valueAsDate`, `value` e `initialMoment`.
187
- * Uma string vazia inicia sem seleção, mesmo quando outra prop fornece uma data.
136
+ * Formatos variam conforme `mode`. Em intervalos, usa `início/fim`.
188
137
  *
189
- * @example
190
- * ```html
191
- * <br-datetime-picker mode="datetime" serialized-value="2026-09-07T14:30"></br-datetime-picker>
192
- * ```
138
+ * @default undefined
193
139
  */
194
140
  serializedValue?: string;
195
141
  /**
196
- * Espelho tipado da seleção atual, equivalente ao padrão `valueAsDate` dos controles HTML.
197
- * Diferentemente de `serializedValue`, recebe e retorna uma instância de `Date`.
198
- * Na inicialização, tem precedência sobre `value` e `initialMoment` quando `serializedValue`
199
- * não é informado. `null` inicia sem seleção; `undefined` permite usar as outras props.
142
+ * Espelho tipado da seleção atual (`valueAsDate`).
143
+ *
144
+ * @internal Mantém compatibilidade com APIs legadas.
200
145
  *
201
- * @example
202
- * ```js
203
- * const picker = document.querySelector('br-datetime-picker');
204
- * picker.valueAsDate = new Date(2026, 8, 7);
205
- * ```
146
+ * @default undefined
206
147
  */
207
148
  valueAsDate?: Date | null;
208
149
  /**
209
150
  * Intervalo controlado quando `selectionMode="range"`.
210
- * Deve conter datas válidas ou `null` em `start` e `end`; valores inválidos mantêm o último intervalo efetivo.
211
- * Passe o objeto por property binding; atributos HTML não representam objetos com `Date`.
212
- *
213
- * @example
214
- * ```js
215
- * const picker = document.querySelector('br-datetime-picker');
216
- * picker.selectionMode = 'range';
217
- * picker.rangeValue = {
218
- * start: new Date(2026, 8, 7),
219
- * end: new Date(2026, 8, 12),
220
- * };
221
- * ```
151
+ *
152
+ * Em `datetime`, preserva as datas e horários informados; término anterior ao
153
+ * início torna o controle inválido, sem reordenar ou avançar datas.
154
+ *
155
+ * @default undefined
222
156
  */
223
157
  rangeValue?: DatetimePickerDateRange;
224
158
  /**
225
159
  * Desabilita toda a interação do componente.
226
160
  *
227
- * Quando `true`, impede abrir o picker, alterar valores e navegar entre datas/horários.
228
- *
229
161
  * @default false
230
162
  */
231
163
  disabled: boolean;
232
164
  /**
233
- * Define um conjunto de datas indisponíveis para seleção.
165
+ * Datas indisponíveis para seleção. Aceita `Date[]`, `string` ou `null`.
234
166
  *
235
- * Aceita uma lista de `Date` e/ou strings analisáveis, ou uma string com datas
236
- * separadas por espaço em branco. Datas inválidas são ignoradas com warning.
237
- * A comparação considera apenas o dia (ano/mês/dia), ignorando hora.
167
+ * Datas inválidas são ignoradas. A comparação considera apenas o dia.
238
168
  *
239
169
  * @default null
240
- * @example
241
- * ```html
242
- * <br-datetime-picker mode="date" disabled-dates="2026-09-07 2026-09-08"></br-datetime-picker>
243
- * ```
244
- * @example
245
- * ```js
246
- * const picker = document.querySelector('br-datetime-picker');
247
- * picker.disabledDates = [new Date(2026, 8, 7), '2026-09-08'];
248
- * ```
249
170
  */
250
171
  disabledDates: DatetimePickerDisabledDates;
251
172
  /**
252
- * Define se o calendário deve manter um número fixo de linhas (6 semanas = 42 dias)
253
- * ou variar conforme o mês.
254
- *
255
- * Quando `true`, o calendário sempre exibe 6 semanas completas.
256
- * Quando `false`, o calendário adapta-se ao mês, exibindo apenas as semanas necessárias.
173
+ * Mantém número fixo de linhas no calendário (6 semanas) quando `true`.
257
174
  *
258
175
  * @default false
259
176
  */
260
177
  fixedRowCount: boolean;
178
+ /**
179
+ * Controla se o conteúdo do picker está visível.
180
+ *
181
+ * @internal Estado reativo interno; não usar externamente.
182
+ */
183
+ private isPickerOpen;
184
+ /**
185
+ * Indica se o formulário associado desabilitou o componente.
186
+ *
187
+ * @internal Estado reativo interno.
188
+ */
189
+ private formDisabled;
190
+ /**
191
+ * Indica se existe slot `feedback` presente no host.
192
+ *
193
+ * @internal Estado reativo interno.
194
+ */
195
+ private hasFeedbackSlot;
196
+ /**
197
+ * Mensagem de validação customizada definida por `setCustomValidity`.
198
+ *
199
+ * @internal Estado reativo interno.
200
+ */
201
+ private customValidationMessage;
202
+ /**
203
+ * Mensagem retornada pelo validator customizado, se houver.
204
+ *
205
+ * @internal Estado reativo interno.
206
+ */
207
+ private validatorMessage;
208
+ /**
209
+ * Mensagem textual de validação proveniente do input interno.
210
+ *
211
+ * @internal Estado reativo interno.
212
+ */
213
+ private inputValidationMessage;
214
+ /**
215
+ * Indica que o usuário está editando o texto do input e que a validação
216
+ * textual está pendente (mensagem escondida até commit/blur).
217
+ *
218
+ * @internal
219
+ */
220
+ private inputValidationPending;
221
+ /**
222
+ * Indicador de execução do validator assíncrono.
223
+ *
224
+ * @internal Estado reativo interno.
225
+ */
226
+ private isValidating;
227
+ /**
228
+ * Lista normalizada de datas indisponíveis para seleção.
229
+ *
230
+ * @internal Mantida em formato `Date[]` para uso interno pelo calendário.
231
+ */
232
+ private normalizedDisabledDates;
233
+ /**
234
+ * Data final selecionada no modo de intervalo.
235
+ *
236
+ * @internal Estado reativo interno.
237
+ */
238
+ private rangeEnd;
239
+ /**
240
+ * Data inicial selecionada no modo de intervalo.
241
+ *
242
+ * @internal Estado reativo interno.
243
+ */
244
+ private rangeStart;
245
+ /**
246
+ * Data de referência usada para navegação visual (mês/semana exibidos).
247
+ *
248
+ * @internal Controle de navegação do calendário.
249
+ */
250
+ private referenceDate;
251
+ /**
252
+ * Evento público emitido quando a data de referência ou a seleção mudam.
253
+ *
254
+ * Payload (`DatetimePickerDateState`):
255
+ * - `referenceDate`: Date — data usada para navegação visual (mês/semana exibidos).
256
+ * - `value`: Date | null — valor selecionado atualmente.
257
+ *
258
+ * @event dateStateChange
259
+ * @type {CustomEvent<DatetimePickerDateState>}
260
+ */
261
+ dateStateChange: EventEmitter<DatetimePickerDateState>;
262
+ /**
263
+ * Evento emitido quando a seleção muda.
264
+ *
265
+ * Payload (`DatetimePickerChangeDetail`):
266
+ * - `mode`: DatetimePickerMode — modo atual do componente (`date` | `time` | `datetime`).
267
+ * - `selectionMode`: DatetimePickerSelectionMode — `single` ou `range`.
268
+ * - `value`: Date | null | DatetimePickerDateRange — seleção atual (tipo depende de `selectionMode`).
269
+ * - `serializedValue`: string | undefined — representação serializada para integração com formulários.
270
+ *
271
+ * @event brDatetimePickerChange
272
+ * @type {CustomEvent<DatetimePickerChangeDetail>}
273
+ */
274
+ brDatetimePickerChange: EventEmitter<DatetimePickerChangeDetail>;
275
+ /**
276
+ * Evento emitido quando o valor selecionado muda.
277
+ *
278
+ * @deprecated Use `brDatetimePickerChange` para receber a seleção completa e tipada.
279
+ *
280
+ * Payload (legacy): `Date | null` — valor selecionado.
281
+ *
282
+ * @event valueChange
283
+ * @type {CustomEvent<Date | null>}
284
+ */
285
+ valueChange: EventEmitter<Date | null>;
286
+ /**
287
+ * Emitido ao iniciar e concluir a validação customizada.
288
+ *
289
+ * Payload (`FormValidationChangeDetail`):
290
+ * - `validating`: boolean — indica se a validação está em execução.
291
+ * - `valid`: boolean | null — resultado da validação (`null` enquanto valida).
292
+ * - `message`: string | null — mensagem de validação associada.
293
+ *
294
+ * @event brDatetimePickerValidationChange
295
+ * @type {CustomEvent<FormValidationChangeDetail>}
296
+ */
297
+ brDatetimePickerValidationChange: EventEmitter<FormValidationChangeDetail>;
298
+ /**
299
+ * ID único do contêiner de feedback interno.
300
+ * Gerado por `Helpers.generateUniqueId` no momento da criação da instância
301
+ * e usado para associar mensagens de validação ao input interno.
302
+ *
303
+ * @internal
304
+ */
305
+ private readonly feedbackId;
306
+ /**
307
+ * Snapshot da seleção inicial usada para restaurar em reset de formulário.
308
+ * Mantém uma cópia imutável do valor original para `formResetCallback`.
309
+ *
310
+ * @internal
311
+ */
312
+ private initialFormValue;
313
+ /**
314
+ * Contador monótono usado para invalidar execuções assíncronas de validação.
315
+ * Incrementado antes de cada execução; resultados com `runId` diferente são ignorados.
316
+ *
317
+ * @internal
318
+ */
319
+ private validationRunId;
320
+ /**
321
+ * Indica se o componente já completou o ciclo `componentDidLoad`.
322
+ * Evita executar lógica de inicialização mais de uma vez.
323
+ *
324
+ * @internal
325
+ */
326
+ private isInitialized;
327
+ /**
328
+ * Flag para evitar loops de sincronização entre `value`, `valueAsDate` e `serializedValue`.
329
+ * Setada temporariamente durante operações programáticas de sincronização.
330
+ *
331
+ * @internal
332
+ */
333
+ private syncingCanonicalValues;
334
+ /**
335
+ * Flag que sinaliza atualizações internas em `rangeValue`.
336
+ * Usada para distinguir atribuições programáticas de alterações externas.
337
+ *
338
+ * @internal
339
+ */
340
+ private syncingRangeValueInternally;
341
+ /**
342
+ * Mapeia cada modo para a função responsável por renderizar seu conteúdo.
343
+ * Facilita seleção de renderer sem condicionais espalhadas pelo código.
344
+ *
345
+ * @internal
346
+ */
347
+ private readonly modeRendererMap;
348
+ /**
349
+ * Indica se o listener global de clique fora do componente está anexado.
350
+ * Evita anexações/remoções redundantes do mesmo handler.
351
+ *
352
+ * @internal
353
+ */
354
+ private outsideClickListenerAttached;
261
355
  /**
262
356
  * Revalida o modo sempre que a prop mudar.
263
357
  *
264
- * @param newValue - Valor recebido via atributo/prop.
358
+ * @param {string} newValue - Valor recebido via atributo/prop.
265
359
  */
266
360
  handleModeChange(newValue: string): void;
267
361
  /** Revalida o estado do formulário quando required mudar. */
@@ -276,10 +370,13 @@ export declare class DatetimePicker {
276
370
  /**
277
371
  * Aplica ou limpa a seleção da data atual conforme o novo valor da prop.
278
372
  *
279
- * @param newValue - Novo estado da prop.
373
+ * @param {DatetimePickerInitialMoment} newValue - Novo estado da prop.
280
374
  */
281
375
  handleInitialMomentChange(newValue: DatetimePickerInitialMoment): void;
282
376
  /** Sincroniza alterações externas do valor com o estado visual e o formulário nativo. */
377
+ /**
378
+ * @param {Date | null} newValue - Novo valor recebido via prop.
379
+ */
283
380
  handleValueChange(newValue: Date | null): void;
284
381
  /** Converte alterações externas no valor serializado sem mudar o tipo da prop legada `value`. */
285
382
  handleSerializedValueChange(newValue?: string): void;
@@ -293,53 +390,95 @@ export declare class DatetimePicker {
293
390
  */
294
391
  handleDisabledDatesChange(newValue: DatetimePickerDisabledDates): void;
295
392
  handleRangeValueChange(newValue?: DatetimePickerDateRange): void;
296
- /** Evento público emitido quando a data de referência ou a seleção mudam. */
297
- dateStateChange: EventEmitter<DatetimePickerDateState>;
298
- /**
299
- * Evento emitido quando o valor selecionado muda.
300
- * @deprecated Use `input`/`change` e leia `event.target.value`.
301
- */
302
- valueChange: EventEmitter<Date | null>;
303
- /** Emitido ao iniciar e concluir a validação customizada. */
304
- brDatetimePickerValidationChange: EventEmitter<FormValidationChangeDetail>;
305
- /** Registra o listener global somente enquanto o picker está aberto. */
306
393
  connectedCallback(): void;
307
- /** Remove o listener global para evitar vazamento de eventos ao desmontar. */
394
+ componentWillLoad(): void;
395
+ componentDidLoad(): void;
308
396
  disconnectedCallback(): void;
397
+ formDisabledCallback(disabled: boolean): void;
398
+ /** Restaura o estado do componente quando o formulário é restaurado. */
399
+ formResetCallback(): void;
309
400
  /**
310
- * Normaliza o modo antes da primeira renderização e aplica a data atual quando solicitado.
401
+ * Restaura o estado do formulário (autofill / histórico).
402
+ *
403
+ * @param {string | File | FormData | null} state Estado serializado fornecido pelo navegador.
311
404
  */
312
- componentWillLoad(): void;
313
- componentDidLoad(): void;
405
+ formStateRestoreCallback(state: string | File | FormData | null): void;
314
406
  /**
315
- * Define programaticamente as datas desabilitadas por meio de array.
407
+ * Define programaticamente as datas desabilitadas.
316
408
  *
317
- * Útil quando o componente é usado via HTML e o consumidor precisa enviar
318
- * uma lista tipada em runtime.
409
+ * Use quando scripts externos precisam fornecer uma lista tipada de
410
+ * datas a bloquear no calendário. Substitui a prop `disabledDates` para
411
+ * atualizações imperativas.
319
412
  *
320
- * @param dates - Lista de datas (Date|string) a bloquear.
413
+ * @param dates Lista de datas (`Date` | `string`) a bloquear, ou `null` para limpar.
414
+ * @returns Promise<void> — resolve quando a atualização interna for aplicada.
321
415
  */
322
416
  setDisabledDates(dates: DatetimePickerDisabledDate[] | null): Promise<void>;
323
- /** Define o valor atual de forma imperativa aceitando Date, string serializada ou null. */
417
+ /**
418
+ * Define o valor do componente de forma imperativa.
419
+ *
420
+ * Aceita `Date`, string compatível com o `mode`, ou `null` para limpar a seleção.
421
+ * Validação de datas desabilitadas é aplicada antes da atribuição.
422
+ *
423
+ * @param value Date | string | null — valor a aplicar; `null` limpa a seleção.
424
+ * @returns Promise<void> — resolve quando o componente aplicar e sincronizar o valor.
425
+ */
324
426
  setValue(value: Date | string | null): Promise<void>;
325
- /** Retorna uma cópia do valor selecionado atualmente. */
427
+ /**
428
+ * Retorna uma cópia do valor selecionado atualmente.
429
+ *
430
+ * @returns Promise<Date | null> — cópia imutável do `value` atual, ou `null`.
431
+ */
326
432
  getValue(): Promise<Date | null>;
327
- /** Limpa valor e intervalo selecionados. */
433
+ /**
434
+ * Limpa valor e intervalo selecionados.
435
+ *
436
+ * Remove seleção atual e restaura a referência de navegação para a data atual.
437
+ *
438
+ * @returns Promise<void> — resolve após a limpeza e sincronização internas.
439
+ */
328
440
  clear(): Promise<void>;
329
- /** Abre o picker quando o componente estiver habilitado. */
441
+ /**
442
+ * Abre o picker quando o componente estiver habilitado.
443
+ *
444
+ * @returns Promise<void> — resolve quando o estado visual for atualizado.
445
+ */
330
446
  open(): Promise<void>;
331
- /** Fecha o picker. */
447
+ /**
448
+ * Fecha o picker.
449
+ *
450
+ * @returns Promise<void> — resolve após atualização do estado de visibilidade.
451
+ */
332
452
  close(): Promise<void>;
333
- /** Alterna o estado de abertura do picker. */
453
+ /**
454
+ * Alterna o estado de abertura do picker.
455
+ *
456
+ * @returns Promise<void> — resolve quando a transição de estado terminar.
457
+ */
334
458
  toggle(): Promise<void>;
335
- /** Move o foco para o input nativo interno. */
459
+ /**
460
+ * Move o foco para o input nativo interno.
461
+ *
462
+ * @returns Promise<void> — resolve imediatamente após tentar focar o elemento.
463
+ */
336
464
  focusInput(): Promise<void>;
337
- /** Define intervalo de datas de forma imperativa, forçando modo date e selectionMode range. */
465
+ /**
466
+ * Define um intervalo no modo atual e ativa `selectionMode="range"`.
467
+ *
468
+ * Valida datas contra bloqueios e sincroniza estado visual e de formulário.
469
+ * Em `datetime`, mantém os limites informados e sinaliza intervalo inválido
470
+ * quando o término precede o início, sem ajustar datas automaticamente.
471
+ *
472
+ * @param start Date | string | null — data inicial do intervalo.
473
+ * @param end Date | string | null — data final do intervalo.
474
+ * @returns Promise<void> — resolve quando o intervalo for aplicado e sincronizado.
475
+ */
338
476
  setRange(start: Date | string | null, end: Date | string | null): Promise<void>;
339
477
  /**
340
478
  * Retorna o intervalo de datas selecionado quando em modo `selectionMode="range"`.
341
479
  *
342
- * @returns Objeto com datas `start` e `end`, ou `null` se não estiver em modo range.
480
+ * @returns Promise<{ start: Date | null; end: Date | null } | null> — objeto com `start`/`end` ou `null` quando
481
+ * não estiver em modo `range`.
343
482
  */
344
483
  getRange(): Promise<{
345
484
  start: Date | null;
@@ -348,80 +487,150 @@ export declare class DatetimePicker {
348
487
  /**
349
488
  * Consulta se o picker está atualmente aberto.
350
489
  *
351
- * @returns `true` se o picker está visível, `false` caso contrário.
490
+ * @returns Promise<boolean> — `true` se o picker está visível, `false` caso contrário.
352
491
  */
353
492
  isOpen(): Promise<boolean>;
354
- /** Restaura o estado inicial atualmente registrado para reset. */
493
+ /**
494
+ * Restaura o estado inicial atualmente registrado para reset.
495
+ *
496
+ * @returns Promise<void> — resolve quando a seleção inicial for restaurada.
497
+ */
355
498
  resetToInitial(): Promise<void>;
356
- /** Permite que consumidores acionem validação nativa do formulário via host. */
499
+ /**
500
+ * Permite que consumidores acionem validação nativa do formulário via host.
501
+ *
502
+ * @returns Promise<boolean> — resultado da Constraint Validation API para o host.
503
+ */
357
504
  checkValidity(): Promise<boolean>;
358
- /** Permite exibir mensagens nativas de validação no host. */
505
+ /**
506
+ * Permite exibir mensagens nativas de validação no host.
507
+ *
508
+ * @returns Promise<boolean> — `true` se a mensagem foi exibida e o formulário é válido.
509
+ */
359
510
  reportValidity(): Promise<boolean>;
360
- /** Define ou limpa uma mensagem de validade customizada. */
511
+ /**
512
+ * Define ou limpa uma mensagem de validade customizada.
513
+ *
514
+ * @param message string — mensagem de validação; string vazia remove a mensagem.
515
+ * @returns Promise<void> — resolve após sincronizar a validade no host.
516
+ */
361
517
  setCustomValidity(message: string): Promise<void>;
362
- /** Executa o validator do picker e retorna se a seleção atual é válida. */
518
+ /**
519
+ * Executa o validator customizado (se houver) e valida o controle.
520
+ *
521
+ * Emite eventos de início/conclusão da validação e atualiza mensagens internas.
522
+ *
523
+ * @returns Promise<boolean> — `true` se a seleção for considerada válida.
524
+ */
363
525
  validate(): Promise<boolean>;
364
- /** Retorna um snapshot serializável da Constraint Validation API. */
526
+ /**
527
+ * Retorna um snapshot serializável da Constraint Validation API.
528
+ *
529
+ * @returns Promise<FormValidationState> — estado atual de validação do host,
530
+ * pronto para conversão e restauração via `formStateRestoreCallback`.
531
+ */
365
532
  getValidationState(): Promise<FormValidationState>;
366
- /** Snapshot da seleção inicial usada para restaurar em reset de formulário. */
367
- private initialFormValue;
368
- private validationRunId;
369
- private isInitialized;
370
- private syncingCanonicalValues;
371
- /** Mapeia cada modo para a função responsável por renderizar seu conteúdo. */
372
- private readonly modeRendererMap;
373
533
  /**
374
534
  * Valida o modo de seleção e corrige para padrão se inválido.
375
535
  *
376
536
  * @param value - Modo informado pelo consumidor do componente.
377
537
  */
378
538
  private ensureValidSelectionMode;
379
- /**
380
- * Normaliza o modo de seleção logo na inicialização.
381
- */
382
539
  private initializeSelectionMode;
383
- /** Normaliza o dia inicial da semana logo na inicialização. */
384
540
  private initializeWeekStartsOn;
385
- /** Valida o dia inicial da semana e corrige para padrão quando necessário. */
386
- private ensureValidWeekStartsOn;
387
541
  /**
388
- * Limpa o estado do intervalo de datas ao mudar para modo single.
542
+ * Valida o dia inicial da semana e corrige para padrão quando necessário.
543
+ *
544
+ * @param value unknown — valor recebido via prop/atributo a ser normalizado.
389
545
  */
546
+ private ensureValidWeekStartsOn;
390
547
  private clearRangeState;
391
- /** Indica quando o componente está operando em seleção de intervalo por data. */
548
+ /**
549
+ * Materializa os horários exibidos pelos dois timers como limites reais.
550
+ * Assim o range de horário já nasce completo, o input pode representá-lo na
551
+ * primeira renderização e nenhum timer depende da referência do outro.
552
+ */
553
+ private initializeTimeRangeBoundaries;
392
554
  private isRangeDateSelectionMode;
393
555
  /**
394
- * Resolve se o evento público deve ser emitido após um update vindo dos subcomponentes.
556
+ * Decide se um evento público deve ser emitido após atualização vinda de
557
+ * subcomponentes (calendário/relógio).
395
558
  *
396
- * No modo range, o evento externo só é emitido no clique final (quando `end` é definido).
559
+ * @param range DatetimePickerDateRange | undefined — estado parcial do range vindo do subcomponente.
560
+ * @returns boolean — `true` quando o evento deve ser emitido externamente.
397
561
  */
398
562
  private resolvePublicEventEmissionForRange;
399
- /** Resolve a data efetivamente selecionada no evento para validar bloqueio em single/range. */
563
+ /**
564
+ * Resolve a data efetivamente selecionada no evento para validações e bloqueios.
565
+ *
566
+ * @param range DatetimePickerDateRange | undefined — intervalo parcial (quando aplicável).
567
+ * @param value Date | null — valor principal vindo do subcomponente.
568
+ * @returns Date | null — data final a ser considerada para validação.
569
+ */
400
570
  private resolveSelectedDateFromEvent;
401
571
  /**
402
- * Sincroniza o estado local com a emissão dos subcomponentes de data e horário.
572
+ * Handler disparado por `br-datetime-input` para propagar mensagens de
573
+ * validação do input interno para o estado do componente.
403
574
  *
404
- * @param event - Evento com a data de referência e o valor selecionado.
575
+ * @param event CustomEvent<{ valid: boolean; message: string }> — detalhe com `valid` e `message`.
576
+ * @returns void
577
+ */
578
+ private handleInputValidationChange;
579
+ /**
580
+ * Identifica navegação visual que preserva integralmente o range selecionado.
581
+ *
582
+ * @param value Date | null — valor principal do evento.
583
+ * @param range DatetimePickerDateRange | undefined — range parcial do evento.
584
+ * @returns boolean — `true` quando a navegação não altera a seleção atual.
585
+ */
586
+ private isRangeNavigationState;
587
+ /**
588
+ * Consolida um evento cujo valor principal permaneceu inalterado.
589
+ *
590
+ * @param range DatetimePickerDateRange | undefined — estado parcial do range.
591
+ * @param shouldEmitPublicEvent boolean — indica se o evento público deve ser emitido.
592
+ */
593
+ private handleUnchangedDateState;
594
+ /**
595
+ * Emite a seleção parcial de range quando os eventos públicos foram adiados
596
+ * para evitar duplicidade com listeners legados.
597
+ *
598
+ * @param range DatetimePickerDateRange | undefined — snapshot parcial do range.
599
+ * @param shouldEmitPublicEvent boolean — se deve ser emitido publicamente.
600
+ */
601
+ private emitPendingRangeChange;
602
+ /**
603
+ * Handler principal que consolida eventos de `br-date-picker` / `br-time-picker`.
604
+ * Contém lógica de proteção contra valores desabilitados, navegação e emissão
605
+ * de eventos públicos apropriados.
606
+ *
607
+ * @param event CustomEvent<DatetimePickerDateState> — detalhe com `referenceDate`, `value` e `range`.
405
608
  */
406
609
  private handleDateStateChange;
610
+ /**
611
+ * Atualiza somente o horário de um dos limites do intervalo.
612
+ *
613
+ * @param boundary 'start' | 'end' — qual limite será atualizado.
614
+ * @param event CustomEvent<DatetimePickerDateState> — detalhe com novo `value`.
615
+ */
616
+ private handleRangeTimeStateChange;
617
+ private readonly handleRangeStartTimeStateChange;
618
+ private readonly handleRangeEndTimeStateChange;
407
619
  /**
408
620
  * Alterna visibilidade do picker quando o input solicita.
621
+ *
622
+ * @param event Event — evento de toggle vindo do input.
409
623
  */
410
624
  private handleTogglePicker;
411
625
  /**
412
626
  * Fecha o picker quando o clique acontece fora do host.
627
+ *
628
+ * @param event MouseEvent — clique ocorrido no documento.
413
629
  */
414
630
  private handleOutsideClick;
415
- private outsideClickListenerAttached;
416
631
  private attachOutsideClickListener;
417
632
  private detachOutsideClickListener;
418
- /**
419
- * Garante que o componente inicie com um modo suportado.
420
- */
421
633
  private initializeMode;
422
- /**
423
- * Normaliza a coleção de datas desabilitadas na inicialização.
424
- */
425
634
  private initializeDisabledDates;
426
635
  /**
427
636
  * Normaliza e aplica as datas desabilitadas, limpando valor atual quando necessário.
@@ -429,9 +638,6 @@ export declare class DatetimePicker {
429
638
  * @param value - Valor bruto recebido por prop/atributo ou método público.
430
639
  */
431
640
  private syncDisabledDates;
432
- /**
433
- * Aplica a seleção inicial configurada na prop.
434
- */
435
641
  private initializeDefaultValue;
436
642
  /**
437
643
  * Aplica a seleção inicial recebida, com normalização de valores inválidos.
@@ -439,38 +645,99 @@ export declare class DatetimePicker {
439
645
  * @param selection - Configuração de seleção inicial.
440
646
  */
441
647
  private applyInitialMoment;
442
- /** Indica se o estado serializado deve ser interpretado como intervalo. */
443
648
  private isRangeRestoreMode;
444
- /** Restaura estado de intervalo a partir do valor serializado do formulário. */
649
+ /**
650
+ * Restaura estado de intervalo a partir do valor serializado do formulário.
651
+ *
652
+ * @param serializedState string — valor serializado vindo do formulário.
653
+ */
445
654
  private restoreRangeStateFromSerialized;
446
- /** Restaura estado de seleção única a partir do valor serializado do formulário. */
655
+ /**
656
+ * Restaura estado de seleção única a partir do valor serializado do formulário.
657
+ *
658
+ * @param serializedState string — valor serializado vindo do formulário.
659
+ */
447
660
  private restoreSingleStateFromSerialized;
448
- /** Resolve Date|null a partir de valores aceitos pelos métodos públicos. */
661
+ /**
662
+ * Converte entradas aceitas por métodos públicos em `Date | null`.
663
+ *
664
+ * @param value Date | string | null — valor bruto recebido pelo método público.
665
+ * @param mode DatetimePickerMode — modo atual para parsing de strings.
666
+ * @returns Date | null — representação normalizada ou `null` se inválida.
667
+ */
449
668
  private parseMethodValue;
450
- /** Aplica a ponte serializada usando os mesmos parsers já usados por restore de formulário. */
669
+ /**
670
+ * Aplica a ponte serializada usando os mesmos parsers já usados por restore de formulário.
671
+ *
672
+ * @param serializedValue string — valor serializado a ser restaurado.
673
+ */
451
674
  private restoreSerializedValue;
452
- /** Atualiza os nomes canônicos sem emitir eventos adicionais ou criar ciclos de watchers. */
675
+ /** Atualiza os nomes padrão sem emitir eventos adicionais ou criar ciclos de watchers. */
453
676
  private syncCanonicalValues;
454
- /** Retorna o mesmo valor que será submetido pelo ElementInternals. */
677
+ /**
678
+ * Retorna o mesmo valor que será submetido pelo ElementInternals.
679
+ *
680
+ * @returns string — valor serializado pronto para `setFormValue`.
681
+ */
455
682
  private getSerializedValue;
456
683
  private sameDate;
457
- /** Retorna a âncora de validação, ou undefined antes do primeiro render. */
684
+ /**
685
+ * Busca o input nativo interno para ações imperativas de foco.
686
+ *
687
+ * @returns HTMLElement | undefined — elemento `input` nativo interno, quando disponível.
688
+ */
458
689
  private getNativeInputElement;
459
- private datetimeInputElement?;
460
- /** Atualiza estado interno, FormData e validação com uma única chamada. */
690
+ /**
691
+ * Atualiza estado interno, FormData e validação com uma única chamada.
692
+ *
693
+ * @param nextValue Date | null — próximo valor a ser aplicado no componente.
694
+ * @param shouldEmitPublicEvent boolean — controla emissão de eventos públicos.
695
+ * @returns void
696
+ */
461
697
  private setComponentValue;
462
698
  /** Propaga o estado atual consolidado para consumidores externos do componente raiz. */
463
699
  private emitDateStateChange;
464
- /** Expande o intervalo completo e marca quais dias estão desabilitados. */
700
+ /** Emite o contrato público sem expor detalhes incidentais do estado interno. */
701
+ private emitCanonicalChange;
702
+ /**
703
+ * Serializa uma data civil sem conversão para UTC ou mudança de dia.
704
+ *
705
+ * @param value Date — data a serializar (somente componente civil).
706
+ * @returns string — formato `YYYY-MM-DD`.
707
+ */
708
+ private serializeDateOnly;
709
+ /**
710
+ * Serializa um limite do intervalo conforme o modo sem expor objetos Date no payload.
711
+ *
712
+ * @param value Date | null — limite a serializar.
713
+ * @returns string | null — representação serializada do limite ou `null`.
714
+ */
715
+ private serializeRangeBoundary;
716
+ /**
717
+ * Expande o intervalo completo e marca quais dias estão desabilitados.
718
+ *
719
+ * @param start Date — início do intervalo.
720
+ * @param end Date — fim do intervalo.
721
+ * @returns Array<{date: Date, disabled: boolean}> — lista diária com flags.
722
+ */
465
723
  private buildRangeDatesState;
466
- /** Restaura seleção e data de referência a partir de uma data já validada. */
724
+ /**
725
+ * Restaura seleção e data de referência a partir de uma data já validada.
726
+ *
727
+ * @param nextValue Date | null — valor validado a ser restaurado como seleção.
728
+ */
467
729
  private restoreSelection;
468
- /** Atualiza o estado local de intervalo a partir do evento do calendário. */
730
+ /**
731
+ * Atualiza o estado local de intervalo a partir do evento do calendário.
732
+ *
733
+ * @param nextRange DatetimePickerDateRange | undefined — novo snapshot do intervalo.
734
+ */
469
735
  private setRangeState;
470
- /** Mantém ElementInternals sincronizado com estado e regras do componente. */
471
736
  private updateFormInternals;
472
737
  /** Atualiza o valor submetido no FormData do form-associated custom element. */
473
738
  private syncFormValue;
739
+ /** Deriva o erro de ordenação sem modificar os limites escolhidos. */
740
+ private getRangeOrderValidationMessage;
474
741
  /** Espelha a regra de required no mecanismo nativo de validade. */
475
742
  private syncFormValidity;
476
743
  private parseConstraintValue;
@@ -502,24 +769,26 @@ export declare class DatetimePicker {
502
769
  * Agrupa os bindings compartilhados para evitar divergência entre data e horário.
503
770
  */
504
771
  private getSharedDateStateBindings;
772
+ /**
773
+ * Fecha o picker ao pressionar Escape, devolvendo o foco ao input interno.
774
+ *
775
+ * @param event - Evento de teclado disparado em qualquer descendente do componente.
776
+ */
777
+ private handlePickerKeydown;
505
778
  /** Renderiza o campo de entrada responsável por abrir e sincronizar o picker. */
506
779
  private renderInputField;
507
780
  /** Renderiza apenas o seletor de data. */
508
781
  private renderDatePicker;
509
- /** Renderiza apenas o seletor de hora. */
782
+ /** Renderiza um seletor de hora simples ou um limite do intervalo. */
510
783
  private renderTimePicker;
784
+ /** Renderiza os horários inicial e final lado a lado no modo range. */
785
+ private renderRangeTimePickers;
511
786
  /**
512
787
  * Renderiza a combinação de data e horário no modo `datetime`.
513
788
  */
514
789
  private renderDateTimePicker;
515
790
  /** Renderiza o separador visual entre data e hora no modo combinado. */
516
791
  private renderDivider;
517
- /**
518
- * Fecha o picker ao pressionar Escape, devolvendo o foco ao input interno.
519
- *
520
- * @param event - Evento de teclado disparado em qualquer descendente do componente.
521
- */
522
- private handlePickerKeydown;
523
792
  /**
524
793
  * Resolve o conteúdo interno conforme o modo atual do componente.
525
794
  */