@govbr-ds/webcomponents 2.1.0 → 2.1.1

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 (858) hide show
  1. package/cem/custom-elements.json +63 -63
  2. package/dist/cjs/app-globals-DcqHuMBv.js +9 -0
  3. package/dist/cjs/br-avatar.cjs.entry.js +248 -0
  4. package/dist/cjs/br-breadcrumb-item.cjs.entry.js +45 -0
  5. package/dist/cjs/br-breadcrumb.cjs.entry.js +443 -0
  6. package/dist/cjs/br-button_2.cjs.entry.js +280 -0
  7. package/dist/cjs/br-card.cjs.entry.js +111 -0
  8. package/dist/cjs/br-carousel-page.cjs.entry.js +80 -0
  9. package/dist/cjs/br-carousel.cjs.entry.js +565 -0
  10. package/dist/cjs/br-checkbox-group.cjs.entry.js +118 -0
  11. package/dist/cjs/br-checkbox.cjs.entry.js +288 -0
  12. package/dist/cjs/br-checkgroup.cjs.entry.js +20 -0
  13. package/dist/cjs/br-collapse_2.cjs.entry.js +683 -0
  14. package/dist/cjs/br-cookiebar-cookie.cjs.entry.js +83 -0
  15. package/dist/cjs/br-cookiebar-group.cjs.entry.js +309 -0
  16. package/dist/cjs/br-cookiebar-header.cjs.entry.js +39 -0
  17. package/dist/cjs/br-cookiebar-link.cjs.entry.js +54 -0
  18. package/dist/cjs/br-cookiebar-note-group.cjs.entry.js +70 -0
  19. package/dist/cjs/br-cookiebar-note.cjs.entry.js +25 -0
  20. package/dist/cjs/br-cookiebar.cjs.entry.js +758 -0
  21. package/dist/cjs/br-crumb.cjs.entry.js +51 -0
  22. package/dist/cjs/br-date-picker_3.cjs.entry.js +2446 -0
  23. package/dist/cjs/br-datetime-picker.cjs.entry.js +1887 -0
  24. package/dist/cjs/br-divider.cjs.entry.js +225 -0
  25. package/dist/cjs/br-dropdown_2.cjs.entry.js +1856 -0
  26. package/dist/cjs/br-footer-category.cjs.entry.js +102 -0
  27. package/dist/cjs/br-footer-item.cjs.entry.js +52 -0
  28. package/dist/cjs/br-footer-legal.cjs.entry.js +41 -0
  29. package/dist/cjs/br-footer-logo.cjs.entry.js +104 -0
  30. package/dist/cjs/br-footer-social.cjs.entry.js +71 -0
  31. package/dist/cjs/br-footer.cjs.entry.js +92 -0
  32. package/dist/cjs/br-header-function.cjs.entry.js +142 -0
  33. package/dist/cjs/br-header-link.cjs.entry.js +60 -0
  34. package/dist/cjs/br-header-list.cjs.entry.js +279 -0
  35. package/dist/cjs/br-header-logo.cjs.entry.js +177 -0
  36. package/dist/cjs/br-header.cjs.entry.js +642 -0
  37. package/dist/cjs/br-icon.cjs.entry.js +485 -0
  38. package/dist/cjs/br-input.cjs.entry.js +599 -0
  39. package/dist/cjs/br-item.cjs.entry.js +356 -0
  40. package/dist/cjs/br-link.cjs.entry.js +132 -0
  41. package/dist/cjs/br-loading.cjs.entry.js +505 -0
  42. package/dist/cjs/br-magic-button.cjs.entry.js +92 -0
  43. package/dist/cjs/br-menu-group.cjs.entry.js +23 -0
  44. package/dist/cjs/br-menu-header.cjs.entry.js +47 -0
  45. package/dist/cjs/br-menu-info.cjs.entry.js +38 -0
  46. package/dist/cjs/br-menu-item.cjs.entry.js +79 -0
  47. package/dist/cjs/br-menu-link.cjs.entry.js +55 -0
  48. package/dist/cjs/br-menu-list.cjs.entry.js +149 -0
  49. package/dist/cjs/br-menu-logo.cjs.entry.js +75 -0
  50. package/dist/cjs/br-menu-social.cjs.entry.js +65 -0
  51. package/dist/cjs/br-menu.cjs.entry.js +993 -0
  52. package/dist/cjs/br-modal.cjs.entry.js +496 -0
  53. package/dist/cjs/br-notification-body.cjs.entry.js +71 -0
  54. package/dist/cjs/br-notification-header.cjs.entry.js +48 -0
  55. package/dist/cjs/br-notification-item.cjs.entry.js +110 -0
  56. package/dist/cjs/br-notification.cjs.entry.js +334 -0
  57. package/dist/cjs/br-pagination.cjs.entry.js +884 -0
  58. package/dist/cjs/br-radio-group.cjs.entry.js +428 -0
  59. package/dist/cjs/br-radio.cjs.entry.js +357 -0
  60. package/dist/cjs/br-scrim.cjs.entry.js +1336 -0
  61. package/dist/cjs/br-select-input_3.cjs.entry.js +954 -0
  62. package/dist/cjs/br-sign-in.cjs.entry.js +125 -0
  63. package/dist/cjs/br-skip-link-item.cjs.entry.js +20 -0
  64. package/dist/cjs/br-skip-link.cjs.entry.js +362 -0
  65. package/dist/cjs/br-skiplink-item.cjs.entry.js +192 -0
  66. package/dist/cjs/br-slider.cjs.entry.js +688 -0
  67. package/dist/cjs/br-step_2.cjs.entry.js +628 -0
  68. package/dist/cjs/br-switch.cjs.entry.js +245 -0
  69. package/dist/cjs/br-tab-item.cjs.entry.js +185 -0
  70. package/dist/cjs/br-tab.cjs.entry.js +397 -0
  71. package/dist/cjs/br-table-body.cjs.entry.js +37 -0
  72. package/dist/cjs/br-table-cell.cjs.entry.js +184 -0
  73. package/dist/cjs/br-table-header-cell.cjs.entry.js +173 -0
  74. package/dist/cjs/br-table-header.cjs.entry.js +37 -0
  75. package/dist/cjs/br-table-row.cjs.entry.js +81 -0
  76. package/dist/cjs/br-table.cjs.entry.js +680 -0
  77. package/dist/cjs/br-tag.cjs.entry.js +494 -0
  78. package/dist/cjs/br-textarea.cjs.entry.js +306 -0
  79. package/dist/cjs/br-tooltip.cjs.entry.js +627 -0
  80. package/dist/cjs/br-upload.cjs.entry.js +582 -0
  81. package/dist/cjs/br-wizard-panel.cjs.entry.js +54 -0
  82. package/dist/cjs/br-wizard.cjs.entry.js +708 -0
  83. package/dist/cjs/breakpoint-observer-P8veqXg7.js +144 -0
  84. package/dist/cjs/clamp-Co_hWptd.js +25 -0
  85. package/dist/cjs/cookiebar.utils-CB1gQwZ4.js +18 -0
  86. package/dist/cjs/datetime-picker-constants-B5pWeOn1.js +3827 -0
  87. package/dist/cjs/event-CmVdNHxl.js +56 -0
  88. package/dist/cjs/floating-surface-dismiss-ccdiD0KF.js +63 -0
  89. package/dist/cjs/floating-ui-MBI1osio.js +136 -0
  90. package/dist/cjs/floating-ui.dom-BUSTaaxR.js +1715 -0
  91. package/dist/cjs/focus-DuywwJPR.js +30 -0
  92. package/dist/cjs/getNextElement-R9l3JtM9.js +31 -0
  93. package/dist/cjs/iconify-icon-DfODV9bf.js +2307 -0
  94. package/dist/cjs/id-CjRFMzf6.js +20 -0
  95. package/dist/cjs/index-C92n55ch.js +678 -0
  96. package/dist/cjs/index-CRdcutym.js +3287 -0
  97. package/dist/cjs/index.cjs.js +12 -0
  98. package/dist/cjs/isNil-DO5zWc3l.js +19 -0
  99. package/dist/cjs/isValid-Fu3kaWNn.js +3694 -0
  100. package/dist/cjs/loader.cjs.js +17 -0
  101. package/dist/cjs/native-dialog--Ewqm4w0.js +49 -0
  102. package/dist/cjs/navigation-AbzwcRCU.js +25 -0
  103. package/dist/cjs/parts-D5K3ae2C.js +19 -0
  104. package/dist/cjs/props-CScmBvKd.js +24 -0
  105. package/dist/cjs/raf-batcher-yc87a4dS.js +55 -0
  106. package/dist/cjs/slot-DAllytTj.js +48 -0
  107. package/dist/cjs/swipe-BU8_XE9f.js +345 -0
  108. package/dist/cjs/table-constants-BOPSay0B.js +183 -0
  109. package/dist/cjs/validator-CTCajtT9.js +123 -0
  110. package/dist/cjs/webcomponents.cjs.js +50 -0
  111. package/dist/collection/assets/icon-search.svg +6 -0
  112. package/dist/collection/assets/logo-negative.svg +1 -0
  113. package/dist/collection/assets/logo-positive.svg +1 -0
  114. package/dist/collection/assets/wc.svg +1 -0
  115. package/dist/collection/collection-manifest.json +113 -0
  116. package/dist/collection/components/avatar/avatar.css +1 -0
  117. package/dist/collection/components/avatar/avatar.js +589 -0
  118. package/dist/collection/components/avatar/avatar.types.js +1 -0
  119. package/dist/collection/components/breadcrumb/breadcrumb-item/breadcrumb-item.js +166 -0
  120. package/dist/collection/components/breadcrumb/breadcrumb.css +1 -0
  121. package/dist/collection/components/breadcrumb/breadcrumb.js +619 -0
  122. package/dist/collection/components/breadcrumb/breadcrumb.types.js +1 -0
  123. package/dist/collection/components/breadcrumb/crumb/crumb.js +175 -0
  124. package/dist/collection/components/button/button.css +1 -0
  125. package/dist/collection/components/button/button.js +546 -0
  126. package/dist/collection/components/button/button.types.js +1 -0
  127. package/dist/collection/components/card/card.css +1 -0
  128. package/dist/collection/components/card/card.js +225 -0
  129. package/dist/collection/components/carousel/carousel-page/carousel-page.css +1 -0
  130. package/dist/collection/components/carousel/carousel-page/carousel-page.js +195 -0
  131. package/dist/collection/components/carousel/carousel.css +1 -0
  132. package/dist/collection/components/carousel/carousel.js +1217 -0
  133. package/dist/collection/components/carousel/carousel.types.js +1 -0
  134. package/dist/collection/components/checkbox/checkbox.css +1 -0
  135. package/dist/collection/components/checkbox/checkbox.js +823 -0
  136. package/dist/collection/components/checkbox/checkbox.types.js +1 -0
  137. package/dist/collection/components/checkbox-group/checkbox-group.css +1 -0
  138. package/dist/collection/components/checkbox-group/checkbox-group.js +268 -0
  139. package/dist/collection/components/checkgroup/checkgroup.js +166 -0
  140. package/dist/collection/components/collapse/collapse.css +1 -0
  141. package/dist/collection/components/collapse/collapse.js +642 -0
  142. package/dist/collection/components/collapse/collapse.types.js +1 -0
  143. package/dist/collection/components/cookiebar/cookiebar-cookie/cookiebar-cookie.css +1 -0
  144. package/dist/collection/components/cookiebar/cookiebar-cookie/cookiebar-cookie.js +529 -0
  145. package/dist/collection/components/cookiebar/cookiebar-group/cookiebar-group.css +1 -0
  146. package/dist/collection/components/cookiebar/cookiebar-group/cookiebar-group.js +628 -0
  147. package/dist/collection/components/cookiebar/cookiebar-header/cookiebar-header.css +1 -0
  148. package/dist/collection/components/cookiebar/cookiebar-header/cookiebar-header.js +165 -0
  149. package/dist/collection/components/cookiebar/cookiebar-link/cookiebar-link.css +1 -0
  150. package/dist/collection/components/cookiebar/cookiebar-link/cookiebar-link.js +200 -0
  151. package/dist/collection/components/cookiebar/cookiebar-note/cookiebar-note.css +1 -0
  152. package/dist/collection/components/cookiebar/cookiebar-note/cookiebar-note.js +100 -0
  153. package/dist/collection/components/cookiebar/cookiebar-note-group/cookiebar-note-group.css +1 -0
  154. package/dist/collection/components/cookiebar/cookiebar-note-group/cookiebar-note-group.js +172 -0
  155. package/dist/collection/components/cookiebar/cookiebar.css +1 -0
  156. package/dist/collection/components/cookiebar/cookiebar.js +1419 -0
  157. package/dist/collection/components/cookiebar/cookiebar.types.js +1 -0
  158. package/dist/collection/components/cookiebar/cookiebar.utils.js +14 -0
  159. package/dist/collection/components/datetime-picker/date-picker/date-picker-locale.js +94 -0
  160. package/dist/collection/components/datetime-picker/date-picker/date-picker-props-validation.js +57 -0
  161. package/dist/collection/components/datetime-picker/date-picker/date-picker.css +1 -0
  162. package/dist/collection/components/datetime-picker/date-picker/date-picker.js +913 -0
  163. package/dist/collection/components/datetime-picker/datetime-input/datetime-input-props-validation.js +65 -0
  164. package/dist/collection/components/datetime-picker/datetime-input/datetime-input.css +1 -0
  165. package/dist/collection/components/datetime-picker/datetime-input/datetime-input.js +825 -0
  166. package/dist/collection/components/datetime-picker/datetime-picker-constants.js +36 -0
  167. package/dist/collection/components/datetime-picker/datetime-picker-form-associated.js +112 -0
  168. package/dist/collection/components/datetime-picker/datetime-picker-props-validation.js +202 -0
  169. package/dist/collection/components/datetime-picker/datetime-picker.css +1 -0
  170. package/dist/collection/components/datetime-picker/datetime-picker.js +1925 -0
  171. package/dist/collection/components/datetime-picker/datetime-picker.types.js +1 -0
  172. package/dist/collection/components/datetime-picker/datetime-picker.utils.js +250 -0
  173. package/dist/collection/components/datetime-picker/time-picker/time-picker-constants.js +13 -0
  174. package/dist/collection/components/datetime-picker/time-picker/time-picker.css +1 -0
  175. package/dist/collection/components/datetime-picker/time-picker/time-picker.js +456 -0
  176. package/dist/collection/components/divider/divider.css +1 -0
  177. package/dist/collection/components/divider/divider.js +537 -0
  178. package/dist/collection/components/divider/divider.types.js +1 -0
  179. package/dist/collection/components/dropdown/dropdown.css +1 -0
  180. package/dist/collection/components/dropdown/dropdown.js +939 -0
  181. package/dist/collection/components/dropdown/dropdown.types.js +1 -0
  182. package/dist/collection/components/footer/footer-category/footer-category.css +1 -0
  183. package/dist/collection/components/footer/footer-category/footer-category.js +160 -0
  184. package/dist/collection/components/footer/footer-item/footer-item.css +1 -0
  185. package/dist/collection/components/footer/footer-item/footer-item.js +154 -0
  186. package/dist/collection/components/footer/footer-legal/footer-legal.css +1 -0
  187. package/dist/collection/components/footer/footer-legal/footer-legal.js +75 -0
  188. package/dist/collection/components/footer/footer-logo/footer-logo.css +1 -0
  189. package/dist/collection/components/footer/footer-logo/footer-logo.js +342 -0
  190. package/dist/collection/components/footer/footer-logo/footer-logo.types.js +1 -0
  191. package/dist/collection/components/footer/footer-social/footer-social.css +1 -0
  192. package/dist/collection/components/footer/footer-social/footer-social.js +239 -0
  193. package/dist/collection/components/footer/footer.css +1 -0
  194. package/dist/collection/components/footer/footer.js +245 -0
  195. package/dist/collection/components/footer/footer.types.js +1 -0
  196. package/dist/collection/components/global.types.js +1 -0
  197. package/dist/collection/components/header/header-function/header-function.css +1 -0
  198. package/dist/collection/components/header/header-function/header-function.js +311 -0
  199. package/dist/collection/components/header/header-link/header-link.css +1 -0
  200. package/dist/collection/components/header/header-link/header-link.js +189 -0
  201. package/dist/collection/components/header/header-list/header-list.css +1 -0
  202. package/dist/collection/components/header/header-list/header-list.js +452 -0
  203. package/dist/collection/components/header/header-logo/header-logo.css +1 -0
  204. package/dist/collection/components/header/header-logo/header-logo.js +420 -0
  205. package/dist/collection/components/header/header.css +1 -0
  206. package/dist/collection/components/header/header.js +1131 -0
  207. package/dist/collection/components/header/header.types.js +1 -0
  208. package/dist/collection/components/icon/default-icons-cache.js +233 -0
  209. package/dist/collection/components/icon/icon.css +1 -0
  210. package/dist/collection/components/icon/icon.js +598 -0
  211. package/dist/collection/components/icon/icon.types.js +1 -0
  212. package/dist/collection/components/icon/icon.utils.js +33 -0
  213. package/dist/collection/components/input/input.css +1 -0
  214. package/dist/collection/components/input/input.js +1642 -0
  215. package/dist/collection/components/input/input.types.js +1 -0
  216. package/dist/collection/components/item/item.css +1 -0
  217. package/dist/collection/components/item/item.js +906 -0
  218. package/dist/collection/components/item/item.types.js +1 -0
  219. package/dist/collection/components/link/link.css +1 -0
  220. package/dist/collection/components/link/link.js +698 -0
  221. package/dist/collection/components/list/list.css +1 -0
  222. package/dist/collection/components/list/list.js +728 -0
  223. package/dist/collection/components/loading/loading.css +1 -0
  224. package/dist/collection/components/loading/loading.js +1169 -0
  225. package/dist/collection/components/loading/loading.types.js +1 -0
  226. package/dist/collection/components/magic-button/magic-button.css +1 -0
  227. package/dist/collection/components/magic-button/magic-button.js +237 -0
  228. package/dist/collection/components/menu/menu-group/menu-group.css +1 -0
  229. package/dist/collection/components/menu/menu-group/menu-group.js +77 -0
  230. package/dist/collection/components/menu/menu-header/menu-header.css +1 -0
  231. package/dist/collection/components/menu/menu-header/menu-header.js +161 -0
  232. package/dist/collection/components/menu/menu-info/menu-info.css +1 -0
  233. package/dist/collection/components/menu/menu-info/menu-info.js +94 -0
  234. package/dist/collection/components/menu/menu-item/menu-item.css +1 -0
  235. package/dist/collection/components/menu/menu-item/menu-item.js +306 -0
  236. package/dist/collection/components/menu/menu-item/menu-item.types.js +1 -0
  237. package/dist/collection/components/menu/menu-link/menu-link.css +1 -0
  238. package/dist/collection/components/menu/menu-link/menu-link.js +259 -0
  239. package/dist/collection/components/menu/menu-list/menu-list.css +1 -0
  240. package/dist/collection/components/menu/menu-list/menu-list.js +311 -0
  241. package/dist/collection/components/menu/menu-logo/menu-logo.css +1 -0
  242. package/dist/collection/components/menu/menu-logo/menu-logo.js +230 -0
  243. package/dist/collection/components/menu/menu-social/menu-social.css +1 -0
  244. package/dist/collection/components/menu/menu-social/menu-social.js +263 -0
  245. package/dist/collection/components/menu/menu.css +1 -0
  246. package/dist/collection/components/menu/menu.js +1372 -0
  247. package/dist/collection/components/menu/menu.types.js +1 -0
  248. package/dist/collection/components/menu/menu.utils.js +279 -0
  249. package/dist/collection/components/message/message.css +1 -0
  250. package/dist/collection/components/message/message.js +508 -0
  251. package/dist/collection/components/modal/modal.css +1 -0
  252. package/dist/collection/components/modal/modal.js +842 -0
  253. package/dist/collection/components/modal/modal.types.js +1 -0
  254. package/dist/collection/components/notification/notification-body/notification-body.css +1 -0
  255. package/dist/collection/components/notification/notification-body/notification-body.js +153 -0
  256. package/dist/collection/components/notification/notification-header/notification-header.css +1 -0
  257. package/dist/collection/components/notification/notification-header/notification-header.js +181 -0
  258. package/dist/collection/components/notification/notification-item/notification-item.css +1 -0
  259. package/dist/collection/components/notification/notification-item/notification-item.js +351 -0
  260. package/dist/collection/components/notification/notification-item/notification-item.types.js +1 -0
  261. package/dist/collection/components/notification/notification.css +1 -0
  262. package/dist/collection/components/notification/notification.js +838 -0
  263. package/dist/collection/components/notification/notification.types.js +1 -0
  264. package/dist/collection/components/pagination/pagination.css +1 -0
  265. package/dist/collection/components/pagination/pagination.js +1470 -0
  266. package/dist/collection/components/pagination/pagination.types.js +1 -0
  267. package/dist/collection/components/radio/radio.css +1 -0
  268. package/dist/collection/components/radio/radio.js +847 -0
  269. package/dist/collection/components/radio/radio.types.js +1 -0
  270. package/dist/collection/components/radio-group/radio-group.css +1 -0
  271. package/dist/collection/components/radio-group/radio-group.js +862 -0
  272. package/dist/collection/components/radio-group/radio-group.types.js +1 -0
  273. package/dist/collection/components/scrim/scrim.css +1 -0
  274. package/dist/collection/components/scrim/scrim.js +1825 -0
  275. package/dist/collection/components/scrim/scrim.types.js +1 -0
  276. package/dist/collection/components/scrim/scrim.utils.js +132 -0
  277. package/dist/collection/components/select/select-input/select-input.css +1 -0
  278. package/dist/collection/components/select/select-input/select-input.js +585 -0
  279. package/dist/collection/components/select/select-list/select-list.css +1 -0
  280. package/dist/collection/components/select/select-list/select-list.js +1147 -0
  281. package/dist/collection/components/select/select-option/select-option.css +1 -0
  282. package/dist/collection/components/select/select-option/select-option.js +543 -0
  283. package/dist/collection/components/select/select.constants.js +6 -0
  284. package/dist/collection/components/select/select.css +1 -0
  285. package/dist/collection/components/select/select.js +2575 -0
  286. package/dist/collection/components/select/select.types.js +1 -0
  287. package/dist/collection/components/sign-in/sign-in.css +1 -0
  288. package/dist/collection/components/sign-in/sign-in.js +400 -0
  289. package/dist/collection/components/sign-in/sign-in.types.js +1 -0
  290. package/dist/collection/components/skip-link/skip-link-item/skip-link-item-alias.js +103 -0
  291. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.css +1 -0
  292. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js +450 -0
  293. package/dist/collection/components/skip-link/skip-link.css +1 -0
  294. package/dist/collection/components/skip-link/skip-link.js +699 -0
  295. package/dist/collection/components/skip-link/skip-link.types.js +1 -0
  296. package/dist/collection/components/slider/slider.css +1 -0
  297. package/dist/collection/components/slider/slider.js +1325 -0
  298. package/dist/collection/components/slider/slider.types.js +1 -0
  299. package/dist/collection/components/step/step-item/step-item.css +1 -0
  300. package/dist/collection/components/step/step-item/step-item.js +604 -0
  301. package/dist/collection/components/step/step-item/step-item.types.js +1 -0
  302. package/dist/collection/components/step/step.css +1 -0
  303. package/dist/collection/components/step/step.js +896 -0
  304. package/dist/collection/components/step/step.types.js +1 -0
  305. package/dist/collection/components/switch/switch.css +1 -0
  306. package/dist/collection/components/switch/switch.js +715 -0
  307. package/dist/collection/components/switch/switch.types.js +1 -0
  308. package/dist/collection/components/tab/tab-item/tab-item.css +1 -0
  309. package/dist/collection/components/tab/tab-item/tab-item.js +425 -0
  310. package/dist/collection/components/tab/tab.css +1 -0
  311. package/dist/collection/components/tab/tab.js +724 -0
  312. package/dist/collection/components/tab/tab.types.js +1 -0
  313. package/dist/collection/components/table/table-body/table-body.css +1 -0
  314. package/dist/collection/components/table/table-body/table-body.js +51 -0
  315. package/dist/collection/components/table/table-cell/table-cell.css +1 -0
  316. package/dist/collection/components/table/table-cell/table-cell.js +373 -0
  317. package/dist/collection/components/table/table-constants.js +171 -0
  318. package/dist/collection/components/table/table-header/table-header.css +1 -0
  319. package/dist/collection/components/table/table-header/table-header.js +51 -0
  320. package/dist/collection/components/table/table-header-cell/table-header-cell.css +1 -0
  321. package/dist/collection/components/table/table-header-cell/table-header-cell.js +402 -0
  322. package/dist/collection/components/table/table-row/table-row.css +1 -0
  323. package/dist/collection/components/table/table-row/table-row.js +261 -0
  324. package/dist/collection/components/table/table-tokens.js +50 -0
  325. package/dist/collection/components/table/table-types.js +1 -0
  326. package/dist/collection/components/table/table-utils.js +44 -0
  327. package/dist/collection/components/table/table.css +1 -0
  328. package/dist/collection/components/table/table.js +1030 -0
  329. package/dist/collection/components/tag/tag.css +1 -0
  330. package/dist/collection/components/tag/tag.js +1153 -0
  331. package/dist/collection/components/tag/tag.types.js +1 -0
  332. package/dist/collection/components/textarea/textarea.css +1 -0
  333. package/dist/collection/components/textarea/textarea.js +985 -0
  334. package/dist/collection/components/textarea/textarea.types.js +1 -0
  335. package/dist/collection/components/tooltip/tooltip.css +1 -0
  336. package/dist/collection/components/tooltip/tooltip.js +1024 -0
  337. package/dist/collection/components/tooltip/tooltip.types.js +1 -0
  338. package/dist/collection/components/upload/upload.css +1 -0
  339. package/dist/collection/components/upload/upload.js +1315 -0
  340. package/dist/collection/components/upload/upload.types.js +1 -0
  341. package/dist/collection/components/wizard/wizard-panel/wizard-panel.css +1 -0
  342. package/dist/collection/components/wizard/wizard-panel/wizard-panel.js +167 -0
  343. package/dist/collection/components/wizard/wizard.css +1 -0
  344. package/dist/collection/components/wizard/wizard.js +1228 -0
  345. package/dist/collection/index.js +14 -0
  346. package/dist/collection/pages/components/cookiebar/index.js +26 -0
  347. package/dist/collection/pages/components/link/index.js +29 -0
  348. package/dist/collection/pages/components/pagination/index.js +12 -0
  349. package/dist/collection/pages/components/slider/index.js +18 -0
  350. package/dist/collection/pages/scripts/code-editor.js +101 -0
  351. package/dist/collection/pages/scripts/component-controls.js +591 -0
  352. package/dist/collection/pages/scripts/dev-event-console.js +47 -0
  353. package/dist/collection/pages/scripts/menu.js +183 -0
  354. package/dist/collection/pages/scripts/pageLoader.js +1420 -0
  355. package/dist/collection/shared/utils/assetsPath.js +75 -0
  356. package/dist/collection/shared/utils/breakpoint-observer.js +139 -0
  357. package/dist/collection/shared/utils/clamp.js +21 -0
  358. package/dist/collection/shared/utils/css-variables.js +12 -0
  359. package/dist/collection/shared/utils/cssVariables.js +37 -0
  360. package/dist/collection/shared/utils/date.js +405 -0
  361. package/dist/collection/shared/utils/debounce.js +39 -0
  362. package/dist/collection/shared/utils/event.js +55 -0
  363. package/dist/collection/shared/utils/floating-surface-dismiss.js +59 -0
  364. package/dist/collection/shared/utils/floating-ui.js +131 -0
  365. package/dist/collection/shared/utils/focus.js +24 -0
  366. package/dist/collection/shared/utils/form.js +82 -0
  367. package/dist/collection/shared/utils/format-bytes.js +20 -0
  368. package/dist/collection/shared/utils/getNextElement.js +30 -0
  369. package/dist/collection/shared/utils/getRandom.js +27 -0
  370. package/dist/collection/shared/utils/helpers.js +31 -0
  371. package/dist/collection/shared/utils/id.js +16 -0
  372. package/dist/collection/shared/utils/index.js +60 -0
  373. package/dist/collection/shared/utils/interfaces.js +1 -0
  374. package/dist/collection/shared/utils/isClient.js +14 -0
  375. package/dist/collection/shared/utils/isDefined.js +19 -0
  376. package/dist/collection/shared/utils/isEmpty.js +30 -0
  377. package/dist/collection/shared/utils/isHTMLElement.js +16 -0
  378. package/dist/collection/shared/utils/isNil.js +15 -0
  379. package/dist/collection/shared/utils/isString.js +20 -0
  380. package/dist/collection/shared/utils/native-dialog.js +44 -0
  381. package/dist/collection/shared/utils/navigation.js +21 -0
  382. package/dist/collection/shared/utils/parts.js +15 -0
  383. package/dist/collection/shared/utils/prop-warning.js +7 -0
  384. package/dist/collection/shared/utils/props.js +37 -0
  385. package/dist/collection/shared/utils/raf-batcher.js +51 -0
  386. package/dist/collection/shared/utils/scrollLock.js +141 -0
  387. package/dist/collection/shared/utils/setRafTimeout.js +38 -0
  388. package/dist/collection/shared/utils/slot.js +113 -0
  389. package/dist/collection/shared/utils/ssr-date.js +33 -0
  390. package/dist/collection/shared/utils/stringToArray.js +29 -0
  391. package/dist/collection/shared/utils/swipe.js +342 -0
  392. package/dist/collection/shared/utils/transition.js +127 -0
  393. package/dist/collection/shared/utils/types.js +1 -0
  394. package/dist/collection/shared/utils/validator.js +51 -0
  395. package/dist/collection/value-accessors/angular-value-accessor-config.js +41 -0
  396. package/dist/collection/value-accessors/index.js +6 -0
  397. package/dist/collection/value-accessors/vue-model-config.js +43 -0
  398. package/dist/components/br-avatar.d.ts +11 -0
  399. package/dist/components/br-avatar.js +5 -0
  400. package/dist/components/br-breadcrumb-item.d.ts +11 -0
  401. package/dist/components/br-breadcrumb-item.js +5 -0
  402. package/dist/components/br-breadcrumb.d.ts +11 -0
  403. package/dist/components/br-breadcrumb.js +5 -0
  404. package/dist/components/br-button.d.ts +11 -0
  405. package/dist/components/br-button.js +5 -0
  406. package/dist/components/br-card.d.ts +11 -0
  407. package/dist/components/br-card.js +5 -0
  408. package/dist/components/br-carousel-page.d.ts +11 -0
  409. package/dist/components/br-carousel-page.js +5 -0
  410. package/dist/components/br-carousel.d.ts +11 -0
  411. package/dist/components/br-carousel.js +5 -0
  412. package/dist/components/br-checkbox-group.d.ts +11 -0
  413. package/dist/components/br-checkbox-group.js +5 -0
  414. package/dist/components/br-checkbox.d.ts +11 -0
  415. package/dist/components/br-checkbox.js +5 -0
  416. package/dist/components/br-checkgroup.d.ts +11 -0
  417. package/dist/components/br-checkgroup.js +5 -0
  418. package/dist/components/br-collapse.d.ts +11 -0
  419. package/dist/components/br-collapse.js +5 -0
  420. package/dist/components/br-cookiebar-cookie.d.ts +11 -0
  421. package/dist/components/br-cookiebar-cookie.js +5 -0
  422. package/dist/components/br-cookiebar-group.d.ts +11 -0
  423. package/dist/components/br-cookiebar-group.js +5 -0
  424. package/dist/components/br-cookiebar-header.d.ts +11 -0
  425. package/dist/components/br-cookiebar-header.js +5 -0
  426. package/dist/components/br-cookiebar-link.d.ts +11 -0
  427. package/dist/components/br-cookiebar-link.js +5 -0
  428. package/dist/components/br-cookiebar-note-group.d.ts +11 -0
  429. package/dist/components/br-cookiebar-note-group.js +5 -0
  430. package/dist/components/br-cookiebar-note.d.ts +11 -0
  431. package/dist/components/br-cookiebar-note.js +5 -0
  432. package/dist/components/br-cookiebar.d.ts +11 -0
  433. package/dist/components/br-cookiebar.js +5 -0
  434. package/dist/components/br-crumb.d.ts +11 -0
  435. package/dist/components/br-crumb.js +5 -0
  436. package/dist/components/br-date-picker.d.ts +11 -0
  437. package/dist/components/br-date-picker.js +5 -0
  438. package/dist/components/br-datetime-input.d.ts +11 -0
  439. package/dist/components/br-datetime-input.js +5 -0
  440. package/dist/components/br-datetime-picker.d.ts +11 -0
  441. package/dist/components/br-datetime-picker.js +5 -0
  442. package/dist/components/br-divider.d.ts +11 -0
  443. package/dist/components/br-divider.js +5 -0
  444. package/dist/components/br-dropdown.d.ts +11 -0
  445. package/dist/components/br-dropdown.js +5 -0
  446. package/dist/components/br-footer-category.d.ts +11 -0
  447. package/dist/components/br-footer-category.js +5 -0
  448. package/dist/components/br-footer-item.d.ts +11 -0
  449. package/dist/components/br-footer-item.js +5 -0
  450. package/dist/components/br-footer-legal.d.ts +11 -0
  451. package/dist/components/br-footer-legal.js +5 -0
  452. package/dist/components/br-footer-logo.d.ts +11 -0
  453. package/dist/components/br-footer-logo.js +5 -0
  454. package/dist/components/br-footer-social.d.ts +11 -0
  455. package/dist/components/br-footer-social.js +5 -0
  456. package/dist/components/br-footer.d.ts +11 -0
  457. package/dist/components/br-footer.js +5 -0
  458. package/dist/components/br-header-function.d.ts +11 -0
  459. package/dist/components/br-header-function.js +5 -0
  460. package/dist/components/br-header-link.d.ts +11 -0
  461. package/dist/components/br-header-link.js +5 -0
  462. package/dist/components/br-header-list.d.ts +11 -0
  463. package/dist/components/br-header-list.js +5 -0
  464. package/dist/components/br-header-logo.d.ts +11 -0
  465. package/dist/components/br-header-logo.js +5 -0
  466. package/dist/components/br-header.d.ts +11 -0
  467. package/dist/components/br-header.js +5 -0
  468. package/dist/components/br-icon.d.ts +11 -0
  469. package/dist/components/br-icon.js +5 -0
  470. package/dist/components/br-input.d.ts +11 -0
  471. package/dist/components/br-input.js +5 -0
  472. package/dist/components/br-item.d.ts +11 -0
  473. package/dist/components/br-item.js +5 -0
  474. package/dist/components/br-link.d.ts +11 -0
  475. package/dist/components/br-link.js +5 -0
  476. package/dist/components/br-list.d.ts +11 -0
  477. package/dist/components/br-list.js +5 -0
  478. package/dist/components/br-loading.d.ts +11 -0
  479. package/dist/components/br-loading.js +5 -0
  480. package/dist/components/br-magic-button.d.ts +11 -0
  481. package/dist/components/br-magic-button.js +5 -0
  482. package/dist/components/br-menu-group.d.ts +11 -0
  483. package/dist/components/br-menu-group.js +5 -0
  484. package/dist/components/br-menu-header.d.ts +11 -0
  485. package/dist/components/br-menu-header.js +5 -0
  486. package/dist/components/br-menu-info.d.ts +11 -0
  487. package/dist/components/br-menu-info.js +5 -0
  488. package/dist/components/br-menu-item.d.ts +11 -0
  489. package/dist/components/br-menu-item.js +5 -0
  490. package/dist/components/br-menu-link.d.ts +11 -0
  491. package/dist/components/br-menu-link.js +5 -0
  492. package/dist/components/br-menu-list.d.ts +11 -0
  493. package/dist/components/br-menu-list.js +5 -0
  494. package/dist/components/br-menu-logo.d.ts +11 -0
  495. package/dist/components/br-menu-logo.js +5 -0
  496. package/dist/components/br-menu-social.d.ts +11 -0
  497. package/dist/components/br-menu-social.js +5 -0
  498. package/dist/components/br-menu.d.ts +11 -0
  499. package/dist/components/br-menu.js +5 -0
  500. package/dist/components/br-message.d.ts +11 -0
  501. package/dist/components/br-message.js +5 -0
  502. package/dist/components/br-modal.d.ts +11 -0
  503. package/dist/components/br-modal.js +5 -0
  504. package/dist/components/br-notification-body.d.ts +11 -0
  505. package/dist/components/br-notification-body.js +5 -0
  506. package/dist/components/br-notification-header.d.ts +11 -0
  507. package/dist/components/br-notification-header.js +5 -0
  508. package/dist/components/br-notification-item.d.ts +11 -0
  509. package/dist/components/br-notification-item.js +5 -0
  510. package/dist/components/br-notification.d.ts +11 -0
  511. package/dist/components/br-notification.js +5 -0
  512. package/dist/components/br-pagination.d.ts +11 -0
  513. package/dist/components/br-pagination.js +5 -0
  514. package/dist/components/br-radio-group.d.ts +11 -0
  515. package/dist/components/br-radio-group.js +5 -0
  516. package/dist/components/br-radio.d.ts +11 -0
  517. package/dist/components/br-radio.js +5 -0
  518. package/dist/components/br-scrim.d.ts +11 -0
  519. package/dist/components/br-scrim.js +5 -0
  520. package/dist/components/br-select-input.d.ts +11 -0
  521. package/dist/components/br-select-input.js +5 -0
  522. package/dist/components/br-select-list.d.ts +11 -0
  523. package/dist/components/br-select-list.js +5 -0
  524. package/dist/components/br-select-option.d.ts +11 -0
  525. package/dist/components/br-select-option.js +5 -0
  526. package/dist/components/br-select.d.ts +11 -0
  527. package/dist/components/br-select.js +5 -0
  528. package/dist/components/br-sign-in.d.ts +11 -0
  529. package/dist/components/br-sign-in.js +5 -0
  530. package/dist/components/br-skip-link-item.d.ts +11 -0
  531. package/dist/components/br-skip-link-item.js +5 -0
  532. package/dist/components/br-skip-link.d.ts +11 -0
  533. package/dist/components/br-skip-link.js +5 -0
  534. package/dist/components/br-skiplink-item.d.ts +11 -0
  535. package/dist/components/br-skiplink-item.js +5 -0
  536. package/dist/components/br-slider.d.ts +11 -0
  537. package/dist/components/br-slider.js +5 -0
  538. package/dist/components/br-step-item.d.ts +11 -0
  539. package/dist/components/br-step-item.js +5 -0
  540. package/dist/components/br-step.d.ts +11 -0
  541. package/dist/components/br-step.js +5 -0
  542. package/dist/components/br-switch.d.ts +11 -0
  543. package/dist/components/br-switch.js +5 -0
  544. package/dist/components/br-tab-item.d.ts +11 -0
  545. package/dist/components/br-tab-item.js +5 -0
  546. package/dist/components/br-tab.d.ts +11 -0
  547. package/dist/components/br-tab.js +5 -0
  548. package/dist/components/br-table-body.d.ts +11 -0
  549. package/dist/components/br-table-body.js +5 -0
  550. package/dist/components/br-table-cell.d.ts +11 -0
  551. package/dist/components/br-table-cell.js +5 -0
  552. package/dist/components/br-table-header-cell.d.ts +11 -0
  553. package/dist/components/br-table-header-cell.js +5 -0
  554. package/dist/components/br-table-header.d.ts +11 -0
  555. package/dist/components/br-table-header.js +5 -0
  556. package/dist/components/br-table-row.d.ts +11 -0
  557. package/dist/components/br-table-row.js +5 -0
  558. package/dist/components/br-table.d.ts +11 -0
  559. package/dist/components/br-table.js +5 -0
  560. package/dist/components/br-tag.d.ts +11 -0
  561. package/dist/components/br-tag.js +5 -0
  562. package/dist/components/br-textarea.d.ts +11 -0
  563. package/dist/components/br-textarea.js +5 -0
  564. package/dist/components/br-time-picker.d.ts +11 -0
  565. package/dist/components/br-time-picker.js +5 -0
  566. package/dist/components/br-tooltip.d.ts +11 -0
  567. package/dist/components/br-tooltip.js +5 -0
  568. package/dist/components/br-upload.d.ts +11 -0
  569. package/dist/components/br-upload.js +5 -0
  570. package/dist/components/br-wizard-panel.d.ts +11 -0
  571. package/dist/components/br-wizard-panel.js +5 -0
  572. package/dist/components/br-wizard.d.ts +11 -0
  573. package/dist/components/br-wizard.js +5 -0
  574. package/dist/components/index.d.ts +213 -0
  575. package/dist/components/index.js +5 -0
  576. package/dist/components/p-0IYmyaTi.js +5 -0
  577. package/dist/components/p-41XwlWiS.js +5 -0
  578. package/dist/components/p-5z6jgH1D.js +5 -0
  579. package/dist/components/p-6OdfnwnK.js +5 -0
  580. package/dist/components/p-9S9bgUT0.js +5 -0
  581. package/dist/components/p-B-qLmYZC.js +5 -0
  582. package/dist/components/p-B-sbd1_h.js +5 -0
  583. package/dist/components/p-B55qsau4.js +5 -0
  584. package/dist/components/p-BC7f6MK8.js +5 -0
  585. package/dist/components/p-BPJpHGOW.js +5 -0
  586. package/dist/components/p-BW0_ORNA.js +5 -0
  587. package/dist/components/p-BWXfdbQH.js +5 -0
  588. package/dist/components/p-Bb-nLtTG.js +5 -0
  589. package/dist/components/p-BkS6ujyf.js +5 -0
  590. package/dist/components/p-Bm0ECvfB.js +5 -0
  591. package/dist/components/p-C1yRmdso.js +5 -0
  592. package/dist/components/p-C3LQSQpc.js +5 -0
  593. package/dist/components/p-C98-mHmV.js +5 -0
  594. package/dist/components/p-CDZFuUlU.js +5 -0
  595. package/dist/components/p-CRfi23Rd.js +5 -0
  596. package/dist/components/p-CUI5zWGf.js +5 -0
  597. package/dist/components/p-CXMwM9m4.js +5 -0
  598. package/dist/components/p-CdDwqbBv.js +5 -0
  599. package/dist/components/p-CxviDiCr.js +5 -0
  600. package/dist/components/p-D3usVJE2.js +16 -0
  601. package/dist/components/p-D6zroLx5.js +5 -0
  602. package/dist/components/p-D9SpD3Ay.js +5 -0
  603. package/dist/components/p-DA5GS53D.js +5 -0
  604. package/dist/components/p-DBP6K_aq.js +5 -0
  605. package/dist/components/p-DBmwzG9E.js +5 -0
  606. package/dist/components/p-DCrVo-8T.js +5 -0
  607. package/dist/components/p-DIK54tTj.js +5 -0
  608. package/dist/components/p-DQRSHR-D.js +5 -0
  609. package/dist/components/p-DRVMm1Py.js +5 -0
  610. package/dist/components/p-DWPmUV72.js +5 -0
  611. package/dist/components/p-DYA74R1r.js +5 -0
  612. package/dist/components/p-DYnkGWii.js +5 -0
  613. package/dist/components/p-D_CSvOY9.js +5 -0
  614. package/dist/components/p-DaeGwqw0.js +5 -0
  615. package/dist/components/p-Dkg2scYZ.js +5 -0
  616. package/dist/components/p-Dmfk7eEe.js +5 -0
  617. package/dist/components/p-DoXNfcTT.js +5 -0
  618. package/dist/components/p-DvrdmqoQ.js +5 -0
  619. package/dist/components/p-DxZJrIyL.js +5 -0
  620. package/dist/components/p-LmeJrLxH.js +5 -0
  621. package/dist/components/p-TFWd_UBV.js +5 -0
  622. package/dist/components/p-aF8bGN3t.js +5 -0
  623. package/dist/components/p-bhULC15U.js +5 -0
  624. package/dist/components/p-cF3ia5e9.js +5 -0
  625. package/dist/components/p-cfPt-vKA.js +5 -0
  626. package/dist/components/p-gvnfuTjd.js +5 -0
  627. package/dist/components/p-nJOJGpyl.js +5 -0
  628. package/dist/components/p-ttI0nvv_.js +5 -0
  629. package/dist/esm/app-globals-DVjNHTTs.js +7 -0
  630. package/dist/esm/br-avatar.entry.js +246 -0
  631. package/dist/esm/br-breadcrumb-item.entry.js +43 -0
  632. package/dist/esm/br-breadcrumb.entry.js +441 -0
  633. package/dist/esm/br-button_2.entry.js +277 -0
  634. package/dist/esm/br-card.entry.js +109 -0
  635. package/dist/esm/br-carousel-page.entry.js +78 -0
  636. package/dist/esm/br-carousel.entry.js +563 -0
  637. package/dist/esm/br-checkbox-group.entry.js +116 -0
  638. package/dist/esm/br-checkbox.entry.js +286 -0
  639. package/dist/esm/br-checkgroup.entry.js +18 -0
  640. package/dist/esm/br-collapse_2.entry.js +680 -0
  641. package/dist/esm/br-cookiebar-cookie.entry.js +81 -0
  642. package/dist/esm/br-cookiebar-group.entry.js +307 -0
  643. package/dist/esm/br-cookiebar-header.entry.js +37 -0
  644. package/dist/esm/br-cookiebar-link.entry.js +52 -0
  645. package/dist/esm/br-cookiebar-note-group.entry.js +68 -0
  646. package/dist/esm/br-cookiebar-note.entry.js +23 -0
  647. package/dist/esm/br-cookiebar.entry.js +756 -0
  648. package/dist/esm/br-crumb.entry.js +49 -0
  649. package/dist/esm/br-date-picker_3.entry.js +2442 -0
  650. package/dist/esm/br-datetime-picker.entry.js +1885 -0
  651. package/dist/esm/br-divider.entry.js +223 -0
  652. package/dist/esm/br-dropdown_2.entry.js +1853 -0
  653. package/dist/esm/br-footer-category.entry.js +100 -0
  654. package/dist/esm/br-footer-item.entry.js +50 -0
  655. package/dist/esm/br-footer-legal.entry.js +39 -0
  656. package/dist/esm/br-footer-logo.entry.js +102 -0
  657. package/dist/esm/br-footer-social.entry.js +69 -0
  658. package/dist/esm/br-footer.entry.js +90 -0
  659. package/dist/esm/br-header-function.entry.js +140 -0
  660. package/dist/esm/br-header-link.entry.js +58 -0
  661. package/dist/esm/br-header-list.entry.js +277 -0
  662. package/dist/esm/br-header-logo.entry.js +175 -0
  663. package/dist/esm/br-header.entry.js +640 -0
  664. package/dist/esm/br-icon.entry.js +483 -0
  665. package/dist/esm/br-input.entry.js +597 -0
  666. package/dist/esm/br-item.entry.js +354 -0
  667. package/dist/esm/br-link.entry.js +130 -0
  668. package/dist/esm/br-loading.entry.js +503 -0
  669. package/dist/esm/br-magic-button.entry.js +90 -0
  670. package/dist/esm/br-menu-group.entry.js +21 -0
  671. package/dist/esm/br-menu-header.entry.js +45 -0
  672. package/dist/esm/br-menu-info.entry.js +36 -0
  673. package/dist/esm/br-menu-item.entry.js +77 -0
  674. package/dist/esm/br-menu-link.entry.js +53 -0
  675. package/dist/esm/br-menu-list.entry.js +147 -0
  676. package/dist/esm/br-menu-logo.entry.js +73 -0
  677. package/dist/esm/br-menu-social.entry.js +63 -0
  678. package/dist/esm/br-menu.entry.js +991 -0
  679. package/dist/esm/br-modal.entry.js +494 -0
  680. package/dist/esm/br-notification-body.entry.js +69 -0
  681. package/dist/esm/br-notification-header.entry.js +46 -0
  682. package/dist/esm/br-notification-item.entry.js +108 -0
  683. package/dist/esm/br-notification.entry.js +332 -0
  684. package/dist/esm/br-pagination.entry.js +882 -0
  685. package/dist/esm/br-radio-group.entry.js +426 -0
  686. package/dist/esm/br-radio.entry.js +355 -0
  687. package/dist/esm/br-scrim.entry.js +1334 -0
  688. package/dist/esm/br-select-input_3.entry.js +950 -0
  689. package/dist/esm/br-sign-in.entry.js +123 -0
  690. package/dist/esm/br-skip-link-item.entry.js +18 -0
  691. package/dist/esm/br-skip-link.entry.js +360 -0
  692. package/dist/esm/br-skiplink-item.entry.js +190 -0
  693. package/dist/esm/br-slider.entry.js +686 -0
  694. package/dist/esm/br-step_2.entry.js +625 -0
  695. package/dist/esm/br-switch.entry.js +243 -0
  696. package/dist/esm/br-tab-item.entry.js +183 -0
  697. package/dist/esm/br-tab.entry.js +395 -0
  698. package/dist/esm/br-table-body.entry.js +35 -0
  699. package/dist/esm/br-table-cell.entry.js +182 -0
  700. package/dist/esm/br-table-header-cell.entry.js +171 -0
  701. package/dist/esm/br-table-header.entry.js +35 -0
  702. package/dist/esm/br-table-row.entry.js +79 -0
  703. package/dist/esm/br-table.entry.js +678 -0
  704. package/dist/esm/br-tag.entry.js +492 -0
  705. package/dist/esm/br-textarea.entry.js +304 -0
  706. package/dist/esm/br-tooltip.entry.js +625 -0
  707. package/dist/esm/br-upload.entry.js +580 -0
  708. package/dist/esm/br-wizard-panel.entry.js +52 -0
  709. package/dist/esm/br-wizard.entry.js +706 -0
  710. package/dist/esm/breakpoint-observer-DBmwzG9E.js +141 -0
  711. package/dist/esm/clamp-gvnfuTjd.js +23 -0
  712. package/dist/esm/cookiebar.utils-DYA74R1r.js +16 -0
  713. package/dist/esm/datetime-picker-constants-Bfm58jO6.js +3798 -0
  714. package/dist/esm/event-DFN_so7I.js +48 -0
  715. package/dist/esm/floating-surface-dismiss-BWXfdbQH.js +61 -0
  716. package/dist/esm/floating-ui-BavFwMnx.js +134 -0
  717. package/dist/esm/floating-ui.dom-DIK54tTj.js +1707 -0
  718. package/dist/esm/focus-DxZJrIyL.js +26 -0
  719. package/dist/esm/getNextElement-9S9bgUT0.js +28 -0
  720. package/dist/esm/iconify-icon-D3usVJE2.js +2303 -0
  721. package/dist/esm/id-BkS6ujyf.js +18 -0
  722. package/dist/esm/index-Bo-2igoO.js +671 -0
  723. package/dist/esm/index-C2RBydfd.js +3258 -0
  724. package/dist/esm/index.js +6 -0
  725. package/dist/esm/isNil-B-qLmYZC.js +17 -0
  726. package/dist/esm/isValid-DIUZX1qS.js +3684 -0
  727. package/dist/esm/loader.js +15 -0
  728. package/dist/esm/native-dialog-B55qsau4.js +46 -0
  729. package/dist/esm/navigation-bhULC15U.js +23 -0
  730. package/dist/esm/parts-Bb5vVlCC.js +17 -0
  731. package/dist/esm/props-DRVMm1Py.js +22 -0
  732. package/dist/esm/raf-batcher-cF3ia5e9.js +53 -0
  733. package/dist/esm/slot-BIG-yees.js +44 -0
  734. package/dist/esm/swipe-Dmfk7eEe.js +343 -0
  735. package/dist/esm/table-constants-CXMwM9m4.js +170 -0
  736. package/dist/esm/validator-D3tVP32U.js +113 -0
  737. package/dist/esm/webcomponents.js +46 -0
  738. package/dist/hydrate/index.d.ts +287 -0
  739. package/dist/hydrate/index.js +67323 -0
  740. package/dist/hydrate/index.mjs +67313 -0
  741. package/dist/hydrate/package.json +12 -0
  742. package/dist/index.cjs.js +1 -0
  743. package/dist/index.js +1 -0
  744. package/dist/loader/cdn.js +5 -0
  745. package/dist/loader/index.cjs.js +5 -0
  746. package/dist/loader/index.d.ts +24 -0
  747. package/dist/loader/index.es2017.js +5 -0
  748. package/dist/loader/index.js +6 -0
  749. package/dist/webcomponents/index.esm.js +5 -0
  750. package/dist/webcomponents/p-0196804a.entry.js +5 -0
  751. package/dist/webcomponents/p-0410186a.entry.js +5 -0
  752. package/dist/webcomponents/p-0415ef22.entry.js +5 -0
  753. package/dist/webcomponents/p-059c3d6c.entry.js +5 -0
  754. package/dist/webcomponents/p-0b8f39bc.entry.js +5 -0
  755. package/dist/webcomponents/p-0caa4d12.entry.js +5 -0
  756. package/dist/webcomponents/p-0d4f718d.entry.js +5 -0
  757. package/dist/webcomponents/p-0e84c9e8.entry.js +5 -0
  758. package/dist/webcomponents/p-12286e73.entry.js +5 -0
  759. package/dist/webcomponents/p-147ac8d3.entry.js +5 -0
  760. package/dist/webcomponents/p-1580beee.entry.js +5 -0
  761. package/dist/webcomponents/p-1b138f1c.entry.js +5 -0
  762. package/dist/webcomponents/p-1bca4499.entry.js +5 -0
  763. package/dist/webcomponents/p-1d6b0b6f.entry.js +5 -0
  764. package/dist/webcomponents/p-1d8cb8fd.entry.js +5 -0
  765. package/dist/webcomponents/p-22443c08.entry.js +5 -0
  766. package/dist/webcomponents/p-224daaac.entry.js +5 -0
  767. package/dist/webcomponents/p-28426d2a.entry.js +5 -0
  768. package/dist/webcomponents/p-2abd2da0.entry.js +5 -0
  769. package/dist/webcomponents/p-2fdc51ae.entry.js +5 -0
  770. package/dist/webcomponents/p-30c428b6.entry.js +5 -0
  771. package/dist/webcomponents/p-36bbea4e.entry.js +5 -0
  772. package/dist/webcomponents/p-3907ebfa.entry.js +5 -0
  773. package/dist/webcomponents/p-39a16f9d.entry.js +5 -0
  774. package/dist/webcomponents/p-3ebbd2f5.entry.js +5 -0
  775. package/dist/webcomponents/p-3ef7eac8.entry.js +5 -0
  776. package/dist/webcomponents/p-45356e9a.entry.js +5 -0
  777. package/dist/webcomponents/p-46513db4.entry.js +5 -0
  778. package/dist/webcomponents/p-4fe12a72.entry.js +5 -0
  779. package/dist/webcomponents/p-52df61cb.entry.js +5 -0
  780. package/dist/webcomponents/p-569134cf.entry.js +5 -0
  781. package/dist/webcomponents/p-5b257a4b.entry.js +5 -0
  782. package/dist/webcomponents/p-5ce7db4a.entry.js +5 -0
  783. package/dist/webcomponents/p-5f373708.entry.js +5 -0
  784. package/dist/webcomponents/p-5f6afb79.entry.js +5 -0
  785. package/dist/webcomponents/p-5fc7ba4c.entry.js +5 -0
  786. package/dist/webcomponents/p-60cc820c.entry.js +5 -0
  787. package/dist/webcomponents/p-66006312.entry.js +5 -0
  788. package/dist/webcomponents/p-66b13fd9.entry.js +5 -0
  789. package/dist/webcomponents/p-6OdfnwnK.js +5 -0
  790. package/dist/webcomponents/p-6c5f6cb6.entry.js +5 -0
  791. package/dist/webcomponents/p-6f1c4425.entry.js +5 -0
  792. package/dist/webcomponents/p-750799b7.entry.js +5 -0
  793. package/dist/webcomponents/p-756ff2ad.entry.js +5 -0
  794. package/dist/webcomponents/p-765bfe27.entry.js +5 -0
  795. package/dist/webcomponents/p-7ab96c11.entry.js +5 -0
  796. package/dist/webcomponents/p-7c2ff8b4.entry.js +5 -0
  797. package/dist/webcomponents/p-7cf9f4e5.entry.js +5 -0
  798. package/dist/webcomponents/p-7e1856e4.entry.js +5 -0
  799. package/dist/webcomponents/p-7f7506f0.entry.js +5 -0
  800. package/dist/webcomponents/p-7fb03a49.entry.js +5 -0
  801. package/dist/webcomponents/p-82200563.entry.js +5 -0
  802. package/dist/webcomponents/p-85f8063b.entry.js +5 -0
  803. package/dist/webcomponents/p-8b558233.entry.js +5 -0
  804. package/dist/webcomponents/p-8e6c2767.entry.js +5 -0
  805. package/dist/webcomponents/p-966ad32f.entry.js +5 -0
  806. package/dist/webcomponents/p-9679d230.entry.js +5 -0
  807. package/dist/webcomponents/p-96dd663b.entry.js +5 -0
  808. package/dist/webcomponents/p-98843fa3.entry.js +5 -0
  809. package/dist/webcomponents/p-9S9bgUT0.js +5 -0
  810. package/dist/webcomponents/p-9a375eff.entry.js +5 -0
  811. package/dist/webcomponents/p-9b358cff.entry.js +5 -0
  812. package/dist/webcomponents/p-9f7558c7.entry.js +5 -0
  813. package/dist/webcomponents/p-B-qLmYZC.js +5 -0
  814. package/dist/webcomponents/p-B55qsau4.js +5 -0
  815. package/dist/webcomponents/p-BIG-yees.js +5 -0
  816. package/dist/webcomponents/p-BWXfdbQH.js +5 -0
  817. package/dist/webcomponents/p-Bb5vVlCC.js +5 -0
  818. package/dist/webcomponents/p-Bfm58jO6.js +5 -0
  819. package/dist/webcomponents/p-BhMVJQ4-.js +5 -0
  820. package/dist/webcomponents/p-BkS6ujyf.js +5 -0
  821. package/dist/webcomponents/p-C2RBydfd.js +6 -0
  822. package/dist/webcomponents/p-CO5cOQQU.js +5 -0
  823. package/dist/webcomponents/p-CXMwM9m4.js +5 -0
  824. package/dist/webcomponents/p-D3tVP32U.js +5 -0
  825. package/dist/webcomponents/p-D3usVJE2.js +16 -0
  826. package/dist/webcomponents/p-DBmwzG9E.js +5 -0
  827. package/dist/webcomponents/p-DFN_so7I.js +5 -0
  828. package/dist/webcomponents/p-DIK54tTj.js +5 -0
  829. package/dist/webcomponents/p-DRVMm1Py.js +5 -0
  830. package/dist/webcomponents/p-DVjNHTTs.js +5 -0
  831. package/dist/webcomponents/p-DYA74R1r.js +5 -0
  832. package/dist/webcomponents/p-Dmfk7eEe.js +5 -0
  833. package/dist/webcomponents/p-DxZJrIyL.js +5 -0
  834. package/dist/webcomponents/p-a382e115.entry.js +5 -0
  835. package/dist/webcomponents/p-a9ff7c25.entry.js +5 -0
  836. package/dist/webcomponents/p-bba9fc09.entry.js +5 -0
  837. package/dist/webcomponents/p-bhULC15U.js +5 -0
  838. package/dist/webcomponents/p-c0b0f531.entry.js +5 -0
  839. package/dist/webcomponents/p-c211af17.entry.js +5 -0
  840. package/dist/webcomponents/p-c492d926.entry.js +5 -0
  841. package/dist/webcomponents/p-c4cfe599.entry.js +5 -0
  842. package/dist/webcomponents/p-c846e784.entry.js +5 -0
  843. package/dist/webcomponents/p-cF3ia5e9.js +5 -0
  844. package/dist/webcomponents/p-cedb8eea.entry.js +5 -0
  845. package/dist/webcomponents/p-d1e899cd.entry.js +5 -0
  846. package/dist/webcomponents/p-d38d82cc.entry.js +5 -0
  847. package/dist/webcomponents/p-dba376cb.entry.js +5 -0
  848. package/dist/webcomponents/p-e0ce536a.entry.js +5 -0
  849. package/dist/webcomponents/p-e1331288.entry.js +5 -0
  850. package/dist/webcomponents/p-e360a463.entry.js +5 -0
  851. package/dist/webcomponents/p-e80a1eb0.entry.js +5 -0
  852. package/dist/webcomponents/p-f078f972.entry.js +5 -0
  853. package/dist/webcomponents/p-f6318e94.entry.js +5 -0
  854. package/dist/webcomponents/p-fcd4ae48.entry.js +5 -0
  855. package/dist/webcomponents/p-gvnfuTjd.js +5 -0
  856. package/dist/webcomponents/webcomponents.esm.js +5 -0
  857. package/package.json +1 -1
  858. package/cem/.gitkeep +0 -0
@@ -0,0 +1,1925 @@
1
+ /*!
2
+ * Construído por SERPRO
3
+ * © https://serpro.gov.br/ - MIT License.
4
+ */
5
+ import { Fragment, Host, h, } from "@stencil/core";
6
+ import { eachDayOfInterval } from "date-fns/eachDayOfInterval";
7
+ import { isSameDay } from "date-fns/isSameDay";
8
+ import { set } from "date-fns/set";
9
+ import { toDate } from "date-fns/toDate";
10
+ import { dispatchNativeFormEvent } from "../../shared/utils/event";
11
+ import { getFormValidationState, isFormControlDisabled, setFormValidity, } from "../../shared/utils/form";
12
+ import { hasAssignedSlotContent } from "../../shared/utils/slot";
13
+ import { resolveSsrLocalDate } from "../../shared/utils/ssr-date";
14
+ import { resolveFormValidator, runFormValidator } from "../../shared/utils/validator";
15
+ import { DATETIME_PICKER_LOCALE, DATETIME_PICKER_MODE } from "./datetime-picker-constants";
16
+ import { hasDatetimePickerMissingValue, parseDatetimePickerSerializedRange, parseDatetimePickerSerializedValue, serializeDatetimePickerFormValue, } from "./datetime-picker-form-associated";
17
+ import { normalizeDatetimePickerDisabledDates, normalizeDatetimePickerInitialMoment, normalizeDatetimePickerMode, normalizeDatetimePickerSelectionMode, normalizeDatetimePickerWeekStartsOn, } from "./datetime-picker-props-validation";
18
+ /**
19
+ * ## Design System
20
+ *
21
+ * Para a documentação completa de design, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/datetimepicker?tab=designer).
22
+ *
23
+ * @category Formulários
24
+ * @status stable
25
+ * @slot feedback - Mensagem de validação, normalmente um `br-message`.
26
+ * @part container - Parte para o container base do seletor.
27
+ * @part panel - Parte para o painel em forma de card que engloba o seletor.
28
+ * @part input-container - Container base do campo de entrada interno.
29
+ * @part input-field - Campo textual interno.
30
+ * @part input-icon - Ícone de ação (calendário/relógio).
31
+ * @part feedback - Contêiner da mensagem de validação.
32
+ */
33
+ export class DatetimePicker {
34
+ constructor() {
35
+ /**
36
+ * Controla se o conteúdo do picker está visível.
37
+ */
38
+ this.isPickerOpen = false;
39
+ this.formDisabled = false;
40
+ this.hasFeedbackSlot = false;
41
+ this.customValidationMessage = '';
42
+ this.validatorMessage = null;
43
+ this.isValidating = false;
44
+ this.feedbackId = `br-datetime-picker-feedback-${datetimePickerId++}`;
45
+ /** Lista normalizada de datas indisponíveis para seleção. */
46
+ this.normalizedDisabledDates = [];
47
+ /** Data final selecionada no modo de intervalo. */
48
+ this.rangeEnd = null;
49
+ /** Data inicial selecionada no modo de intervalo. */
50
+ this.rangeStart = null;
51
+ /**
52
+ * Mantém a data de referência que orienta a navegação visual do calendário.
53
+ */
54
+ this.referenceDate = new Date();
55
+ /**
56
+ * Define o modo de seleção exibido pelo componente: data, horário ou ambos.
57
+ *
58
+ * Valores aceitos: `date`, `time` ou `datetime`.
59
+ * Valores inválidos são corrigidos automaticamente para o valor padrão,
60
+ * mantendo o atributo refletido sempre consistente com o modo exibido.
61
+ *
62
+ * @default 'datetime'
63
+ */
64
+ this.mode = DATETIME_PICKER_MODE.DEFAULT;
65
+ /**
66
+ * Define o locale usado pelos subcomponentes para formatar datas e rótulos.
67
+ *
68
+ * @default 'pt-BR'
69
+ */
70
+ this.locale = DATETIME_PICKER_LOCALE.DEFAULT;
71
+ /**
72
+ * Define o placeholder exibido no campo de entrada do datetime picker.
73
+ *
74
+ * @default ''
75
+ */
76
+ this.placeholder = '';
77
+ /** Nome do campo para submissão em formulários nativos. */
78
+ this.name = '';
79
+ /** Indica se o campo deve ter valor antes do envio do formulário. */
80
+ this.required = false;
81
+ /** Menor data/horário aceito, interpretado conforme `mode`. */
82
+ this.min = null;
83
+ /** Maior data/horário aceito, interpretado conforme `mode`. */
84
+ this.max = null;
85
+ /**
86
+ * Define o tipo de seleção de datas para o calendário: única ou intervalo.
87
+ *
88
+ * `range` só funciona em conjunto com `mode="date"`.
89
+ * Se `selectionMode="range"` for informado, o componente ajusta automaticamente
90
+ * `mode` para `date`. Se `mode` mudar para `time` ou `datetime`, o componente
91
+ * normaliza `selectionMode` para `single` quando necessário.
92
+ */
93
+ this.selectionMode = 'single';
94
+ /**
95
+ * Define o dia inicial da semana exibida no calendário.
96
+ *
97
+ * Valores suportados: 0 (domingo) a 6 (sábado).
98
+ *
99
+ * @default 0
100
+ */
101
+ this.weekStartsOn = 0;
102
+ /**
103
+ * Define a seleção inicial do componente.
104
+ *
105
+ * Aceita:
106
+ * - `'now'`: seleciona o momento atual.
107
+ * - `Date` ou `string`: seleciona uma data arbitrária.
108
+ * - `null`: inicia sem seleção.
109
+ *
110
+ * Reativo em runtime: mudanças na prop atualizam estado e subcomponentes.
111
+ *
112
+ * @default null
113
+ */
114
+ this.initialMoment = null;
115
+ /**
116
+ * Valor selecionado pelo usuário. Pode ser controlado externamente e é atualizado
117
+ * pelo evento `valueChange`.
118
+ */
119
+ this.value = null;
120
+ /**
121
+ * Desabilita toda a interação do componente.
122
+ *
123
+ * Quando `true`, impede abrir o picker, alterar valores e navegar entre datas/horários.
124
+ *
125
+ * @default false
126
+ */
127
+ this.disabled = false;
128
+ /**
129
+ * Define um conjunto de datas indisponíveis para seleção.
130
+ *
131
+ * Aceita uma lista de `Date` e/ou strings analisáveis, ou uma string com datas
132
+ * separadas por espaço em branco. Datas inválidas são ignoradas com warning.
133
+ * A comparação considera apenas o dia (ano/mês/dia), ignorando hora.
134
+ *
135
+ * @default null
136
+ */
137
+ this.disabledDates = null;
138
+ /**
139
+ * Define se o calendário deve manter um número fixo de linhas (6 semanas = 42 dias)
140
+ * ou variar conforme o mês.
141
+ *
142
+ * Quando `true`, o calendário sempre exibe 6 semanas completas.
143
+ * Quando `false`, o calendário adapta-se ao mês, exibindo apenas as semanas necessárias.
144
+ *
145
+ * @default false
146
+ */
147
+ this.fixedRowCount = false;
148
+ /** Snapshot da seleção inicial usada para restaurar em reset de formulário. */
149
+ this.initialFormValue = null;
150
+ this.validationRunId = 0;
151
+ this.isInitialized = false;
152
+ this.syncingCanonicalValues = false;
153
+ /** Mapeia cada modo para a função responsável por renderizar seu conteúdo. */
154
+ this.modeRendererMap = {
155
+ [DATETIME_PICKER_MODE.DATE]: () => this.renderDatePicker(),
156
+ [DATETIME_PICKER_MODE.TIME]: () => this.renderTimePicker(),
157
+ [DATETIME_PICKER_MODE.DATETIME]: () => this.renderDateTimePicker(),
158
+ };
159
+ /**
160
+ * Sincroniza o estado local com a emissão dos subcomponentes de data e horário.
161
+ *
162
+ * @param event - Evento com a data de referência e o valor selecionado.
163
+ */
164
+ this.handleDateStateChange = (event) => {
165
+ // Evita que o evento interno dos subcomponentes vaze para fora do host.
166
+ event.stopPropagation();
167
+ if (this.isDisabled()) {
168
+ return;
169
+ }
170
+ const { referenceDate, value, range } = event.detail;
171
+ const selectedDate = this.resolveSelectedDateFromEvent(range, value);
172
+ if (selectedDate !== null && this.isDateDisabled(selectedDate)) {
173
+ return;
174
+ }
175
+ this.referenceDate = toDate(referenceDate);
176
+ const shouldEmitPublicEvent = this.resolvePublicEventEmissionForRange(range);
177
+ this.setComponentValue(value === null ? null : toDate(value), shouldEmitPublicEvent && this.isInitialized);
178
+ };
179
+ /**
180
+ * Alterna visibilidade do picker quando o input solicita.
181
+ */
182
+ this.handleTogglePicker = (event) => {
183
+ if (this.isDisabled()) {
184
+ return;
185
+ }
186
+ event.stopPropagation();
187
+ const willOpen = !this.isPickerOpen;
188
+ if (willOpen) {
189
+ this.referenceDate = this.value === null ? toDate(new Date()) : toDate(this.value);
190
+ }
191
+ this.isPickerOpen = willOpen;
192
+ };
193
+ /**
194
+ * Fecha o picker quando o clique acontece fora do host.
195
+ */
196
+ this.handleOutsideClick = (event) => {
197
+ const eventPath = event.composedPath();
198
+ if (eventPath.includes(this.el)) {
199
+ return;
200
+ }
201
+ this.isPickerOpen = false;
202
+ };
203
+ this.outsideClickListenerAttached = false;
204
+ /**
205
+ * Fecha o picker ao pressionar Escape, devolvendo o foco ao input interno.
206
+ *
207
+ * @param event - Evento de teclado disparado em qualquer descendente do componente.
208
+ */
209
+ this.handlePickerKeydown = (event) => {
210
+ if (event.key !== 'Escape' || !this.isPickerOpen)
211
+ return;
212
+ event.stopPropagation();
213
+ this.isPickerOpen = false;
214
+ this.getNativeInputElement()?.focus();
215
+ };
216
+ }
217
+ formDisabledCallback(disabled) {
218
+ this.formDisabled = disabled;
219
+ }
220
+ /** API nativa de reset de form-associated custom elements. */
221
+ formResetCallback() {
222
+ this.customValidationMessage = '';
223
+ this.validatorMessage = null;
224
+ this.validationRunId++;
225
+ this.restoreSelection(this.initialFormValue);
226
+ }
227
+ /** API nativa de restauração de estado (histórico/autofill) do formulário. */
228
+ formStateRestoreCallback(state) {
229
+ if (typeof state !== 'string') {
230
+ this.restoreSelection(null);
231
+ return;
232
+ }
233
+ if (this.isRangeRestoreMode()) {
234
+ this.restoreRangeStateFromSerialized(state);
235
+ return;
236
+ }
237
+ this.restoreSingleStateFromSerialized(state);
238
+ }
239
+ /**
240
+ * Revalida o modo sempre que a prop mudar.
241
+ *
242
+ * @param newValue - Valor recebido via atributo/prop.
243
+ */
244
+ handleModeChange(newValue) {
245
+ this.ensureValidMode(newValue);
246
+ if (this.selectionMode === 'range' && this.mode !== DATETIME_PICKER_MODE.DATE) {
247
+ this.selectionMode = 'single';
248
+ return;
249
+ }
250
+ this.updateFormInternals();
251
+ }
252
+ /** Revalida o estado do formulário quando required mudar. */
253
+ handleRequiredChange() {
254
+ this.updateFormInternals();
255
+ }
256
+ handleConstraintChange() {
257
+ this.updateFormInternals();
258
+ }
259
+ /** Exclui o valor do FormData enquanto o componente estiver desabilitado. */
260
+ handleDisabledChange() {
261
+ this.updateFormInternals();
262
+ }
263
+ /** Reage a mudanças no modo de seleção e limpa intervalo quando necessário. */
264
+ handleSelectionModeChange(newValue) {
265
+ this.ensureValidSelectionMode(newValue);
266
+ if (this.selectionMode === 'range' && this.mode !== DATETIME_PICKER_MODE.DATE) {
267
+ this.mode = DATETIME_PICKER_MODE.DATE;
268
+ return;
269
+ }
270
+ if (this.selectionMode === 'single') {
271
+ this.clearRangeState();
272
+ return;
273
+ }
274
+ this.updateFormInternals();
275
+ }
276
+ /** Revalida o dia inicial da semana sempre que a prop mudar. */
277
+ handleWeekStartsOnChange(newValue) {
278
+ this.ensureValidWeekStartsOn(newValue);
279
+ }
280
+ /**
281
+ * Aplica ou limpa a seleção da data atual conforme o novo valor da prop.
282
+ *
283
+ * @param newValue - Novo estado da prop.
284
+ */
285
+ handleInitialMomentChange(newValue) {
286
+ this.applyInitialMoment(newValue, this.isInitialized);
287
+ this.initialFormValue = this.cloneDate(this.value);
288
+ }
289
+ /** Sincroniza alterações externas do valor com o estado visual e o formulário nativo. */
290
+ handleValueChange(newValue) {
291
+ const normalizedValue = newValue instanceof Date && !Number.isNaN(newValue.getTime()) ? toDate(newValue) : null;
292
+ if (newValue !== null && normalizedValue === null) {
293
+ this.value = null;
294
+ return;
295
+ }
296
+ if (normalizedValue !== null) {
297
+ this.referenceDate = normalizedValue;
298
+ }
299
+ this.syncCanonicalValues();
300
+ this.updateFormInternals();
301
+ }
302
+ /** Converte alterações externas no valor serializado sem mudar o tipo da prop legada `value`. */
303
+ handleSerializedValueChange(newValue) {
304
+ if (this.syncingCanonicalValues || newValue === undefined)
305
+ return;
306
+ this.restoreSerializedValue(newValue);
307
+ }
308
+ /** Mantém `valueAsDate` e a prop legada `value` apontando para o mesmo estado observável. */
309
+ handleValueAsDateChange(newValue) {
310
+ if (this.syncingCanonicalValues || newValue === undefined)
311
+ return;
312
+ const normalizedValue = newValue instanceof Date && !Number.isNaN(newValue.getTime()) ? toDate(newValue) : null;
313
+ if (this.sameDate(this.value, normalizedValue))
314
+ return;
315
+ this.value = normalizedValue;
316
+ }
317
+ handlePickerOpenChange(isOpen) {
318
+ if (isOpen) {
319
+ this.attachOutsideClickListener();
320
+ }
321
+ else {
322
+ this.detachOutsideClickListener();
323
+ }
324
+ }
325
+ /**
326
+ * Recalcula a lista de datas desabilitadas quando a prop mudar.
327
+ *
328
+ * @param newValue - Nova configuração recebida via prop.
329
+ */
330
+ handleDisabledDatesChange(newValue) {
331
+ this.syncDisabledDates(newValue);
332
+ }
333
+ handleRangeValueChange(newValue) {
334
+ if (!newValue || this.selectionMode !== 'range')
335
+ return;
336
+ this.rangeStart = this.cloneDate(newValue.start);
337
+ this.rangeEnd = this.cloneDate(newValue.end);
338
+ const nextValue = newValue.end ?? newValue.start;
339
+ this.referenceDate = nextValue ? toDate(nextValue) : this.referenceDate;
340
+ this.setComponentValue(nextValue);
341
+ }
342
+ /** Registra o listener global somente enquanto o picker está aberto. */
343
+ connectedCallback() {
344
+ if (this.isPickerOpen)
345
+ this.attachOutsideClickListener();
346
+ }
347
+ /** Remove o listener global para evitar vazamento de eventos ao desmontar. */
348
+ disconnectedCallback() {
349
+ this.detachOutsideClickListener();
350
+ }
351
+ /**
352
+ * Normaliza o modo antes da primeira renderização e aplica a data atual quando solicitado.
353
+ */
354
+ componentWillLoad() {
355
+ this.referenceDate = resolveSsrLocalDate(this.el, this.referenceDate);
356
+ this.initializeMode();
357
+ this.initializeSelectionMode();
358
+ this.initializeWeekStartsOn();
359
+ this.initializeDisabledDates();
360
+ this.initializeDefaultValue();
361
+ if (this.serializedValue !== undefined) {
362
+ this.restoreSerializedValue(this.serializedValue);
363
+ }
364
+ else if (this.valueAsDate !== undefined) {
365
+ this.handleValueAsDateChange(this.valueAsDate);
366
+ }
367
+ this.initialFormValue = this.cloneDate(this.value);
368
+ this.syncCanonicalValues();
369
+ this.updateFormInternals();
370
+ }
371
+ componentDidLoad() {
372
+ this.isInitialized = true;
373
+ this.hasFeedbackSlot = this.el.querySelector('[slot="feedback"]') !== null;
374
+ }
375
+ /**
376
+ * Define programaticamente as datas desabilitadas por meio de array.
377
+ *
378
+ * Útil quando o componente é usado via HTML e o consumidor precisa enviar
379
+ * uma lista tipada em runtime.
380
+ *
381
+ * @param dates - Lista de datas (Date|string) a bloquear.
382
+ */
383
+ async setDisabledDates(dates) {
384
+ this.syncDisabledDates(dates);
385
+ }
386
+ /** Define o valor atual de forma imperativa aceitando Date, string serializada ou null. */
387
+ async setValue(value) {
388
+ if (this.isDisabled()) {
389
+ return;
390
+ }
391
+ const nextValue = this.parseMethodValue(value, this.mode);
392
+ if (nextValue !== null && this.isDateDisabled(nextValue)) {
393
+ this.setComponentValue(null);
394
+ return;
395
+ }
396
+ if (this.selectionMode === 'single') {
397
+ this.rangeStart = null;
398
+ this.rangeEnd = null;
399
+ }
400
+ this.referenceDate = nextValue === null ? toDate(new Date()) : toDate(nextValue);
401
+ this.setComponentValue(nextValue);
402
+ }
403
+ /** Retorna uma cópia do valor selecionado atualmente. */
404
+ async getValue() {
405
+ return this.cloneDate(this.value);
406
+ }
407
+ /** Limpa valor e intervalo selecionados. */
408
+ async clear() {
409
+ this.rangeStart = null;
410
+ this.rangeEnd = null;
411
+ this.referenceDate = toDate(new Date());
412
+ this.setComponentValue(null);
413
+ }
414
+ /** Abre o picker quando o componente estiver habilitado. */
415
+ async open() {
416
+ if (this.isDisabled()) {
417
+ return;
418
+ }
419
+ this.referenceDate = this.value === null ? toDate(new Date()) : toDate(this.value);
420
+ this.isPickerOpen = true;
421
+ }
422
+ /** Fecha o picker. */
423
+ async close() {
424
+ this.isPickerOpen = false;
425
+ }
426
+ /** Alterna o estado de abertura do picker. */
427
+ async toggle() {
428
+ if (this.isPickerOpen) {
429
+ await this.close();
430
+ return;
431
+ }
432
+ await this.open();
433
+ }
434
+ /** Move o foco para o input nativo interno. */
435
+ async focusInput() {
436
+ this.getNativeInputElement()?.focus();
437
+ }
438
+ /** Define intervalo de datas de forma imperativa, forçando modo date e selectionMode range. */
439
+ async setRange(start, end) {
440
+ if (this.isDisabled()) {
441
+ return;
442
+ }
443
+ this.selectionMode = 'range';
444
+ this.mode = DATETIME_PICKER_MODE.DATE;
445
+ const normalizedStart = this.parseMethodValue(start, DATETIME_PICKER_MODE.DATE);
446
+ const normalizedEnd = this.parseMethodValue(end, DATETIME_PICKER_MODE.DATE);
447
+ if ((normalizedStart !== null && this.isDateDisabled(normalizedStart)) ||
448
+ (normalizedEnd !== null && this.isDateDisabled(normalizedEnd))) {
449
+ this.clearRangeState();
450
+ return;
451
+ }
452
+ this.rangeStart = this.cloneDate(normalizedStart);
453
+ this.rangeEnd = this.cloneDate(normalizedEnd);
454
+ const nextValue = normalizedEnd ?? normalizedStart;
455
+ this.referenceDate = nextValue === null ? toDate(new Date()) : toDate(nextValue);
456
+ this.setComponentValue(nextValue);
457
+ }
458
+ /**
459
+ * Retorna o intervalo de datas selecionado quando em modo `selectionMode="range"`.
460
+ *
461
+ * @returns Objeto com datas `start` e `end`, ou `null` se não estiver em modo range.
462
+ */
463
+ async getRange() {
464
+ if (this.selectionMode !== 'range' || this.mode !== DATETIME_PICKER_MODE.DATE) {
465
+ return null;
466
+ }
467
+ return {
468
+ start: this.cloneDate(this.rangeStart),
469
+ end: this.cloneDate(this.rangeEnd),
470
+ };
471
+ }
472
+ /**
473
+ * Consulta se o picker está atualmente aberto.
474
+ *
475
+ * @returns `true` se o picker está visível, `false` caso contrário.
476
+ */
477
+ async isOpen() {
478
+ return this.isPickerOpen;
479
+ }
480
+ /** Restaura o estado inicial atualmente registrado para reset. */
481
+ async resetToInitial() {
482
+ this.restoreSelection(this.initialFormValue);
483
+ }
484
+ /** Permite que consumidores acionem validação nativa do formulário via host. */
485
+ async checkValidity() {
486
+ return this.elementInternals.checkValidity();
487
+ }
488
+ /** Permite exibir mensagens nativas de validação no host. */
489
+ async reportValidity() {
490
+ return this.elementInternals.reportValidity();
491
+ }
492
+ /** Define ou limpa uma mensagem de validade customizada. */
493
+ async setCustomValidity(message) {
494
+ this.customValidationMessage = message;
495
+ this.syncFormValidity();
496
+ }
497
+ /** Executa o validator do picker e retorna se a seleção atual é válida. */
498
+ async validate() {
499
+ const validator = resolveFormValidator(this.validator);
500
+ if (!validator || this.isDisabled())
501
+ return this.checkValidity();
502
+ const runId = ++this.validationRunId;
503
+ this.isValidating = true;
504
+ this.validatorMessage = null;
505
+ this.syncFormValidity();
506
+ this.brDatetimePickerValidationChange.emit({ validating: true, valid: null, message: null });
507
+ const value = this.selectionMode === 'range'
508
+ ? { start: this.cloneDate(this.rangeStart), end: this.cloneDate(this.rangeEnd) }
509
+ : this.cloneDate(this.value);
510
+ const message = await runFormValidator(validator, value);
511
+ if (runId !== this.validationRunId)
512
+ return false;
513
+ this.validatorMessage = message;
514
+ this.isValidating = false;
515
+ this.syncFormValidity();
516
+ const valid = message === null && (await this.checkValidity());
517
+ this.brDatetimePickerValidationChange.emit({ validating: false, valid, message });
518
+ return valid;
519
+ }
520
+ /** Retorna um snapshot serializável da Constraint Validation API. */
521
+ async getValidationState() {
522
+ return getFormValidationState(this.elementInternals);
523
+ }
524
+ /**
525
+ * Valida o modo de seleção e corrige para padrão se inválido.
526
+ *
527
+ * @param value - Modo informado pelo consumidor do componente.
528
+ */
529
+ ensureValidSelectionMode(value) {
530
+ this.selectionMode = normalizeDatetimePickerSelectionMode(value);
531
+ }
532
+ /**
533
+ * Normaliza o modo de seleção logo na inicialização.
534
+ */
535
+ initializeSelectionMode() {
536
+ this.handleSelectionModeChange(this.selectionMode);
537
+ }
538
+ /** Normaliza o dia inicial da semana logo na inicialização. */
539
+ initializeWeekStartsOn() {
540
+ this.handleWeekStartsOnChange(this.weekStartsOn);
541
+ }
542
+ /** Valida o dia inicial da semana e corrige para padrão quando necessário. */
543
+ ensureValidWeekStartsOn(value) {
544
+ this.weekStartsOn = normalizeDatetimePickerWeekStartsOn(value);
545
+ }
546
+ /**
547
+ * Limpa o estado do intervalo de datas ao mudar para modo single.
548
+ */
549
+ clearRangeState() {
550
+ this.rangeStart = null;
551
+ this.rangeEnd = null;
552
+ this.updateFormInternals();
553
+ }
554
+ /** Indica quando o componente está operando em seleção de intervalo por data. */
555
+ isRangeDateSelectionMode() {
556
+ return this.selectionMode === 'range' && this.mode === DATETIME_PICKER_MODE.DATE;
557
+ }
558
+ /**
559
+ * Resolve se o evento público deve ser emitido após um update vindo dos subcomponentes.
560
+ *
561
+ * No modo range, o evento externo só é emitido no clique final (quando `end` é definido).
562
+ */
563
+ resolvePublicEventEmissionForRange(range) {
564
+ if (!this.isRangeDateSelectionMode()) {
565
+ return true;
566
+ }
567
+ if (range === undefined) {
568
+ return false;
569
+ }
570
+ const isFinalRangeClick = this.rangeEnd === null && range.end !== null;
571
+ this.setRangeState(range);
572
+ return isFinalRangeClick;
573
+ }
574
+ /** Resolve a data efetivamente selecionada no evento para validar bloqueio em single/range. */
575
+ resolveSelectedDateFromEvent(range, value) {
576
+ if (!this.isRangeDateSelectionMode() || range === undefined) {
577
+ return value;
578
+ }
579
+ return range.end ?? range.start ?? value;
580
+ }
581
+ attachOutsideClickListener() {
582
+ if (this.outsideClickListenerAttached)
583
+ return;
584
+ document.addEventListener('click', this.handleOutsideClick);
585
+ this.outsideClickListenerAttached = true;
586
+ }
587
+ detachOutsideClickListener() {
588
+ if (!this.outsideClickListenerAttached)
589
+ return;
590
+ document.removeEventListener('click', this.handleOutsideClick);
591
+ this.outsideClickListenerAttached = false;
592
+ }
593
+ /**
594
+ * Garante que o componente inicie com um modo suportado.
595
+ */
596
+ initializeMode() {
597
+ this.ensureValidMode(this.mode);
598
+ }
599
+ /**
600
+ * Normaliza a coleção de datas desabilitadas na inicialização.
601
+ */
602
+ initializeDisabledDates() {
603
+ this.syncDisabledDates(this.disabledDates);
604
+ }
605
+ /**
606
+ * Normaliza e aplica as datas desabilitadas, limpando valor atual quando necessário.
607
+ *
608
+ * @param value - Valor bruto recebido por prop/atributo ou método público.
609
+ */
610
+ syncDisabledDates(value) {
611
+ this.normalizedDisabledDates = normalizeDatetimePickerDisabledDates(value);
612
+ if (this.rangeStart !== null && this.isDateDisabled(this.rangeStart)) {
613
+ this.rangeStart = null;
614
+ }
615
+ if (this.rangeEnd !== null && this.isDateDisabled(this.rangeEnd)) {
616
+ this.rangeEnd = null;
617
+ }
618
+ if (this.value !== null && this.isDateDisabled(this.value)) {
619
+ this.setComponentValue(null);
620
+ }
621
+ }
622
+ /**
623
+ * Aplica a seleção inicial configurada na prop.
624
+ */
625
+ initializeDefaultValue() {
626
+ if (this.value instanceof Date && !Number.isNaN(this.value.getTime())) {
627
+ this.referenceDate = toDate(this.value);
628
+ return;
629
+ }
630
+ this.value = null;
631
+ this.applyInitialMoment(this.initialMoment, false);
632
+ }
633
+ /**
634
+ * Aplica a seleção inicial recebida, com normalização de valores inválidos.
635
+ *
636
+ * @param selection - Configuração de seleção inicial.
637
+ */
638
+ applyInitialMoment(selection, shouldEmitEvents = true) {
639
+ if (this.isDisabled()) {
640
+ return;
641
+ }
642
+ const normalizedSelection = normalizeDatetimePickerInitialMoment(selection);
643
+ if (normalizedSelection === 'now') {
644
+ const now = toDate(new Date());
645
+ this.referenceDate = now;
646
+ this.setComponentValue(now, shouldEmitEvents);
647
+ return;
648
+ }
649
+ if (normalizedSelection === null) {
650
+ this.rangeStart = null;
651
+ this.rangeEnd = null;
652
+ this.setComponentValue(null, shouldEmitEvents);
653
+ return;
654
+ }
655
+ const selectedDate = toDate(normalizedSelection);
656
+ if (this.isDateDisabled(selectedDate)) {
657
+ this.setComponentValue(null, shouldEmitEvents);
658
+ return;
659
+ }
660
+ this.referenceDate = selectedDate;
661
+ this.rangeStart = null;
662
+ this.rangeEnd = null;
663
+ this.setComponentValue(selectedDate, shouldEmitEvents);
664
+ }
665
+ /** Indica se o estado serializado deve ser interpretado como intervalo. */
666
+ isRangeRestoreMode() {
667
+ return this.selectionMode === 'range' && this.mode === DATETIME_PICKER_MODE.DATE;
668
+ }
669
+ /** Restaura estado de intervalo a partir do valor serializado do formulário. */
670
+ restoreRangeStateFromSerialized(serializedState) {
671
+ const restoredRange = parseDatetimePickerSerializedRange(serializedState);
672
+ if (restoredRange === null) {
673
+ this.restoreSelection(null);
674
+ return;
675
+ }
676
+ const { start, end } = restoredRange;
677
+ this.rangeStart = start;
678
+ this.rangeEnd = end;
679
+ this.restoreSelection(end);
680
+ }
681
+ /** Restaura estado de seleção única a partir do valor serializado do formulário. */
682
+ restoreSingleStateFromSerialized(serializedState) {
683
+ const restoredValue = parseDatetimePickerSerializedValue(serializedState, this.mode, this.referenceDate);
684
+ if (restoredValue !== null && this.isDateDisabled(restoredValue)) {
685
+ this.restoreSelection(null);
686
+ return;
687
+ }
688
+ this.restoreSelection(restoredValue);
689
+ }
690
+ /** Resolve Date|null a partir de valores aceitos pelos métodos públicos. */
691
+ parseMethodValue(value, mode) {
692
+ if (value === null) {
693
+ return null;
694
+ }
695
+ if (value instanceof Date) {
696
+ return Number.isNaN(value.getTime()) ? null : toDate(value);
697
+ }
698
+ return parseDatetimePickerSerializedValue(value, mode, this.referenceDate);
699
+ }
700
+ /** Aplica a ponte serializada usando os mesmos parsers já usados por restore de formulário. */
701
+ restoreSerializedValue(serializedValue) {
702
+ if (this.isRangeRestoreMode()) {
703
+ this.restoreRangeStateFromSerialized(serializedValue);
704
+ return;
705
+ }
706
+ this.restoreSingleStateFromSerialized(serializedValue);
707
+ }
708
+ /** Atualiza os nomes canônicos sem emitir eventos adicionais ou criar ciclos de watchers. */
709
+ syncCanonicalValues() {
710
+ const nextSerializedValue = this.getSerializedValue();
711
+ const nextValueAsDate = this.cloneDate(this.value);
712
+ if (this.serializedValue === nextSerializedValue && this.sameDate(this.valueAsDate ?? null, nextValueAsDate))
713
+ return;
714
+ this.syncingCanonicalValues = true;
715
+ this.serializedValue = nextSerializedValue;
716
+ this.valueAsDate = nextValueAsDate;
717
+ this.syncingCanonicalValues = false;
718
+ }
719
+ /** Retorna o mesmo valor que será submetido pelo ElementInternals. */
720
+ getSerializedValue() {
721
+ const zero = (date) => (date === null ? null : set(date, { seconds: 0, milliseconds: 0 }));
722
+ return (serializeDatetimePickerFormValue(this.value === null ? null : zero(this.value), {
723
+ mode: this.mode,
724
+ selectionMode: this.selectionMode,
725
+ rangeStart: zero(this.rangeStart),
726
+ rangeEnd: zero(this.rangeEnd),
727
+ referenceDate: zero(this.referenceDate) ?? this.referenceDate,
728
+ }) ?? '');
729
+ }
730
+ sameDate(left, right) {
731
+ return left === right || (left !== null && right !== null && left.getTime() === right.getTime());
732
+ }
733
+ /** Busca o input nativo interno para ações imperativas de foco. */
734
+ getNativeInputElement() {
735
+ return this.el.shadowRoot
736
+ ?.querySelector('br-datetime-input')
737
+ ?.shadowRoot?.querySelector('br-input')
738
+ ?.shadowRoot?.querySelector('input');
739
+ }
740
+ /** Atualiza estado interno, FormData e validação com uma única chamada. */
741
+ setComponentValue(nextValue, shouldEmitPublicEvent = true) {
742
+ this.value = this.cloneDate(nextValue);
743
+ this.syncCanonicalValues();
744
+ if (shouldEmitPublicEvent && this.isInitialized) {
745
+ this.emitDateStateChange();
746
+ void this.validate();
747
+ }
748
+ this.updateFormInternals();
749
+ }
750
+ /** Propaga o estado atual consolidado para consumidores externos do componente raiz. */
751
+ emitDateStateChange() {
752
+ const range = this.selectionMode === 'range' && this.mode === DATETIME_PICKER_MODE.DATE
753
+ ? {
754
+ start: this.cloneDate(this.rangeStart),
755
+ end: this.cloneDate(this.rangeEnd),
756
+ }
757
+ : undefined;
758
+ const rangeDates = range !== undefined && range.start !== null && range.end !== null
759
+ ? this.buildRangeDatesState(range.start, range.end)
760
+ : undefined;
761
+ this.dateStateChange.emit({
762
+ referenceDate: this.cloneDate(this.referenceDate),
763
+ value: this.cloneDate(this.value),
764
+ range,
765
+ rangeDates,
766
+ });
767
+ if (range)
768
+ this.rangeValue = range;
769
+ this.valueChange.emit(this.cloneDate(this.value));
770
+ dispatchNativeFormEvent(this.el, 'input');
771
+ dispatchNativeFormEvent(this.el, 'change');
772
+ }
773
+ /** Expande o intervalo completo e marca quais dias estão desabilitados. */
774
+ buildRangeDatesState(start, end) {
775
+ const intervalStart = start.getTime() <= end.getTime() ? start : end;
776
+ const intervalEnd = start.getTime() <= end.getTime() ? end : start;
777
+ return eachDayOfInterval({
778
+ start: intervalStart,
779
+ end: intervalEnd,
780
+ }).map((date) => ({
781
+ date: toDate(date),
782
+ disabled: this.isDateDisabled(date),
783
+ }));
784
+ }
785
+ /** Restaura seleção e data de referência a partir de uma data já validada. */
786
+ restoreSelection(nextValue) {
787
+ this.value = this.cloneDate(nextValue);
788
+ if (this.selectionMode === 'single') {
789
+ this.rangeStart = null;
790
+ this.rangeEnd = null;
791
+ }
792
+ this.referenceDate = nextValue === null ? toDate(new Date()) : toDate(nextValue);
793
+ this.syncCanonicalValues();
794
+ this.updateFormInternals();
795
+ }
796
+ /** Atualiza o estado local de intervalo a partir do evento do calendário. */
797
+ setRangeState(nextRange) {
798
+ this.rangeStart = this.cloneDate(nextRange?.start ?? null);
799
+ this.rangeEnd = this.cloneDate(nextRange?.end ?? null);
800
+ }
801
+ /** Mantém ElementInternals sincronizado com estado e regras do componente. */
802
+ updateFormInternals() {
803
+ this.syncFormValue();
804
+ this.syncFormValidity();
805
+ }
806
+ /** Atualiza o valor submetido no FormData do form-associated custom element. */
807
+ syncFormValue() {
808
+ try {
809
+ const zero = (d) => (d === null ? null : set(d, { seconds: 0, milliseconds: 0 }));
810
+ const nextValue = this.isDisabled()
811
+ ? null
812
+ : serializeDatetimePickerFormValue(this.value === null ? null : zero(this.value), {
813
+ mode: this.mode,
814
+ selectionMode: this.selectionMode,
815
+ rangeStart: zero(this.rangeStart),
816
+ rangeEnd: zero(this.rangeEnd),
817
+ referenceDate: zero(this.referenceDate) ?? this.referenceDate,
818
+ });
819
+ this.elementInternals.setFormValue(nextValue);
820
+ }
821
+ catch {
822
+ // Ambientes de teste podem esconder attachInternals parcialmente.
823
+ }
824
+ }
825
+ /** Espelha a regra de required no mecanismo nativo de validade. */
826
+ // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: consolida flags nativos relacionados sem esconder a precedência das mensagens.
827
+ syncFormValidity() {
828
+ try {
829
+ const missing = hasDatetimePickerMissingValue({
830
+ required: this.required,
831
+ disabled: this.isDisabled(),
832
+ value: this.value,
833
+ mode: this.mode,
834
+ selectionMode: this.selectionMode,
835
+ rangeStart: this.rangeStart,
836
+ rangeEnd: this.rangeEnd,
837
+ referenceDate: this.referenceDate,
838
+ });
839
+ const min = this.parseConstraintValue(this.min);
840
+ const max = this.parseConstraintValue(this.max);
841
+ const values = this.selectionMode === 'range' ? [this.rangeStart, this.rangeEnd] : [this.value];
842
+ const rangeUnderflow = min !== null && values.some((value) => value !== null && value.getTime() < min.getTime());
843
+ const rangeOverflow = max !== null && values.some((value) => value !== null && value.getTime() > max.getTime());
844
+ const invalidRange = this.selectionMode === 'range' &&
845
+ this.rangeStart !== null &&
846
+ this.rangeEnd !== null &&
847
+ this.rangeStart.getTime() > this.rangeEnd.getTime();
848
+ const flags = {
849
+ customError: this.customValidationMessage !== '' || Boolean(this.validatorMessage) || invalidRange,
850
+ rangeOverflow,
851
+ rangeUnderflow,
852
+ valueMissing: missing,
853
+ };
854
+ const message = this.customValidationMessage ||
855
+ this.validatorMessage ||
856
+ (missing
857
+ ? 'Preencha este campo.'
858
+ : invalidRange
859
+ ? 'A data inicial deve anteceder a data final.'
860
+ : rangeUnderflow
861
+ ? 'Selecione uma data igual ou posterior ao mínimo.'
862
+ : rangeOverflow
863
+ ? 'Selecione uma data igual ou anterior ao máximo.'
864
+ : '');
865
+ setFormValidity(this.elementInternals, flags, message, this.getNativeInputElement());
866
+ }
867
+ catch {
868
+ // Ambientes sem ElementInternals completo não devem falhar.
869
+ }
870
+ }
871
+ parseConstraintValue(value) {
872
+ return value === null ? null : this.parseMethodValue(value, this.mode);
873
+ }
874
+ isDisabled() {
875
+ return isFormControlDisabled(this.disabled, this.formDisabled);
876
+ }
877
+ /** Duplica datas para evitar compartilhamento de referência mutável. */
878
+ cloneDate(value) {
879
+ return value === null ? null : toDate(value);
880
+ }
881
+ /**
882
+ * Verifica se a data pertence ao conjunto de dias bloqueados.
883
+ *
884
+ * @param date - Data candidata à seleção.
885
+ * @returns `true` quando o dia estiver desabilitado.
886
+ */
887
+ isDateDisabled(date) {
888
+ return this.normalizedDisabledDates.some((disabledDate) => isSameDay(disabledDate, date));
889
+ }
890
+ /**
891
+ * Corrige valores inválidos para o modo padrão, preservando a consistência do estado refletido.
892
+ *
893
+ * @param value - Modo informado pelo consumidor do componente.
894
+ */
895
+ ensureValidMode(value) {
896
+ const normalizedMode = normalizeDatetimePickerMode(value);
897
+ if (normalizedMode !== value) {
898
+ this.mode = normalizedMode;
899
+ }
900
+ }
901
+ /**
902
+ * Resolve a função de renderização associada ao modo atual.
903
+ *
904
+ * @returns Função que renderiza o conteúdo interno do picker.
905
+ */
906
+ getModeRenderer() {
907
+ return this.modeRendererMap[this.mode];
908
+ }
909
+ /** Retorna o conjunto de classes base aplicadas ao container do componente. */
910
+ getCssClassMap() {
911
+ return {
912
+ 'br-datetime-picker': true,
913
+ };
914
+ }
915
+ /**
916
+ * Agrupa os bindings compartilhados para evitar divergência entre data e horário.
917
+ */
918
+ getSharedDateStateBindings() {
919
+ return {
920
+ referenceDate: this.referenceDate,
921
+ value: this.value,
922
+ selectionMode: this.selectionMode,
923
+ rangeStart: this.rangeStart,
924
+ rangeEnd: this.rangeEnd,
925
+ onDateStateChange: this.handleDateStateChange,
926
+ };
927
+ }
928
+ /** Renderiza o campo de entrada responsável por abrir e sincronizar o picker. */
929
+ renderInputField() {
930
+ return (h("br-datetime-input", { referenceDate: this.referenceDate, value: this.value, selectionMode: this.selectionMode, rangeStart: this.rangeStart, rangeEnd: this.rangeEnd, placeholder: this.placeholder, mode: this.mode, disabled: this.isDisabled(), onDateStateChange: this.handleDateStateChange, onTogglePicker: this.handleTogglePicker, exportparts: "container: input-container, input: input-field, icon: input-icon" }));
931
+ }
932
+ /** Renderiza apenas o seletor de data. */
933
+ renderDatePicker() {
934
+ const effectiveSelectionMode = this.mode === DATETIME_PICKER_MODE.DATE ? this.selectionMode : 'single';
935
+ return (h("br-date-picker", { ...this.getSharedDateStateBindings(), selectionMode: effectiveSelectionMode, weekStartsOn: this.weekStartsOn, locale: this.locale, disabled: this.isDisabled(), disabledDates: this.normalizedDisabledDates, fixedRowCount: this.fixedRowCount }));
936
+ }
937
+ /** Renderiza apenas o seletor de hora. */
938
+ renderTimePicker() {
939
+ return h("br-time-picker", { ...this.getSharedDateStateBindings(), disabled: this.isDisabled() });
940
+ }
941
+ /**
942
+ * Renderiza a combinação de data e horário no modo `datetime`.
943
+ */
944
+ renderDateTimePicker() {
945
+ return (h(Fragment, null, this.renderDatePicker(), this.renderDivider(), this.renderTimePicker()));
946
+ }
947
+ /** Renderiza o separador visual entre data e hora no modo combinado. */
948
+ renderDivider() {
949
+ return h("br-divider", { thickness: "medium", color: "#e6e6e6", "margin-top": "10px", "margin-bottom": "10px" });
950
+ }
951
+ /**
952
+ * Resolve o conteúdo interno conforme o modo atual do componente.
953
+ */
954
+ renderPickerContent() {
955
+ if (!this.isPickerOpen) {
956
+ return null;
957
+ }
958
+ const renderContent = this.getModeRenderer();
959
+ return h("br-card", { part: "panel" }, renderContent());
960
+ }
961
+ /**
962
+ * Renderização principal do componente.
963
+ */
964
+ render() {
965
+ return (h(Host, { key: '3b5767a6ee82dfd10d095c4c3c4855d75f22bbd4', onKeyDown: this.handlePickerKeydown, "aria-busy": this.isValidating ? 'true' : null, "aria-describedby": this.hasFeedbackSlot || this.customValidationMessage || this.validatorMessage ? this.feedbackId : null, "aria-errormessage": this.customValidationMessage || this.validatorMessage || this.hasFeedbackSlot ? this.feedbackId : null }, h("div", { key: '7b7c74d3cea1c568d53c5be9d8a687d95472e568', class: this.getCssClassMap(), part: "container" }, this.renderInputField(), this.renderPickerContent()), h("div", { key: '442f9d5e82c126ee9c1527eb26d3bfca7141caf2', id: this.feedbackId, part: "feedback", hidden: !this.hasFeedbackSlot && !this.customValidationMessage && !this.validatorMessage }, h("slot", { key: '830105a39d1e42db3f13d091f88fd7313330dee7', name: "feedback", onSlotchange: (event) => (this.hasFeedbackSlot = hasAssignedSlotContent(event.currentTarget)) }), !this.hasFeedbackSlot && (this.customValidationMessage || this.validatorMessage) ? (h("br-message", { state: "danger", message: this.customValidationMessage || this.validatorMessage })) : null)));
966
+ }
967
+ static get is() { return "br-datetime-picker"; }
968
+ static get encapsulation() { return "shadow"; }
969
+ static get delegatesFocus() { return true; }
970
+ static get formAssociated() { return true; }
971
+ static get originalStyleUrls() {
972
+ return {
973
+ "$": ["datetime-picker.scss"]
974
+ };
975
+ }
976
+ static get styleUrls() {
977
+ return {
978
+ "$": ["datetime-picker.css"]
979
+ };
980
+ }
981
+ static get properties() {
982
+ return {
983
+ "mode": {
984
+ "type": "string",
985
+ "mutable": true,
986
+ "complexType": {
987
+ "original": "DatetimePickerMode",
988
+ "resolved": "\"date\" | \"datetime\" | \"time\"",
989
+ "references": {
990
+ "DatetimePickerMode": {
991
+ "location": "import",
992
+ "path": "./datetime-picker.types",
993
+ "id": "src/components/datetime-picker/datetime-picker.types.ts::DatetimePickerMode",
994
+ "referenceLocation": "DatetimePickerMode"
995
+ }
996
+ }
997
+ },
998
+ "required": false,
999
+ "optional": false,
1000
+ "docs": {
1001
+ "tags": [{
1002
+ "name": "default",
1003
+ "text": "'datetime'"
1004
+ }],
1005
+ "text": "Define o modo de sele\u00E7\u00E3o exibido pelo componente: data, hor\u00E1rio ou ambos.\n\nValores aceitos: `date`, `time` ou `datetime`.\nValores inv\u00E1lidos s\u00E3o corrigidos automaticamente para o valor padr\u00E3o,\nmantendo o atributo refletido sempre consistente com o modo exibido."
1006
+ },
1007
+ "getter": false,
1008
+ "setter": false,
1009
+ "reflect": true,
1010
+ "attribute": "mode",
1011
+ "defaultValue": "'datetime'"
1012
+ },
1013
+ "locale": {
1014
+ "type": "string",
1015
+ "mutable": false,
1016
+ "complexType": {
1017
+ "original": "DatetimePickerLocale",
1018
+ "resolved": "string",
1019
+ "references": {
1020
+ "DatetimePickerLocale": {
1021
+ "location": "import",
1022
+ "path": "./datetime-picker.types",
1023
+ "id": "src/components/datetime-picker/datetime-picker.types.ts::DatetimePickerLocale",
1024
+ "referenceLocation": "DatetimePickerLocale"
1025
+ }
1026
+ }
1027
+ },
1028
+ "required": false,
1029
+ "optional": false,
1030
+ "docs": {
1031
+ "tags": [{
1032
+ "name": "default",
1033
+ "text": "'pt-BR'"
1034
+ }],
1035
+ "text": "Define o locale usado pelos subcomponentes para formatar datas e r\u00F3tulos."
1036
+ },
1037
+ "getter": false,
1038
+ "setter": false,
1039
+ "reflect": true,
1040
+ "attribute": "locale",
1041
+ "defaultValue": "'pt-BR'"
1042
+ },
1043
+ "placeholder": {
1044
+ "type": "string",
1045
+ "mutable": false,
1046
+ "complexType": {
1047
+ "original": "string",
1048
+ "resolved": "string",
1049
+ "references": {}
1050
+ },
1051
+ "required": false,
1052
+ "optional": false,
1053
+ "docs": {
1054
+ "tags": [{
1055
+ "name": "default",
1056
+ "text": "''"
1057
+ }],
1058
+ "text": "Define o placeholder exibido no campo de entrada do datetime picker."
1059
+ },
1060
+ "getter": false,
1061
+ "setter": false,
1062
+ "reflect": false,
1063
+ "attribute": "placeholder",
1064
+ "defaultValue": "''"
1065
+ },
1066
+ "name": {
1067
+ "type": "string",
1068
+ "mutable": false,
1069
+ "complexType": {
1070
+ "original": "string",
1071
+ "resolved": "string",
1072
+ "references": {}
1073
+ },
1074
+ "required": false,
1075
+ "optional": false,
1076
+ "docs": {
1077
+ "tags": [],
1078
+ "text": "Nome do campo para submiss\u00E3o em formul\u00E1rios nativos."
1079
+ },
1080
+ "getter": false,
1081
+ "setter": false,
1082
+ "reflect": true,
1083
+ "attribute": "name",
1084
+ "defaultValue": "''"
1085
+ },
1086
+ "required": {
1087
+ "type": "boolean",
1088
+ "mutable": false,
1089
+ "complexType": {
1090
+ "original": "boolean",
1091
+ "resolved": "boolean",
1092
+ "references": {}
1093
+ },
1094
+ "required": false,
1095
+ "optional": false,
1096
+ "docs": {
1097
+ "tags": [],
1098
+ "text": "Indica se o campo deve ter valor antes do envio do formul\u00E1rio."
1099
+ },
1100
+ "getter": false,
1101
+ "setter": false,
1102
+ "reflect": true,
1103
+ "attribute": "required",
1104
+ "defaultValue": "false"
1105
+ },
1106
+ "min": {
1107
+ "type": "string",
1108
+ "mutable": false,
1109
+ "complexType": {
1110
+ "original": "Date | string | null",
1111
+ "resolved": "Date | string",
1112
+ "references": {
1113
+ "Date": {
1114
+ "location": "global",
1115
+ "id": "global::Date"
1116
+ }
1117
+ }
1118
+ },
1119
+ "required": false,
1120
+ "optional": false,
1121
+ "docs": {
1122
+ "tags": [],
1123
+ "text": "Menor data/hor\u00E1rio aceito, interpretado conforme `mode`."
1124
+ },
1125
+ "getter": false,
1126
+ "setter": false,
1127
+ "reflect": false,
1128
+ "attribute": "min",
1129
+ "defaultValue": "null"
1130
+ },
1131
+ "max": {
1132
+ "type": "string",
1133
+ "mutable": false,
1134
+ "complexType": {
1135
+ "original": "Date | string | null",
1136
+ "resolved": "Date | string",
1137
+ "references": {
1138
+ "Date": {
1139
+ "location": "global",
1140
+ "id": "global::Date"
1141
+ }
1142
+ }
1143
+ },
1144
+ "required": false,
1145
+ "optional": false,
1146
+ "docs": {
1147
+ "tags": [],
1148
+ "text": "Maior data/hor\u00E1rio aceito, interpretado conforme `mode`."
1149
+ },
1150
+ "getter": false,
1151
+ "setter": false,
1152
+ "reflect": false,
1153
+ "attribute": "max",
1154
+ "defaultValue": "null"
1155
+ },
1156
+ "validator": {
1157
+ "type": "unknown",
1158
+ "mutable": false,
1159
+ "complexType": {
1160
+ "original": "DatetimePickerValidator",
1161
+ "resolved": "(value: Date | DatetimePickerDateRange) => string | Promise<string>",
1162
+ "references": {
1163
+ "DatetimePickerValidator": {
1164
+ "location": "import",
1165
+ "path": "./datetime-picker.types",
1166
+ "id": "src/components/datetime-picker/datetime-picker.types.ts::DatetimePickerValidator",
1167
+ "referenceLocation": "DatetimePickerValidator"
1168
+ }
1169
+ }
1170
+ },
1171
+ "required": false,
1172
+ "optional": true,
1173
+ "docs": {
1174
+ "tags": [],
1175
+ "text": "Regra s\u00EDncrona ou ass\u00EDncrona aplicada \u00E0 data ou intervalo selecionado."
1176
+ },
1177
+ "getter": false,
1178
+ "setter": false
1179
+ },
1180
+ "selectionMode": {
1181
+ "type": "string",
1182
+ "mutable": true,
1183
+ "complexType": {
1184
+ "original": "DatetimePickerSelectionMode",
1185
+ "resolved": "\"range\" | \"single\"",
1186
+ "references": {
1187
+ "DatetimePickerSelectionMode": {
1188
+ "location": "import",
1189
+ "path": "./datetime-picker.types",
1190
+ "id": "src/components/datetime-picker/datetime-picker.types.ts::DatetimePickerSelectionMode",
1191
+ "referenceLocation": "DatetimePickerSelectionMode"
1192
+ }
1193
+ }
1194
+ },
1195
+ "required": false,
1196
+ "optional": false,
1197
+ "docs": {
1198
+ "tags": [],
1199
+ "text": "Define o tipo de sele\u00E7\u00E3o de datas para o calend\u00E1rio: \u00FAnica ou intervalo.\n\n`range` s\u00F3 funciona em conjunto com `mode=\"date\"`.\nSe `selectionMode=\"range\"` for informado, o componente ajusta automaticamente\n`mode` para `date`. Se `mode` mudar para `time` ou `datetime`, o componente\nnormaliza `selectionMode` para `single` quando necess\u00E1rio."
1200
+ },
1201
+ "getter": false,
1202
+ "setter": false,
1203
+ "reflect": true,
1204
+ "attribute": "selection-mode",
1205
+ "defaultValue": "'single'"
1206
+ },
1207
+ "weekStartsOn": {
1208
+ "type": "number",
1209
+ "mutable": true,
1210
+ "complexType": {
1211
+ "original": "DatetimePickerWeekDayIndex",
1212
+ "resolved": "0 | 1 | 2 | 3 | 4 | 5 | 6",
1213
+ "references": {
1214
+ "DatetimePickerWeekDayIndex": {
1215
+ "location": "import",
1216
+ "path": "./datetime-picker.types",
1217
+ "id": "src/components/datetime-picker/datetime-picker.types.ts::DatetimePickerWeekDayIndex",
1218
+ "referenceLocation": "DatetimePickerWeekDayIndex"
1219
+ }
1220
+ }
1221
+ },
1222
+ "required": false,
1223
+ "optional": false,
1224
+ "docs": {
1225
+ "tags": [{
1226
+ "name": "default",
1227
+ "text": "0"
1228
+ }],
1229
+ "text": "Define o dia inicial da semana exibida no calend\u00E1rio.\n\nValores suportados: 0 (domingo) a 6 (s\u00E1bado)."
1230
+ },
1231
+ "getter": false,
1232
+ "setter": false,
1233
+ "reflect": true,
1234
+ "attribute": "week-starts-on",
1235
+ "defaultValue": "0"
1236
+ },
1237
+ "initialMoment": {
1238
+ "type": "string",
1239
+ "mutable": false,
1240
+ "complexType": {
1241
+ "original": "DatetimePickerInitialMoment",
1242
+ "resolved": "Date | string",
1243
+ "references": {
1244
+ "DatetimePickerInitialMoment": {
1245
+ "location": "import",
1246
+ "path": "./datetime-picker.types",
1247
+ "id": "src/components/datetime-picker/datetime-picker.types.ts::DatetimePickerInitialMoment",
1248
+ "referenceLocation": "DatetimePickerInitialMoment"
1249
+ }
1250
+ }
1251
+ },
1252
+ "required": false,
1253
+ "optional": false,
1254
+ "docs": {
1255
+ "tags": [{
1256
+ "name": "default",
1257
+ "text": "null"
1258
+ }],
1259
+ "text": "Define a sele\u00E7\u00E3o inicial do componente.\n\nAceita:\n- `'now'`: seleciona o momento atual.\n- `Date` ou `string`: seleciona uma data arbitr\u00E1ria.\n- `null`: inicia sem sele\u00E7\u00E3o.\n\nReativo em runtime: mudan\u00E7as na prop atualizam estado e subcomponentes."
1260
+ },
1261
+ "getter": false,
1262
+ "setter": false,
1263
+ "reflect": false,
1264
+ "attribute": "initial-moment",
1265
+ "defaultValue": "null"
1266
+ },
1267
+ "value": {
1268
+ "type": "unknown",
1269
+ "mutable": true,
1270
+ "complexType": {
1271
+ "original": "Date | null",
1272
+ "resolved": "Date",
1273
+ "references": {
1274
+ "Date": {
1275
+ "location": "global",
1276
+ "id": "global::Date"
1277
+ }
1278
+ }
1279
+ },
1280
+ "required": false,
1281
+ "optional": false,
1282
+ "docs": {
1283
+ "tags": [],
1284
+ "text": "Valor selecionado pelo usu\u00E1rio. Pode ser controlado externamente e \u00E9 atualizado\npelo evento `valueChange`."
1285
+ },
1286
+ "getter": false,
1287
+ "setter": false,
1288
+ "defaultValue": "null"
1289
+ },
1290
+ "serializedValue": {
1291
+ "type": "string",
1292
+ "mutable": true,
1293
+ "complexType": {
1294
+ "original": "string",
1295
+ "resolved": "string",
1296
+ "references": {}
1297
+ },
1298
+ "required": false,
1299
+ "optional": true,
1300
+ "docs": {
1301
+ "tags": [],
1302
+ "text": "Representa\u00E7\u00E3o serializada compat\u00EDvel com os formatos de controles HTML (`YYYY-MM-DD`, `HH:mm`\nou ISO local, conforme `mode`). Em intervalos, usa `in\u00EDcio/fim`.\n\nQuando informada, tem preced\u00EAncia sobre o valor legado `value` durante a inicializa\u00E7\u00E3o."
1303
+ },
1304
+ "getter": false,
1305
+ "setter": false,
1306
+ "reflect": false,
1307
+ "attribute": "serialized-value"
1308
+ },
1309
+ "valueAsDate": {
1310
+ "type": "unknown",
1311
+ "mutable": true,
1312
+ "complexType": {
1313
+ "original": "Date | null",
1314
+ "resolved": "Date",
1315
+ "references": {
1316
+ "Date": {
1317
+ "location": "global",
1318
+ "id": "global::Date"
1319
+ }
1320
+ }
1321
+ },
1322
+ "required": false,
1323
+ "optional": true,
1324
+ "docs": {
1325
+ "tags": [],
1326
+ "text": "Espelho tipado da sele\u00E7\u00E3o atual, equivalente ao padr\u00E3o `valueAsDate` dos controles HTML."
1327
+ },
1328
+ "getter": false,
1329
+ "setter": false
1330
+ },
1331
+ "rangeValue": {
1332
+ "type": "unknown",
1333
+ "mutable": true,
1334
+ "complexType": {
1335
+ "original": "DatetimePickerDateRange",
1336
+ "resolved": "{ start: Date; end: Date; }",
1337
+ "references": {
1338
+ "DatetimePickerDateRange": {
1339
+ "location": "import",
1340
+ "path": "./datetime-picker.types",
1341
+ "id": "src/components/datetime-picker/datetime-picker.types.ts::DatetimePickerDateRange",
1342
+ "referenceLocation": "DatetimePickerDateRange"
1343
+ }
1344
+ }
1345
+ },
1346
+ "required": false,
1347
+ "optional": true,
1348
+ "docs": {
1349
+ "tags": [],
1350
+ "text": "Intervalo controlado quando `selectionMode=\"range\"`."
1351
+ },
1352
+ "getter": false,
1353
+ "setter": false
1354
+ },
1355
+ "disabled": {
1356
+ "type": "boolean",
1357
+ "mutable": false,
1358
+ "complexType": {
1359
+ "original": "boolean",
1360
+ "resolved": "boolean",
1361
+ "references": {}
1362
+ },
1363
+ "required": false,
1364
+ "optional": false,
1365
+ "docs": {
1366
+ "tags": [{
1367
+ "name": "default",
1368
+ "text": "false"
1369
+ }],
1370
+ "text": "Desabilita toda a intera\u00E7\u00E3o do componente.\n\nQuando `true`, impede abrir o picker, alterar valores e navegar entre datas/hor\u00E1rios."
1371
+ },
1372
+ "getter": false,
1373
+ "setter": false,
1374
+ "reflect": false,
1375
+ "attribute": "disabled",
1376
+ "defaultValue": "false"
1377
+ },
1378
+ "disabledDates": {
1379
+ "type": "string",
1380
+ "mutable": false,
1381
+ "complexType": {
1382
+ "original": "DatetimePickerDisabledDates",
1383
+ "resolved": "DatetimePickerDisabledDate[] | string",
1384
+ "references": {
1385
+ "DatetimePickerDisabledDates": {
1386
+ "location": "import",
1387
+ "path": "./datetime-picker.types",
1388
+ "id": "src/components/datetime-picker/datetime-picker.types.ts::DatetimePickerDisabledDates",
1389
+ "referenceLocation": "DatetimePickerDisabledDates"
1390
+ }
1391
+ }
1392
+ },
1393
+ "required": false,
1394
+ "optional": false,
1395
+ "docs": {
1396
+ "tags": [{
1397
+ "name": "default",
1398
+ "text": "null"
1399
+ }],
1400
+ "text": "Define um conjunto de datas indispon\u00EDveis para sele\u00E7\u00E3o.\n\nAceita uma lista de `Date` e/ou strings analis\u00E1veis, ou uma string com datas\nseparadas por espa\u00E7o em branco. Datas inv\u00E1lidas s\u00E3o ignoradas com warning.\nA compara\u00E7\u00E3o considera apenas o dia (ano/m\u00EAs/dia), ignorando hora."
1401
+ },
1402
+ "getter": false,
1403
+ "setter": false,
1404
+ "reflect": false,
1405
+ "attribute": "disabled-dates",
1406
+ "defaultValue": "null"
1407
+ },
1408
+ "fixedRowCount": {
1409
+ "type": "boolean",
1410
+ "mutable": false,
1411
+ "complexType": {
1412
+ "original": "boolean",
1413
+ "resolved": "boolean",
1414
+ "references": {}
1415
+ },
1416
+ "required": false,
1417
+ "optional": false,
1418
+ "docs": {
1419
+ "tags": [{
1420
+ "name": "default",
1421
+ "text": "false"
1422
+ }],
1423
+ "text": "Define se o calend\u00E1rio deve manter um n\u00FAmero fixo de linhas (6 semanas = 42 dias)\nou variar conforme o m\u00EAs.\n\nQuando `true`, o calend\u00E1rio sempre exibe 6 semanas completas.\nQuando `false`, o calend\u00E1rio adapta-se ao m\u00EAs, exibindo apenas as semanas necess\u00E1rias."
1424
+ },
1425
+ "getter": false,
1426
+ "setter": false,
1427
+ "reflect": true,
1428
+ "attribute": "fixed-row-count",
1429
+ "defaultValue": "false"
1430
+ }
1431
+ };
1432
+ }
1433
+ static get states() {
1434
+ return {
1435
+ "isPickerOpen": {},
1436
+ "formDisabled": {},
1437
+ "hasFeedbackSlot": {},
1438
+ "customValidationMessage": {},
1439
+ "validatorMessage": {},
1440
+ "isValidating": {},
1441
+ "normalizedDisabledDates": {},
1442
+ "rangeEnd": {},
1443
+ "rangeStart": {},
1444
+ "referenceDate": {}
1445
+ };
1446
+ }
1447
+ static get events() {
1448
+ return [{
1449
+ "method": "dateStateChange",
1450
+ "name": "dateStateChange",
1451
+ "bubbles": true,
1452
+ "cancelable": true,
1453
+ "composed": true,
1454
+ "docs": {
1455
+ "tags": [],
1456
+ "text": "Evento p\u00FAblico emitido quando a data de refer\u00EAncia ou a sele\u00E7\u00E3o mudam."
1457
+ },
1458
+ "complexType": {
1459
+ "original": "DatetimePickerDateState",
1460
+ "resolved": "{ referenceDate: Date; value: Date; range?: DatetimePickerDateRange; rangeDates?: DatetimePickerRangeDateState[]; }",
1461
+ "references": {
1462
+ "DatetimePickerDateState": {
1463
+ "location": "import",
1464
+ "path": "./datetime-picker.types",
1465
+ "id": "src/components/datetime-picker/datetime-picker.types.ts::DatetimePickerDateState",
1466
+ "referenceLocation": "DatetimePickerDateState"
1467
+ }
1468
+ }
1469
+ }
1470
+ }, {
1471
+ "method": "valueChange",
1472
+ "name": "valueChange",
1473
+ "bubbles": true,
1474
+ "cancelable": true,
1475
+ "composed": true,
1476
+ "docs": {
1477
+ "tags": [{
1478
+ "name": "deprecated",
1479
+ "text": "Use `input`/`change` e leia `event.target.value`."
1480
+ }],
1481
+ "text": "Evento emitido quando o valor selecionado muda."
1482
+ },
1483
+ "complexType": {
1484
+ "original": "Date | null",
1485
+ "resolved": "Date",
1486
+ "references": {
1487
+ "Date": {
1488
+ "location": "global",
1489
+ "id": "global::Date"
1490
+ }
1491
+ }
1492
+ }
1493
+ }, {
1494
+ "method": "brDatetimePickerValidationChange",
1495
+ "name": "brDatetimePickerValidationChange",
1496
+ "bubbles": true,
1497
+ "cancelable": true,
1498
+ "composed": true,
1499
+ "docs": {
1500
+ "tags": [],
1501
+ "text": "Emitido ao iniciar e concluir a valida\u00E7\u00E3o customizada."
1502
+ },
1503
+ "complexType": {
1504
+ "original": "FormValidationChangeDetail",
1505
+ "resolved": "FormValidationChangeDetail",
1506
+ "references": {
1507
+ "FormValidationChangeDetail": {
1508
+ "location": "import",
1509
+ "path": "../../shared/utils/validator",
1510
+ "id": "src/shared/utils/validator.ts::FormValidationChangeDetail",
1511
+ "referenceLocation": "FormValidationChangeDetail"
1512
+ }
1513
+ }
1514
+ }
1515
+ }];
1516
+ }
1517
+ static get methods() {
1518
+ return {
1519
+ "setDisabledDates": {
1520
+ "complexType": {
1521
+ "signature": "(dates: DatetimePickerDisabledDate[] | null) => Promise<void>",
1522
+ "parameters": [{
1523
+ "name": "dates",
1524
+ "type": "DatetimePickerDisabledDate[]",
1525
+ "docs": "- Lista de datas (Date|string) a bloquear."
1526
+ }],
1527
+ "references": {
1528
+ "Promise": {
1529
+ "location": "global",
1530
+ "id": "global::Promise"
1531
+ },
1532
+ "DatetimePickerDisabledDate": {
1533
+ "location": "import",
1534
+ "path": "./datetime-picker.types",
1535
+ "id": "src/components/datetime-picker/datetime-picker.types.ts::DatetimePickerDisabledDate",
1536
+ "referenceLocation": "DatetimePickerDisabledDate"
1537
+ }
1538
+ },
1539
+ "return": "Promise<void>"
1540
+ },
1541
+ "docs": {
1542
+ "text": "Define programaticamente as datas desabilitadas por meio de array.\n\n\u00DAtil quando o componente \u00E9 usado via HTML e o consumidor precisa enviar\numa lista tipada em runtime.",
1543
+ "tags": [{
1544
+ "name": "param",
1545
+ "text": "dates - Lista de datas (Date|string) a bloquear."
1546
+ }]
1547
+ }
1548
+ },
1549
+ "setValue": {
1550
+ "complexType": {
1551
+ "signature": "(value: Date | string | null) => Promise<void>",
1552
+ "parameters": [{
1553
+ "name": "value",
1554
+ "type": "string | Date",
1555
+ "docs": ""
1556
+ }],
1557
+ "references": {
1558
+ "Promise": {
1559
+ "location": "global",
1560
+ "id": "global::Promise"
1561
+ },
1562
+ "Date": {
1563
+ "location": "global",
1564
+ "id": "global::Date"
1565
+ }
1566
+ },
1567
+ "return": "Promise<void>"
1568
+ },
1569
+ "docs": {
1570
+ "text": "Define o valor atual de forma imperativa aceitando Date, string serializada ou null.",
1571
+ "tags": []
1572
+ }
1573
+ },
1574
+ "getValue": {
1575
+ "complexType": {
1576
+ "signature": "() => Promise<Date | null>",
1577
+ "parameters": [],
1578
+ "references": {
1579
+ "Promise": {
1580
+ "location": "global",
1581
+ "id": "global::Promise"
1582
+ },
1583
+ "Date": {
1584
+ "location": "global",
1585
+ "id": "global::Date"
1586
+ }
1587
+ },
1588
+ "return": "Promise<Date>"
1589
+ },
1590
+ "docs": {
1591
+ "text": "Retorna uma c\u00F3pia do valor selecionado atualmente.",
1592
+ "tags": []
1593
+ }
1594
+ },
1595
+ "clear": {
1596
+ "complexType": {
1597
+ "signature": "() => Promise<void>",
1598
+ "parameters": [],
1599
+ "references": {
1600
+ "Promise": {
1601
+ "location": "global",
1602
+ "id": "global::Promise"
1603
+ }
1604
+ },
1605
+ "return": "Promise<void>"
1606
+ },
1607
+ "docs": {
1608
+ "text": "Limpa valor e intervalo selecionados.",
1609
+ "tags": []
1610
+ }
1611
+ },
1612
+ "open": {
1613
+ "complexType": {
1614
+ "signature": "() => Promise<void>",
1615
+ "parameters": [],
1616
+ "references": {
1617
+ "Promise": {
1618
+ "location": "global",
1619
+ "id": "global::Promise"
1620
+ }
1621
+ },
1622
+ "return": "Promise<void>"
1623
+ },
1624
+ "docs": {
1625
+ "text": "Abre o picker quando o componente estiver habilitado.",
1626
+ "tags": []
1627
+ }
1628
+ },
1629
+ "close": {
1630
+ "complexType": {
1631
+ "signature": "() => Promise<void>",
1632
+ "parameters": [],
1633
+ "references": {
1634
+ "Promise": {
1635
+ "location": "global",
1636
+ "id": "global::Promise"
1637
+ }
1638
+ },
1639
+ "return": "Promise<void>"
1640
+ },
1641
+ "docs": {
1642
+ "text": "Fecha o picker.",
1643
+ "tags": []
1644
+ }
1645
+ },
1646
+ "toggle": {
1647
+ "complexType": {
1648
+ "signature": "() => Promise<void>",
1649
+ "parameters": [],
1650
+ "references": {
1651
+ "Promise": {
1652
+ "location": "global",
1653
+ "id": "global::Promise"
1654
+ }
1655
+ },
1656
+ "return": "Promise<void>"
1657
+ },
1658
+ "docs": {
1659
+ "text": "Alterna o estado de abertura do picker.",
1660
+ "tags": []
1661
+ }
1662
+ },
1663
+ "focusInput": {
1664
+ "complexType": {
1665
+ "signature": "() => Promise<void>",
1666
+ "parameters": [],
1667
+ "references": {
1668
+ "Promise": {
1669
+ "location": "global",
1670
+ "id": "global::Promise"
1671
+ }
1672
+ },
1673
+ "return": "Promise<void>"
1674
+ },
1675
+ "docs": {
1676
+ "text": "Move o foco para o input nativo interno.",
1677
+ "tags": []
1678
+ }
1679
+ },
1680
+ "setRange": {
1681
+ "complexType": {
1682
+ "signature": "(start: Date | string | null, end: Date | string | null) => Promise<void>",
1683
+ "parameters": [{
1684
+ "name": "start",
1685
+ "type": "string | Date",
1686
+ "docs": ""
1687
+ }, {
1688
+ "name": "end",
1689
+ "type": "string | Date",
1690
+ "docs": ""
1691
+ }],
1692
+ "references": {
1693
+ "Promise": {
1694
+ "location": "global",
1695
+ "id": "global::Promise"
1696
+ },
1697
+ "Date": {
1698
+ "location": "global",
1699
+ "id": "global::Date"
1700
+ }
1701
+ },
1702
+ "return": "Promise<void>"
1703
+ },
1704
+ "docs": {
1705
+ "text": "Define intervalo de datas de forma imperativa, for\u00E7ando modo date e selectionMode range.",
1706
+ "tags": []
1707
+ }
1708
+ },
1709
+ "getRange": {
1710
+ "complexType": {
1711
+ "signature": "() => Promise<{ start: Date | null; end: Date | null; } | null>",
1712
+ "parameters": [],
1713
+ "references": {
1714
+ "Promise": {
1715
+ "location": "global",
1716
+ "id": "global::Promise"
1717
+ },
1718
+ "Date": {
1719
+ "location": "global",
1720
+ "id": "global::Date"
1721
+ }
1722
+ },
1723
+ "return": "Promise<{ start: Date; end: Date; }>"
1724
+ },
1725
+ "docs": {
1726
+ "text": "Retorna o intervalo de datas selecionado quando em modo `selectionMode=\"range\"`.",
1727
+ "tags": [{
1728
+ "name": "returns",
1729
+ "text": "Objeto com datas `start` e `end`, ou `null` se n\u00E3o estiver em modo range."
1730
+ }]
1731
+ }
1732
+ },
1733
+ "isOpen": {
1734
+ "complexType": {
1735
+ "signature": "() => Promise<boolean>",
1736
+ "parameters": [],
1737
+ "references": {
1738
+ "Promise": {
1739
+ "location": "global",
1740
+ "id": "global::Promise"
1741
+ }
1742
+ },
1743
+ "return": "Promise<boolean>"
1744
+ },
1745
+ "docs": {
1746
+ "text": "Consulta se o picker est\u00E1 atualmente aberto.",
1747
+ "tags": [{
1748
+ "name": "returns",
1749
+ "text": "`true` se o picker est\u00E1 vis\u00EDvel, `false` caso contr\u00E1rio."
1750
+ }]
1751
+ }
1752
+ },
1753
+ "resetToInitial": {
1754
+ "complexType": {
1755
+ "signature": "() => Promise<void>",
1756
+ "parameters": [],
1757
+ "references": {
1758
+ "Promise": {
1759
+ "location": "global",
1760
+ "id": "global::Promise"
1761
+ }
1762
+ },
1763
+ "return": "Promise<void>"
1764
+ },
1765
+ "docs": {
1766
+ "text": "Restaura o estado inicial atualmente registrado para reset.",
1767
+ "tags": []
1768
+ }
1769
+ },
1770
+ "checkValidity": {
1771
+ "complexType": {
1772
+ "signature": "() => Promise<boolean>",
1773
+ "parameters": [],
1774
+ "references": {
1775
+ "Promise": {
1776
+ "location": "global",
1777
+ "id": "global::Promise"
1778
+ }
1779
+ },
1780
+ "return": "Promise<boolean>"
1781
+ },
1782
+ "docs": {
1783
+ "text": "Permite que consumidores acionem valida\u00E7\u00E3o nativa do formul\u00E1rio via host.",
1784
+ "tags": []
1785
+ }
1786
+ },
1787
+ "reportValidity": {
1788
+ "complexType": {
1789
+ "signature": "() => Promise<boolean>",
1790
+ "parameters": [],
1791
+ "references": {
1792
+ "Promise": {
1793
+ "location": "global",
1794
+ "id": "global::Promise"
1795
+ }
1796
+ },
1797
+ "return": "Promise<boolean>"
1798
+ },
1799
+ "docs": {
1800
+ "text": "Permite exibir mensagens nativas de valida\u00E7\u00E3o no host.",
1801
+ "tags": []
1802
+ }
1803
+ },
1804
+ "setCustomValidity": {
1805
+ "complexType": {
1806
+ "signature": "(message: string) => Promise<void>",
1807
+ "parameters": [{
1808
+ "name": "message",
1809
+ "type": "string",
1810
+ "docs": ""
1811
+ }],
1812
+ "references": {
1813
+ "Promise": {
1814
+ "location": "global",
1815
+ "id": "global::Promise"
1816
+ }
1817
+ },
1818
+ "return": "Promise<void>"
1819
+ },
1820
+ "docs": {
1821
+ "text": "Define ou limpa uma mensagem de validade customizada.",
1822
+ "tags": []
1823
+ }
1824
+ },
1825
+ "validate": {
1826
+ "complexType": {
1827
+ "signature": "() => Promise<boolean>",
1828
+ "parameters": [],
1829
+ "references": {
1830
+ "Promise": {
1831
+ "location": "global",
1832
+ "id": "global::Promise"
1833
+ },
1834
+ "Date": {
1835
+ "location": "global",
1836
+ "id": "global::Date"
1837
+ },
1838
+ "DatetimePickerDateRange": {
1839
+ "location": "import",
1840
+ "path": "./datetime-picker.types",
1841
+ "id": "src/components/datetime-picker/datetime-picker.types.ts::DatetimePickerDateRange",
1842
+ "referenceLocation": "DatetimePickerDateRange"
1843
+ }
1844
+ },
1845
+ "return": "Promise<boolean>"
1846
+ },
1847
+ "docs": {
1848
+ "text": "Executa o validator do picker e retorna se a sele\u00E7\u00E3o atual \u00E9 v\u00E1lida.",
1849
+ "tags": []
1850
+ }
1851
+ },
1852
+ "getValidationState": {
1853
+ "complexType": {
1854
+ "signature": "() => Promise<FormValidationState>",
1855
+ "parameters": [],
1856
+ "references": {
1857
+ "Promise": {
1858
+ "location": "global",
1859
+ "id": "global::Promise"
1860
+ },
1861
+ "FormValidationState": {
1862
+ "location": "import",
1863
+ "path": "../../shared/utils/form",
1864
+ "id": "src/shared/utils/form.ts::FormValidationState",
1865
+ "referenceLocation": "FormValidationState"
1866
+ }
1867
+ },
1868
+ "return": "Promise<FormValidationState>"
1869
+ },
1870
+ "docs": {
1871
+ "text": "Retorna um snapshot serializ\u00E1vel da Constraint Validation API.",
1872
+ "tags": []
1873
+ }
1874
+ }
1875
+ };
1876
+ }
1877
+ static get elementRef() { return "el"; }
1878
+ static get watchers() {
1879
+ return [{
1880
+ "propName": "mode",
1881
+ "methodName": "handleModeChange"
1882
+ }, {
1883
+ "propName": "required",
1884
+ "methodName": "handleRequiredChange"
1885
+ }, {
1886
+ "propName": "min",
1887
+ "methodName": "handleConstraintChange"
1888
+ }, {
1889
+ "propName": "max",
1890
+ "methodName": "handleConstraintChange"
1891
+ }, {
1892
+ "propName": "disabled",
1893
+ "methodName": "handleDisabledChange"
1894
+ }, {
1895
+ "propName": "selectionMode",
1896
+ "methodName": "handleSelectionModeChange"
1897
+ }, {
1898
+ "propName": "weekStartsOn",
1899
+ "methodName": "handleWeekStartsOnChange"
1900
+ }, {
1901
+ "propName": "initialMoment",
1902
+ "methodName": "handleInitialMomentChange"
1903
+ }, {
1904
+ "propName": "value",
1905
+ "methodName": "handleValueChange"
1906
+ }, {
1907
+ "propName": "serializedValue",
1908
+ "methodName": "handleSerializedValueChange"
1909
+ }, {
1910
+ "propName": "valueAsDate",
1911
+ "methodName": "handleValueAsDateChange"
1912
+ }, {
1913
+ "propName": "isPickerOpen",
1914
+ "methodName": "handlePickerOpenChange"
1915
+ }, {
1916
+ "propName": "disabledDates",
1917
+ "methodName": "handleDisabledDatesChange"
1918
+ }, {
1919
+ "propName": "rangeValue",
1920
+ "methodName": "handleRangeValueChange"
1921
+ }];
1922
+ }
1923
+ static get attachInternalsMemberName() { return "elementInternals"; }
1924
+ }
1925
+ let datetimePickerId = 0;