@andespindola/ui-core 0.1.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) hide show
  1. package/dist/cjs/{floating-ui.dom-BPemvNRD.js → floating-ui.dom-BZk7Blsu.js} +93 -0
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/ui-accordion-item.cjs.entry.js +1 -1
  4. package/dist/cjs/ui-accordion.cjs.entry.js +1 -1
  5. package/dist/cjs/ui-alert.cjs.entry.js +40 -0
  6. package/dist/cjs/ui-avatar-group.cjs.entry.js +17 -0
  7. package/dist/cjs/ui-avatar.cjs.entry.js +2 -2
  8. package/dist/cjs/ui-badge.cjs.entry.js +7 -2
  9. package/dist/cjs/ui-breadcrumb-item.cjs.entry.js +23 -0
  10. package/dist/cjs/ui-breadcrumb.cjs.entry.js +17 -0
  11. package/dist/cjs/ui-button.cjs.entry.js +5 -3
  12. package/dist/cjs/ui-card.cjs.entry.js +1 -1
  13. package/dist/cjs/ui-checkbox.cjs.entry.js +2 -2
  14. package/dist/cjs/ui-combobox.cjs.entry.js +153 -0
  15. package/dist/cjs/ui-container.cjs.entry.js +26 -0
  16. package/dist/cjs/ui-date-picker.cjs.entry.js +171 -0
  17. package/dist/cjs/ui-dialog.cjs.entry.js +1 -1
  18. package/dist/cjs/ui-drawer.cjs.entry.js +1 -1
  19. package/dist/cjs/ui-dropdown-item.cjs.entry.js +1 -1
  20. package/dist/cjs/ui-dropdown-menu.cjs.entry.js +2 -2
  21. package/dist/cjs/ui-field.cjs.entry.js +1 -1
  22. package/dist/cjs/ui-file-upload.cjs.entry.js +57 -0
  23. package/dist/cjs/ui-grid.cjs.entry.js +34 -0
  24. package/dist/cjs/ui-input.cjs.entry.js +10 -2
  25. package/dist/cjs/ui-label.cjs.entry.js +1 -1
  26. package/dist/cjs/ui-navbar.cjs.entry.js +17 -0
  27. package/dist/cjs/ui-pagination.cjs.entry.js +63 -0
  28. package/dist/cjs/ui-popover.cjs.entry.js +2 -2
  29. package/dist/cjs/ui-progress-circular.cjs.entry.js +44 -0
  30. package/dist/cjs/ui-progress.cjs.entry.js +1 -1
  31. package/dist/cjs/ui-radio-group.cjs.entry.js +1 -1
  32. package/dist/cjs/ui-rating.cjs.entry.js +45 -0
  33. package/dist/cjs/ui-reveal.cjs.entry.js +1 -1
  34. package/dist/cjs/ui-scroll-progress.cjs.entry.js +1 -1
  35. package/dist/cjs/ui-section.cjs.entry.js +1 -1
  36. package/dist/cjs/ui-segmented.cjs.entry.js +31 -0
  37. package/dist/cjs/ui-select.cjs.entry.js +1 -1
  38. package/dist/cjs/ui-separator.cjs.entry.js +1 -1
  39. package/dist/cjs/ui-skeleton.cjs.entry.js +1 -1
  40. package/dist/cjs/ui-slider.cjs.entry.js +1 -1
  41. package/dist/cjs/ui-spinner.cjs.entry.js +1 -1
  42. package/dist/cjs/ui-stack.cjs.entry.js +53 -0
  43. package/dist/cjs/ui-stat.cjs.entry.js +28 -0
  44. package/dist/cjs/ui-switch.cjs.entry.js +1 -1
  45. package/dist/cjs/ui-table.cjs.entry.js +25 -0
  46. package/dist/cjs/ui-tabs.cjs.entry.js +2 -2
  47. package/dist/cjs/ui-textarea.cjs.entry.js +1 -1
  48. package/dist/cjs/ui-theme-toggle.cjs.entry.js +1 -1
  49. package/dist/cjs/ui-toast.cjs.entry.js +1 -1
  50. package/dist/cjs/ui-toaster.cjs.entry.js +1 -1
  51. package/dist/cjs/ui-tooltip.cjs.entry.js +2 -2
  52. package/dist/cjs/uikit.cjs.js +1 -1
  53. package/dist/collection/collection-manifest.json +17 -0
  54. package/dist/collection/components/ui-accordion/ui-accordion.js +1 -1
  55. package/dist/collection/components/ui-accordion-item/ui-accordion-item.js +1 -1
  56. package/dist/collection/components/ui-alert/ui-alert.css +95 -0
  57. package/dist/collection/components/ui-alert/ui-alert.js +134 -0
  58. package/dist/collection/components/ui-avatar/ui-avatar.css +31 -0
  59. package/dist/collection/components/ui-avatar/ui-avatar.js +20 -1
  60. package/dist/collection/components/ui-avatar-group/ui-avatar-group.css +22 -0
  61. package/dist/collection/components/ui-avatar-group/ui-avatar-group.js +21 -0
  62. package/dist/collection/components/ui-badge/ui-badge.css +26 -0
  63. package/dist/collection/components/ui-badge/ui-badge.js +63 -1
  64. package/dist/collection/components/ui-breadcrumb/ui-breadcrumb.css +15 -0
  65. package/dist/collection/components/ui-breadcrumb/ui-breadcrumb.js +18 -0
  66. package/dist/collection/components/ui-breadcrumb-item/ui-breadcrumb-item.css +30 -0
  67. package/dist/collection/components/ui-breadcrumb-item/ui-breadcrumb-item.js +69 -0
  68. package/dist/collection/components/ui-button/ui-button.css +13 -1
  69. package/dist/collection/components/ui-button/ui-button.js +24 -2
  70. package/dist/collection/components/ui-card/ui-card.js +1 -1
  71. package/dist/collection/components/ui-checkbox/ui-checkbox.css +6 -2
  72. package/dist/collection/components/ui-checkbox/ui-checkbox.js +1 -1
  73. package/dist/collection/components/ui-combobox/ui-combobox.css +93 -0
  74. package/dist/collection/components/ui-combobox/ui-combobox.js +248 -0
  75. package/dist/collection/components/ui-container/ui-container.css +38 -0
  76. package/dist/collection/components/ui-container/ui-container.js +79 -0
  77. package/dist/collection/components/ui-date-picker/ui-date-picker.css +176 -0
  78. package/dist/collection/components/ui-date-picker/ui-date-picker.js +243 -0
  79. package/dist/collection/components/ui-dialog/ui-dialog.js +1 -1
  80. package/dist/collection/components/ui-drawer/ui-drawer.js +1 -1
  81. package/dist/collection/components/ui-dropdown-item/ui-dropdown-item.js +1 -1
  82. package/dist/collection/components/ui-dropdown-menu/ui-dropdown-menu.js +1 -1
  83. package/dist/collection/components/ui-field/ui-field.js +1 -1
  84. package/dist/collection/components/ui-file-upload/ui-file-upload.css +79 -0
  85. package/dist/collection/components/ui-file-upload/ui-file-upload.js +151 -0
  86. package/dist/collection/components/ui-grid/ui-grid.css +8 -0
  87. package/dist/collection/components/ui-grid/ui-grid.js +106 -0
  88. package/dist/collection/components/ui-input/ui-input.css +65 -14
  89. package/dist/collection/components/ui-input/ui-input.js +29 -1
  90. package/dist/collection/components/ui-label/ui-label.js +1 -1
  91. package/dist/collection/components/ui-navbar/ui-navbar.css +36 -0
  92. package/dist/collection/components/ui-navbar/ui-navbar.js +18 -0
  93. package/dist/collection/components/ui-pagination/ui-pagination.css +59 -0
  94. package/dist/collection/components/ui-pagination/ui-pagination.js +147 -0
  95. package/dist/collection/components/ui-popover/ui-popover.js +1 -1
  96. package/dist/collection/components/ui-progress/ui-progress.js +1 -1
  97. package/dist/collection/components/ui-progress-circular/ui-progress-circular.css +46 -0
  98. package/dist/collection/components/ui-progress-circular/ui-progress-circular.js +171 -0
  99. package/dist/collection/components/ui-radio-group/ui-radio-group.js +1 -1
  100. package/dist/collection/components/ui-rating/ui-rating.css +52 -0
  101. package/dist/collection/components/ui-rating/ui-rating.js +134 -0
  102. package/dist/collection/components/ui-reveal/ui-reveal.js +1 -1
  103. package/dist/collection/components/ui-scroll-progress/ui-scroll-progress.js +1 -1
  104. package/dist/collection/components/ui-section/ui-section.js +1 -1
  105. package/dist/collection/components/ui-segmented/ui-segmented.css +46 -0
  106. package/dist/collection/components/ui-segmented/ui-segmented.js +99 -0
  107. package/dist/collection/components/ui-select/ui-select.js +1 -1
  108. package/dist/collection/components/ui-separator/ui-separator.js +1 -1
  109. package/dist/collection/components/ui-skeleton/ui-skeleton.js +1 -1
  110. package/dist/collection/components/ui-slider/ui-slider.js +1 -1
  111. package/dist/collection/components/ui-spinner/ui-spinner.js +1 -1
  112. package/dist/collection/components/ui-stack/ui-stack.css +8 -0
  113. package/dist/collection/components/ui-stack/ui-stack.js +184 -0
  114. package/dist/collection/components/ui-stat/ui-stat.css +69 -0
  115. package/dist/collection/components/ui-stat/ui-stat.js +118 -0
  116. package/dist/collection/components/ui-switch/ui-switch.js +1 -1
  117. package/dist/collection/components/ui-table/ui-table.css +46 -0
  118. package/dist/collection/components/ui-table/ui-table.js +119 -0
  119. package/dist/collection/components/ui-tabs/ui-tabs.js +2 -2
  120. package/dist/collection/components/ui-textarea/ui-textarea.js +1 -1
  121. package/dist/collection/components/ui-theme-toggle/ui-theme-toggle.js +1 -1
  122. package/dist/collection/components/ui-toast/ui-toast.js +1 -1
  123. package/dist/collection/components/ui-toaster/ui-toaster.js +1 -1
  124. package/dist/collection/components/ui-tooltip/ui-tooltip.js +1 -1
  125. package/dist/components/{p-fApcMAzN.js → p-DDJE__UC.js} +1 -1
  126. package/dist/{uikit/p-CyBRmmbs.js → components/p-DDtwbwIl.js} +1 -1
  127. package/dist/components/{p-Bz9HyboB.js → p-DUT2Q8Df.js} +1 -1
  128. package/dist/components/ui-accordion-item.js +1 -1
  129. package/dist/components/ui-accordion.js +1 -1
  130. package/dist/components/ui-alert.d.ts +11 -0
  131. package/dist/components/ui-alert.js +1 -0
  132. package/dist/components/ui-avatar-group.d.ts +11 -0
  133. package/dist/components/ui-avatar-group.js +1 -0
  134. package/dist/components/ui-avatar.js +1 -1
  135. package/dist/components/ui-badge.js +1 -1
  136. package/dist/components/ui-breadcrumb-item.d.ts +11 -0
  137. package/dist/components/ui-breadcrumb-item.js +1 -0
  138. package/dist/components/ui-breadcrumb.d.ts +11 -0
  139. package/dist/components/ui-breadcrumb.js +1 -0
  140. package/dist/components/ui-button.js +1 -1
  141. package/dist/components/ui-card.js +1 -1
  142. package/dist/components/ui-checkbox.js +1 -1
  143. package/dist/components/ui-combobox.d.ts +11 -0
  144. package/dist/components/ui-combobox.js +1 -0
  145. package/dist/components/ui-container.d.ts +11 -0
  146. package/dist/components/ui-container.js +1 -0
  147. package/dist/components/ui-date-picker.d.ts +11 -0
  148. package/dist/components/ui-date-picker.js +1 -0
  149. package/dist/components/ui-dialog.js +1 -1
  150. package/dist/components/ui-drawer.js +1 -1
  151. package/dist/components/ui-dropdown-item.js +1 -1
  152. package/dist/components/ui-dropdown-menu.js +1 -1
  153. package/dist/components/ui-field.js +1 -1
  154. package/dist/components/ui-file-upload.d.ts +11 -0
  155. package/dist/components/ui-file-upload.js +1 -0
  156. package/dist/components/ui-grid.d.ts +11 -0
  157. package/dist/components/ui-grid.js +1 -0
  158. package/dist/components/ui-input.js +1 -1
  159. package/dist/components/ui-label.js +1 -1
  160. package/dist/components/ui-loading-overlay.js +1 -1
  161. package/dist/components/ui-navbar.d.ts +11 -0
  162. package/dist/components/ui-navbar.js +1 -0
  163. package/dist/components/ui-pagination.d.ts +11 -0
  164. package/dist/components/ui-pagination.js +1 -0
  165. package/dist/components/ui-popover.js +1 -1
  166. package/dist/components/ui-progress-circular.d.ts +11 -0
  167. package/dist/components/ui-progress-circular.js +1 -0
  168. package/dist/components/ui-progress.js +1 -1
  169. package/dist/components/ui-radio-group.js +1 -1
  170. package/dist/components/ui-rating.d.ts +11 -0
  171. package/dist/components/ui-rating.js +1 -0
  172. package/dist/components/ui-reveal.js +1 -1
  173. package/dist/components/ui-scroll-progress.js +1 -1
  174. package/dist/components/ui-section.js +1 -1
  175. package/dist/components/ui-segmented.d.ts +11 -0
  176. package/dist/components/ui-segmented.js +1 -0
  177. package/dist/components/ui-select.js +1 -1
  178. package/dist/components/ui-separator.js +1 -1
  179. package/dist/components/ui-skeleton.js +1 -1
  180. package/dist/components/ui-slider.js +1 -1
  181. package/dist/components/ui-spinner.js +1 -1
  182. package/dist/components/ui-stack.d.ts +11 -0
  183. package/dist/components/ui-stack.js +1 -0
  184. package/dist/components/ui-stat.d.ts +11 -0
  185. package/dist/components/ui-stat.js +1 -0
  186. package/dist/components/ui-switch.js +1 -1
  187. package/dist/components/ui-table.d.ts +11 -0
  188. package/dist/components/ui-table.js +1 -0
  189. package/dist/components/ui-tabs.js +1 -1
  190. package/dist/components/ui-textarea.js +1 -1
  191. package/dist/components/ui-theme-toggle.js +1 -1
  192. package/dist/components/ui-toast.js +1 -1
  193. package/dist/components/ui-toaster.js +1 -1
  194. package/dist/components/ui-tooltip.js +1 -1
  195. package/dist/esm/{floating-ui.dom-CyBRmmbs.js → floating-ui.dom-DDtwbwIl.js} +93 -1
  196. package/dist/esm/loader.js +1 -1
  197. package/dist/esm/ui-accordion-item.entry.js +1 -1
  198. package/dist/esm/ui-accordion.entry.js +1 -1
  199. package/dist/esm/ui-alert.entry.js +38 -0
  200. package/dist/esm/ui-avatar-group.entry.js +15 -0
  201. package/dist/esm/ui-avatar.entry.js +2 -2
  202. package/dist/esm/ui-badge.entry.js +8 -3
  203. package/dist/esm/ui-breadcrumb-item.entry.js +21 -0
  204. package/dist/esm/ui-breadcrumb.entry.js +15 -0
  205. package/dist/esm/ui-button.entry.js +5 -3
  206. package/dist/esm/ui-card.entry.js +1 -1
  207. package/dist/esm/ui-checkbox.entry.js +2 -2
  208. package/dist/esm/ui-combobox.entry.js +151 -0
  209. package/dist/esm/ui-container.entry.js +24 -0
  210. package/dist/esm/ui-date-picker.entry.js +169 -0
  211. package/dist/esm/ui-dialog.entry.js +1 -1
  212. package/dist/esm/ui-drawer.entry.js +1 -1
  213. package/dist/esm/ui-dropdown-item.entry.js +1 -1
  214. package/dist/esm/ui-dropdown-menu.entry.js +2 -2
  215. package/dist/esm/ui-field.entry.js +1 -1
  216. package/dist/esm/ui-file-upload.entry.js +55 -0
  217. package/dist/esm/ui-grid.entry.js +32 -0
  218. package/dist/esm/ui-input.entry.js +10 -2
  219. package/dist/esm/ui-label.entry.js +1 -1
  220. package/dist/esm/ui-navbar.entry.js +15 -0
  221. package/dist/esm/ui-pagination.entry.js +61 -0
  222. package/dist/esm/ui-popover.entry.js +2 -2
  223. package/dist/esm/ui-progress-circular.entry.js +42 -0
  224. package/dist/esm/ui-progress.entry.js +1 -1
  225. package/dist/esm/ui-radio-group.entry.js +1 -1
  226. package/dist/esm/ui-rating.entry.js +43 -0
  227. package/dist/esm/ui-reveal.entry.js +1 -1
  228. package/dist/esm/ui-scroll-progress.entry.js +1 -1
  229. package/dist/esm/ui-section.entry.js +1 -1
  230. package/dist/esm/ui-segmented.entry.js +29 -0
  231. package/dist/esm/ui-select.entry.js +1 -1
  232. package/dist/esm/ui-separator.entry.js +1 -1
  233. package/dist/esm/ui-skeleton.entry.js +1 -1
  234. package/dist/esm/ui-slider.entry.js +1 -1
  235. package/dist/esm/ui-spinner.entry.js +1 -1
  236. package/dist/esm/ui-stack.entry.js +51 -0
  237. package/dist/esm/ui-stat.entry.js +26 -0
  238. package/dist/esm/ui-switch.entry.js +1 -1
  239. package/dist/esm/ui-table.entry.js +23 -0
  240. package/dist/esm/ui-tabs.entry.js +2 -2
  241. package/dist/esm/ui-textarea.entry.js +1 -1
  242. package/dist/esm/ui-theme-toggle.entry.js +1 -1
  243. package/dist/esm/ui-toast.entry.js +1 -1
  244. package/dist/esm/ui-toaster.entry.js +1 -1
  245. package/dist/esm/ui-tooltip.entry.js +2 -2
  246. package/dist/esm/uikit.js +1 -1
  247. package/dist/types/components/ui-alert/ui-alert.d.ts +17 -0
  248. package/dist/types/components/ui-avatar/ui-avatar.d.ts +2 -0
  249. package/dist/types/components/ui-avatar-group/ui-avatar-group.d.ts +6 -0
  250. package/dist/types/components/ui-badge/ui-badge.d.ts +7 -0
  251. package/dist/types/components/ui-breadcrumb/ui-breadcrumb.d.ts +3 -0
  252. package/dist/types/components/ui-breadcrumb-item/ui-breadcrumb-item.d.ts +8 -0
  253. package/dist/types/components/ui-button/ui-button.d.ts +2 -0
  254. package/dist/types/components/ui-combobox/ui-combobox.d.ts +38 -0
  255. package/dist/types/components/ui-container/ui-container.d.ts +8 -0
  256. package/dist/types/components/ui-date-picker/ui-date-picker.d.ts +42 -0
  257. package/dist/types/components/ui-file-upload/ui-file-upload.d.ts +24 -0
  258. package/dist/types/components/ui-grid/ui-grid.d.ts +10 -0
  259. package/dist/types/components/ui-input/ui-input.d.ts +3 -0
  260. package/dist/types/components/ui-navbar/ui-navbar.d.ts +3 -0
  261. package/dist/types/components/ui-pagination/ui-pagination.d.ts +15 -0
  262. package/dist/types/components/ui-progress-circular/ui-progress-circular.d.ts +17 -0
  263. package/dist/types/components/ui-rating/ui-rating.d.ts +17 -0
  264. package/dist/types/components/ui-segmented/ui-segmented.d.ts +15 -0
  265. package/dist/types/components/ui-stack/ui-stack.d.ts +17 -0
  266. package/dist/types/components/ui-stat/ui-stat.d.ts +13 -0
  267. package/dist/types/components/ui-table/ui-table.d.ts +16 -0
  268. package/dist/types/components.d.ts +961 -0
  269. package/dist/types/index.d.ts +1 -0
  270. package/dist/uikit/{p-8a238373.entry.js → p-008118af.entry.js} +1 -1
  271. package/dist/uikit/p-0715db16.entry.js +1 -0
  272. package/dist/uikit/p-10afa395.entry.js +1 -0
  273. package/dist/uikit/p-1449f229.entry.js +1 -0
  274. package/dist/uikit/p-1514ae37.entry.js +1 -0
  275. package/dist/uikit/{p-83159bfc.entry.js → p-1685191b.entry.js} +1 -1
  276. package/dist/uikit/p-1ef7948f.entry.js +1 -0
  277. package/dist/uikit/{p-e54139a1.entry.js → p-283e7623.entry.js} +1 -1
  278. package/dist/uikit/p-2d92ce04.entry.js +1 -0
  279. package/dist/uikit/{p-a0ccdb22.entry.js → p-3995852d.entry.js} +1 -1
  280. package/dist/uikit/p-3b1f92da.entry.js +1 -0
  281. package/dist/uikit/p-3fdfad2e.entry.js +1 -0
  282. package/dist/uikit/p-4044ebde.entry.js +1 -0
  283. package/dist/uikit/{p-9f0d4ae1.entry.js → p-413cfbc6.entry.js} +1 -1
  284. package/dist/uikit/p-45e80e73.entry.js +1 -0
  285. package/dist/uikit/p-4ba0e4bc.entry.js +1 -0
  286. package/dist/uikit/p-5951a496.entry.js +1 -0
  287. package/dist/uikit/p-5e0bc34a.entry.js +1 -0
  288. package/dist/uikit/{p-d8e7ae10.entry.js → p-60910c03.entry.js} +1 -1
  289. package/dist/uikit/{p-58ed99a2.entry.js → p-62881327.entry.js} +1 -1
  290. package/dist/uikit/p-6c51a216.entry.js +1 -0
  291. package/dist/uikit/p-6d363a02.entry.js +1 -0
  292. package/dist/uikit/{p-777c6902.entry.js → p-8535f5c9.entry.js} +1 -1
  293. package/dist/uikit/p-88238a16.entry.js +1 -0
  294. package/dist/uikit/{p-9aa557d1.entry.js → p-894fc85f.entry.js} +1 -1
  295. package/dist/uikit/p-8b882367.entry.js +1 -0
  296. package/dist/uikit/p-9310b73b.entry.js +1 -0
  297. package/dist/uikit/{p-4a1abc1c.entry.js → p-99b7e461.entry.js} +1 -1
  298. package/dist/uikit/p-9d8d420e.entry.js +1 -0
  299. package/dist/uikit/{p-97de6ea6.entry.js → p-9dbe7e12.entry.js} +1 -1
  300. package/dist/uikit/{p-29fe5b7f.entry.js → p-9f09fcec.entry.js} +1 -1
  301. package/dist/{components/p-CyBRmmbs.js → uikit/p-DDtwbwIl.js} +1 -1
  302. package/dist/uikit/{p-d6c9bfbc.entry.js → p-a3d819cd.entry.js} +1 -1
  303. package/dist/uikit/{p-777d8c7a.entry.js → p-b0f2b1c8.entry.js} +1 -1
  304. package/dist/uikit/{p-e0652ddf.entry.js → p-b7e30398.entry.js} +1 -1
  305. package/dist/uikit/p-bac2c523.entry.js +1 -0
  306. package/dist/uikit/p-bbc718ef.entry.js +1 -0
  307. package/dist/uikit/{p-b0aba484.entry.js → p-bdd30484.entry.js} +1 -1
  308. package/dist/uikit/{p-32df7fd0.entry.js → p-c1a9db7c.entry.js} +1 -1
  309. package/dist/uikit/p-c2138fb9.entry.js +1 -0
  310. package/dist/uikit/p-c94492ff.entry.js +1 -0
  311. package/dist/uikit/{p-38cbea54.entry.js → p-ccca2aeb.entry.js} +1 -1
  312. package/dist/uikit/p-d7ab158f.entry.js +1 -0
  313. package/dist/uikit/p-da807078.entry.js +1 -0
  314. package/dist/uikit/p-e2065caa.entry.js +1 -0
  315. package/dist/uikit/{p-9b43d670.entry.js → p-f2983e94.entry.js} +1 -1
  316. package/dist/uikit/p-f4344cce.entry.js +1 -0
  317. package/dist/uikit/{p-ed1111eb.entry.js → p-fb89d9a4.entry.js} +1 -1
  318. package/dist/uikit/p-fbe7806c.entry.js +1 -0
  319. package/dist/uikit/p-ffcd1faf.entry.js +1 -0
  320. package/dist/uikit/uikit.esm.js +1 -1
  321. package/package.json +8 -3
  322. package/dist/uikit/p-0096eefe.entry.js +0 -1
  323. package/dist/uikit/p-11350db1.entry.js +0 -1
  324. package/dist/uikit/p-128ae3e4.entry.js +0 -1
  325. package/dist/uikit/p-24edfe3e.entry.js +0 -1
  326. package/dist/uikit/p-280337b0.entry.js +0 -1
  327. package/dist/uikit/p-3c866608.entry.js +0 -1
  328. package/dist/uikit/p-5555523c.entry.js +0 -1
  329. package/dist/uikit/p-6fa4be86.entry.js +0 -1
  330. package/dist/uikit/p-7b2a9e68.entry.js +0 -1
  331. package/dist/uikit/p-9c57cf57.entry.js +0 -1
  332. package/dist/uikit/p-cf56c9ba.entry.js +0 -1
  333. package/dist/uikit/p-d13860dc.entry.js +0 -1
@@ -0,0 +1,151 @@
1
+ import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-DYwlrXg_.js';
2
+ import { a as autoUpdate, c as computePosition, o as offset, f as flip, s as shift, b as size } from './floating-ui.dom-DDtwbwIl.js';
3
+
4
+ const uiComboboxCss = () => `:host{display:block}.field{display:flex;align-items:center;gap:0.5rem;width:100%;height:2.75rem;padding:0 0.875rem;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-panel);backdrop-filter:blur(22px);transition:all var(--ui-duration) var(--ui-ease);box-sizing:border-box}.field:hover{border-color:var(--ui-border-strong)}.field:focus-within{border-color:var(--ui-accent);box-shadow:0 0 0 2px var(--ui-ring)}.input{flex:1;min-width:0;height:100%;border:none;background:transparent;color:var(--ui-foreground);font-family:var(--ui-font-sans);font-size:0.875rem;outline:none}.input::placeholder{color:var(--ui-text-faint)}.list{position:fixed;top:0;left:0;z-index:50;max-height:16rem;overflow-y:auto;padding:0.25rem;font-family:var(--ui-font-sans);color:var(--ui-foreground);border:1px solid var(--ui-border);background:var(--ui-panel-strong);box-shadow:var(--ui-shadow-lg);backdrop-filter:blur(22px);border-radius:var(--ui-radius);visibility:hidden;opacity:0;transition:opacity var(--ui-duration) var(--ui-ease), visibility var(--ui-duration) var(--ui-ease)}.list.is-open{visibility:visible;opacity:1}.option{padding:0.5rem 0.75rem;font-size:0.875rem;color:var(--ui-foreground);border-radius:var(--ui-radius-sm);cursor:pointer;transition:background var(--ui-duration) var(--ui-ease)}.option.active{background:var(--ui-chip)}.option.selected{color:var(--ui-accent)}.empty{padding:0.5rem 0.75rem;font-size:0.875rem;color:var(--ui-text-faint)}`;
5
+
6
+ const UiCombobox = class {
7
+ constructor(hostRef) {
8
+ registerInstance(this, hostRef);
9
+ this.uiChange = createEvent(this, "uiChange");
10
+ /** Opções disponíveis para autocomplete. */
11
+ this.options = [];
12
+ /** Valor selecionado. */
13
+ this.value = "";
14
+ /** Placeholder do campo. */
15
+ this.placeholder = "";
16
+ /** Texto digitado no campo. */
17
+ this.query = "";
18
+ /** Indica se a lista flutuante está aberta. */
19
+ this.open = false;
20
+ /** Índice da opção destacada. */
21
+ this.activeIndex = -1;
22
+ this.listId = `ui-combobox-list-${Math.random().toString(36).slice(2, 9)}`;
23
+ this.onInput = (event) => {
24
+ this.query = event.target.value;
25
+ this.activeIndex = -1;
26
+ this.setOpen(true);
27
+ };
28
+ this.onFocus = () => {
29
+ this.setOpen(true);
30
+ };
31
+ this.onKeydown = (event) => {
32
+ const items = this.filtered;
33
+ switch (event.key) {
34
+ case "ArrowDown":
35
+ event.preventDefault();
36
+ if (!this.open) {
37
+ this.setOpen(true);
38
+ return;
39
+ }
40
+ if (items.length === 0)
41
+ return;
42
+ this.activeIndex = (this.activeIndex + 1) % items.length;
43
+ break;
44
+ case "ArrowUp":
45
+ event.preventDefault();
46
+ if (items.length === 0)
47
+ return;
48
+ this.activeIndex =
49
+ (this.activeIndex - 1 + items.length) % items.length;
50
+ break;
51
+ case "Enter":
52
+ if (this.open && this.activeIndex >= 0 && items[this.activeIndex]) {
53
+ event.preventDefault();
54
+ this.select(items[this.activeIndex]);
55
+ }
56
+ break;
57
+ case "Escape":
58
+ if (this.open) {
59
+ event.preventDefault();
60
+ this.setOpen(false);
61
+ }
62
+ break;
63
+ }
64
+ };
65
+ this.onDocumentClick = (event) => {
66
+ if (!this.open)
67
+ return;
68
+ if (event.composedPath().includes(this.host))
69
+ return;
70
+ this.setOpen(false);
71
+ };
72
+ }
73
+ componentWillLoad() {
74
+ const selected = this.options.find((option) => option.value === this.value);
75
+ if (selected)
76
+ this.query = selected.label;
77
+ }
78
+ disconnectedCallback() {
79
+ this.stop();
80
+ document.removeEventListener("click", this.onDocumentClick);
81
+ }
82
+ get filtered() {
83
+ const term = this.query.toLowerCase();
84
+ return this.options.filter((option) => option.label.toLowerCase().includes(term));
85
+ }
86
+ setOpen(value) {
87
+ if (this.open === value)
88
+ return;
89
+ this.open = value;
90
+ if (value) {
91
+ requestAnimationFrame(() => this.start());
92
+ document.addEventListener("click", this.onDocumentClick);
93
+ }
94
+ else {
95
+ this.stop();
96
+ this.activeIndex = -1;
97
+ document.removeEventListener("click", this.onDocumentClick);
98
+ }
99
+ }
100
+ start() {
101
+ if (!this.inputEl || !this.listEl)
102
+ return;
103
+ this.stop();
104
+ this.cleanup = autoUpdate(this.inputEl, this.listEl, () => {
105
+ if (!this.inputEl || !this.listEl)
106
+ return;
107
+ computePosition(this.inputEl, this.listEl, {
108
+ placement: "bottom-start",
109
+ middleware: [
110
+ offset(6),
111
+ flip(),
112
+ shift({ padding: 8 }),
113
+ size({
114
+ apply: ({ rects, elements }) => {
115
+ Object.assign(elements.floating.style, {
116
+ width: `${rects.reference.width}px`,
117
+ });
118
+ },
119
+ }),
120
+ ],
121
+ }).then(({ x, y }) => {
122
+ Object.assign(this.listEl.style, { left: `${x}px`, top: `${y}px` });
123
+ });
124
+ });
125
+ }
126
+ stop() {
127
+ this.cleanup?.();
128
+ this.cleanup = undefined;
129
+ }
130
+ select(option) {
131
+ this.value = option.value;
132
+ this.query = option.label;
133
+ this.setOpen(false);
134
+ this.uiChange.emit(option.value);
135
+ }
136
+ render() {
137
+ const items = this.filtered;
138
+ return (h(Host, { key: '64d332f96d0cb39e1889eb56dbf448f67e5ed240' }, h("div", { key: '30f829b5eff180aa97a2bbb2f90a4e289768df71', class: "field" }, h("input", { key: 'f6df95047db674d2e49d34fed6057cffc86eab49', class: "input", type: "text", role: "combobox", value: this.query, placeholder: this.placeholder, autocomplete: "off", "aria-expanded": this.open ? "true" : "false", "aria-controls": this.listId, "aria-autocomplete": "list", ref: (el) => (this.inputEl = el), onInput: this.onInput, onFocus: this.onFocus, onKeyDown: this.onKeydown })), h("div", { key: 'de55c7ad59dfa3e35aeac8799366e3ee849d1398', id: this.listId, class: { list: true, "is-open": this.open }, role: "listbox", ref: (el) => (this.listEl = el) }, items.length === 0 ? (h("div", { class: "empty" }, "Nenhum resultado")) : (items.map((option, index) => (h("div", { class: {
139
+ option: true,
140
+ active: index === this.activeIndex,
141
+ selected: option.value === this.value,
142
+ }, role: "option", "aria-selected": option.value === this.value ? "true" : "false", onMouseEnter: () => (this.activeIndex = index), onMouseDown: (event) => {
143
+ event.preventDefault();
144
+ this.select(option);
145
+ } }, option.label)))))));
146
+ }
147
+ get host() { return getElement(this); }
148
+ };
149
+ UiCombobox.style = uiComboboxCss();
150
+
151
+ export { UiCombobox as ui_combobox };
@@ -0,0 +1,24 @@
1
+ import { r as registerInstance, h, H as Host } from './index-DYwlrXg_.js';
2
+
3
+ const uiContainerCss = () => `:host{display:block;width:100%}.container{margin-inline:auto;width:100%;font-family:var(--ui-font-sans)}.size-sm{max-width:40rem}.size-md{max-width:48rem}.size-lg{max-width:64rem}.size-xl{max-width:80rem}.size-full{max-width:none}.padded{padding-inline:1.25rem}@media (min-width: 640px){.padded{padding-inline:2rem}}`;
4
+
5
+ const UiContainer = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ /** Largura máxima do container. */
9
+ this.size = "lg";
10
+ /** Aplica padding lateral responsivo. */
11
+ this.padded = true;
12
+ }
13
+ render() {
14
+ const classes = {
15
+ container: true,
16
+ [`size-${this.size}`]: true,
17
+ padded: this.padded,
18
+ };
19
+ return (h(Host, { key: 'd9f407cdd15aa38d7e21898f4088d58846e38f22' }, h("div", { key: '7c7596a79dedc3daf94ac5440447c4608e037854', class: classes }, h("slot", { key: '5005378ea1514e2d96fa0cdba219055161ee6688' }))));
20
+ }
21
+ };
22
+ UiContainer.style = uiContainerCss();
23
+
24
+ export { UiContainer as ui_container };
@@ -0,0 +1,169 @@
1
+ import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-DYwlrXg_.js';
2
+ import { a as autoUpdate, c as computePosition, o as offset, f as flip, s as shift } from './floating-ui.dom-DDtwbwIl.js';
3
+
4
+ const uiDatePickerCss = () => `:host{display:inline-block;font-family:var(--ui-font-sans)}.field{display:inline-flex;align-items:center;justify-content:space-between;gap:0.5rem;width:100%;min-width:12rem;height:2.75rem;padding:0 0.875rem;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-panel);color:var(--ui-foreground);font-family:var(--ui-font-sans);font-size:0.875rem;text-align:left;cursor:pointer;backdrop-filter:blur(22px);transition:all var(--ui-duration) var(--ui-ease);box-sizing:border-box}.field:hover{border-color:var(--ui-border-strong)}.field:focus-visible{outline:none;border-color:var(--ui-accent);box-shadow:0 0 0 2px var(--ui-ring)}.label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ui-foreground)}.label.placeholder{color:var(--ui-text-faint)}.icon{flex:none;color:var(--ui-text-muted)}.calendar{position:fixed;top:0;left:0;z-index:50;width:17rem;max-width:calc(100vw - 1rem);padding:1rem;font-family:var(--ui-font-sans);color:var(--ui-foreground);border:1px solid var(--ui-border);background:var(--ui-panel-strong);box-shadow:var(--ui-shadow-lg);backdrop-filter:blur(22px);border-radius:var(--ui-radius);visibility:hidden;opacity:0;transform:scale(0.96);transition:opacity var(--ui-duration) var(--ui-ease), transform var(--ui-duration) var(--ui-ease)}.calendar.is-open{visibility:visible;opacity:1;transform:scale(1)}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:0.75rem}.month-label{font-size:0.875rem;font-weight:600;text-transform:capitalize;color:var(--ui-foreground)}.nav{display:inline-flex;align-items:center;justify-content:center;flex:none;width:2rem;height:2rem;padding:0;border:none;border-radius:var(--ui-radius-full);background:transparent;color:var(--ui-text-soft);cursor:pointer;transition:all var(--ui-duration) var(--ui-ease)}.nav:hover{background:var(--ui-chip);color:var(--ui-foreground)}.weekdays{display:grid;grid-template-columns:repeat(7, 1fr);margin-bottom:0.25rem}.weekday{display:flex;align-items:center;justify-content:center;height:1.75rem;font-size:0.7rem;color:var(--ui-text-faint)}.grid{display:grid;grid-template-columns:repeat(7, 1fr);gap:0.125rem;justify-items:center}.day{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid transparent;border-radius:var(--ui-radius-full);background:transparent;color:var(--ui-foreground);font-family:var(--ui-font-sans);font-size:0.8125rem;cursor:pointer;transition:all var(--ui-duration) var(--ui-ease)}.day.empty{cursor:default;pointer-events:none}.day:hover:not(.empty):not(.selected){background:var(--ui-chip)}.day.today{border-color:var(--ui-accent)}.day.selected{background:var(--ui-accent);color:var(--ui-accent-contrast);border-color:transparent}`;
5
+
6
+ const WEEKDAYS = ["D", "S", "T", "Q", "Q", "S", "S"];
7
+ const UiDatePicker = class {
8
+ constructor(hostRef) {
9
+ registerInstance(this, hostRef);
10
+ this.uiChange = createEvent(this, "uiChange");
11
+ /** Data selecionada no formato ISO "YYYY-MM-DD". */
12
+ this.value = "";
13
+ /** Texto exibido quando nenhuma data está selecionada. */
14
+ this.placeholder = "Selecione a data";
15
+ /** Controla a visibilidade do calendário. */
16
+ this.open = false;
17
+ this.onTriggerClick = (event) => {
18
+ event.stopPropagation();
19
+ this.setOpen(!this.open);
20
+ };
21
+ this.onDocumentClick = (event) => {
22
+ if (!this.open)
23
+ return;
24
+ if (event.composedPath().includes(this.host))
25
+ return;
26
+ this.setOpen(false);
27
+ };
28
+ this.onKeydown = (event) => {
29
+ if (event.key === "Escape" && this.open)
30
+ this.setOpen(false);
31
+ };
32
+ this.prevMonth = (event) => {
33
+ event.stopPropagation();
34
+ if (this.viewMonth === 0) {
35
+ this.viewMonth = 11;
36
+ this.viewYear -= 1;
37
+ }
38
+ else {
39
+ this.viewMonth -= 1;
40
+ }
41
+ };
42
+ this.nextMonth = (event) => {
43
+ event.stopPropagation();
44
+ if (this.viewMonth === 11) {
45
+ this.viewMonth = 0;
46
+ this.viewYear += 1;
47
+ }
48
+ else {
49
+ this.viewMonth += 1;
50
+ }
51
+ };
52
+ }
53
+ componentWillLoad() {
54
+ this.syncViewFromValue();
55
+ }
56
+ onValueChange() {
57
+ this.syncViewFromValue();
58
+ }
59
+ disconnectedCallback() {
60
+ this.stop();
61
+ document.removeEventListener("click", this.onDocumentClick);
62
+ document.removeEventListener("keydown", this.onKeydown);
63
+ }
64
+ syncViewFromValue() {
65
+ const parsed = this.parseValue(this.value);
66
+ const base = parsed ?? new Date();
67
+ this.viewYear = base.getFullYear();
68
+ this.viewMonth = base.getMonth();
69
+ }
70
+ /** Converte o ISO em Date local, evitando shift de fuso. */
71
+ parseValue(value) {
72
+ if (!value)
73
+ return null;
74
+ const match = /^(\d{4})-(\d{2})-(\d{2})$/.exec(value);
75
+ if (!match)
76
+ return null;
77
+ const [, y, m, d] = match;
78
+ return new Date(Number(y), Number(m) - 1, Number(d));
79
+ }
80
+ /** Gera o ISO "YYYY-MM-DD" a partir de componentes locais. */
81
+ toISO(year, month, day) {
82
+ const mm = String(month + 1).padStart(2, "0");
83
+ const dd = String(day).padStart(2, "0");
84
+ return `${year}-${mm}-${dd}`;
85
+ }
86
+ formatValue() {
87
+ const parsed = this.parseValue(this.value);
88
+ return parsed ? parsed.toLocaleDateString("pt-BR") : "";
89
+ }
90
+ monthLabel() {
91
+ return new Date(this.viewYear, this.viewMonth, 1).toLocaleDateString("pt-BR", { month: "long", year: "numeric" });
92
+ }
93
+ setOpen(value) {
94
+ if (this.open === value)
95
+ return;
96
+ this.open = value;
97
+ if (value) {
98
+ this.syncViewFromValue();
99
+ requestAnimationFrame(() => this.start());
100
+ document.addEventListener("click", this.onDocumentClick);
101
+ document.addEventListener("keydown", this.onKeydown);
102
+ }
103
+ else {
104
+ this.stop();
105
+ document.removeEventListener("click", this.onDocumentClick);
106
+ document.removeEventListener("keydown", this.onKeydown);
107
+ }
108
+ }
109
+ start() {
110
+ if (!this.triggerEl || !this.floatingEl)
111
+ return;
112
+ this.stop();
113
+ this.cleanup = autoUpdate(this.triggerEl, this.floatingEl, () => {
114
+ if (!this.triggerEl || !this.floatingEl)
115
+ return;
116
+ computePosition(this.triggerEl, this.floatingEl, {
117
+ placement: "bottom-start",
118
+ middleware: [offset(6), flip(), shift({ padding: 8 })],
119
+ }).then(({ x, y }) => {
120
+ Object.assign(this.floatingEl.style, { left: `${x}px`, top: `${y}px` });
121
+ });
122
+ });
123
+ }
124
+ stop() {
125
+ this.cleanup?.();
126
+ this.cleanup = undefined;
127
+ }
128
+ selectDay(day) {
129
+ this.value = this.toISO(this.viewYear, this.viewMonth, day);
130
+ this.setOpen(false);
131
+ this.uiChange.emit(this.value);
132
+ }
133
+ buildDays() {
134
+ const firstWeekday = new Date(this.viewYear, this.viewMonth, 1).getDay();
135
+ const daysInMonth = new Date(this.viewYear, this.viewMonth + 1, 0).getDate();
136
+ const leading = Array.from({ length: firstWeekday }, () => 0);
137
+ const days = Array.from({ length: daysInMonth }, (_, i) => i + 1);
138
+ return [...leading, ...days];
139
+ }
140
+ isToday(day) {
141
+ const now = new Date();
142
+ return (day === now.getDate() &&
143
+ this.viewMonth === now.getMonth() &&
144
+ this.viewYear === now.getFullYear());
145
+ }
146
+ isSelected(day) {
147
+ return this.value === this.toISO(this.viewYear, this.viewMonth, day);
148
+ }
149
+ render() {
150
+ const display = this.formatValue();
151
+ return (h(Host, { key: '4ba4b256b16f49d1e65ffbe774c50065f097482f' }, h("button", { key: '0fa06810a3533cafcc808e680f61c3f289148ec5', type: "button", class: "field", ref: (el) => (this.triggerEl = el), onClick: this.onTriggerClick, "aria-haspopup": "dialog", "aria-expanded": this.open ? "true" : "false" }, h("span", { key: 'fd6c3f01d8ba6212284b70c8830a007fc6dc4fcb', class: { label: true, placeholder: !display } }, display || this.placeholder), h("svg", { key: 'aebef2e4b5928db3fdd0eee7754d6d7c430459d4', class: "icon", viewBox: "0 0 24 24", width: "18", height: "18", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("rect", { key: '8a87dd6a1230546145cd0d6626309c4c3835d379', x: "3", y: "4", width: "18", height: "18", rx: "2" }), h("path", { key: 'e3bca802e11ff11bbbd767c92233843a2b767e78', d: "M16 2v4M8 2v4M3 10h18" }))), h("div", { key: '1a8d439b816c7dcf0789e26788aee838e311b087', class: { calendar: true, "is-open": this.open }, role: "dialog", ref: (el) => (this.floatingEl = el) }, h("div", { key: '82d98e286b405ddfd12cc65cffe26b14ace1a31c', class: "header" }, h("button", { key: '6a01a9a3458d3e7b1dfc5ff153266106b9242511', type: "button", class: "nav", "aria-label": "M\u00EAs anterior", onClick: this.prevMonth }, h("svg", { key: 'cea0c6c7aecdf96eb2b4e42bf1b559fe7ea6e443', viewBox: "0 0 24 24", width: "16", height: "16", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("path", { key: '54d095e51205b3df5f52af6d2d28f89f2dd4db5c', d: "m15 18-6-6 6-6" }))), h("span", { key: '2dd822f49aa7f8bb419079a0c47f29bbfb7a22c4', class: "month-label" }, this.monthLabel()), h("button", { key: '553659e9903e96b84dcecbc86270d915dcd947f5', type: "button", class: "nav", "aria-label": "Pr\u00F3ximo m\u00EAs", onClick: this.nextMonth }, h("svg", { key: 'a73cdb32bedad0004a1d84b44e7866e008864fd8', viewBox: "0 0 24 24", width: "16", height: "16", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("path", { key: 'dac9e5c1fc22d2eefc73046269246ae07af53037', d: "m9 18 6-6-6-6" })))), h("div", { key: 'e731ae7eab8fee747826a58634cad540a60317a5', class: "weekdays" }, WEEKDAYS.map((label) => (h("span", { class: "weekday" }, label)))), h("div", { key: '4aa9f208fb5b20b3b35ae14f27d435918db3f380', class: "grid" }, this.buildDays().map((day) => day === 0 ? (h("span", { class: "day empty" })) : (h("button", { type: "button", class: {
152
+ day: true,
153
+ today: this.isToday(day),
154
+ selected: this.isSelected(day),
155
+ }, onClick: (event) => {
156
+ event.stopPropagation();
157
+ this.selectDay(day);
158
+ } }, day)))))));
159
+ }
160
+ get host() { return getElement(this); }
161
+ static get watchers() { return {
162
+ "value": [{
163
+ "onValueChange": 0
164
+ }]
165
+ }; }
166
+ };
167
+ UiDatePicker.style = uiDatePickerCss();
168
+
169
+ export { UiDatePicker as ui_date_picker };
@@ -42,7 +42,7 @@ const UiDialog = class {
42
42
  this.open = false;
43
43
  }
44
44
  render() {
45
- return (h(Host, { key: 'df811bec2a6a250e90cbb6d9c85202b2d3c2c964' }, h("dialog", { key: '49572b35ec17863fb83e9973c548a8cafa0308b6', class: "dialog", ref: (el) => (this.dialogEl = el), onClose: this.onClose, onCancel: this.onClose, onClick: this.onBackdropClick }, h("div", { key: '53c82b2c7a1b8831d64a060b4665a60bbdc7e39a', class: "content" }, h("slot", { key: 'b398a9692fdf2826b86125723bc232791e6b9e4b' })))));
45
+ return (h(Host, { key: 'f0ba1e147438e9941bd748b84cca800b93e0058a' }, h("dialog", { key: '54a38db84cc2bcd5064401499c8cbc48f9355021', class: "dialog", ref: (el) => (this.dialogEl = el), onClose: this.onClose, onCancel: this.onClose, onClick: this.onBackdropClick }, h("div", { key: '658cf9b13efe14c8db0c02b14b6ace5686ca686a', class: "content" }, h("slot", { key: '00cc3a3657049aabb7c80dfdefba059a5767da78' })))));
46
46
  }
47
47
  static get watchers() { return {
48
48
  "open": [{
@@ -44,7 +44,7 @@ const UiDrawer = class {
44
44
  this.open = false;
45
45
  }
46
46
  render() {
47
- return (h(Host, { key: '9f2f27dcc087f608a3aeed4fe64a65eb8fe4011b' }, h("dialog", { key: '92471e4a732f00e4187efb37cbba553651c2f9dd', class: `drawer side-${this.side}`, ref: (el) => (this.dialogEl = el), onClose: this.onClose, onCancel: this.onClose, onClick: this.onBackdropClick }, h("div", { key: 'd6706d4943f8559aee320b6df509138c44857bf0', class: "content" }, h("slot", { key: '5cb218bde44c73fd02c640c1d0da736427f2707c' })))));
47
+ return (h(Host, { key: '92e328d6068d3e183463e06897b9dc16e36c3be7' }, h("dialog", { key: 'd18eb940d959341831da313ee342f21f181aacfc', class: `drawer side-${this.side}`, ref: (el) => (this.dialogEl = el), onClose: this.onClose, onCancel: this.onClose, onClick: this.onBackdropClick }, h("div", { key: '9edf182db03b796ef944fbd4340d1d31db8b5321', class: "content" }, h("slot", { key: '34a67441244720ee301b9f4c2b871889a2a87d0b' })))));
48
48
  }
49
49
  static get watchers() { return {
50
50
  "open": [{
@@ -16,7 +16,7 @@ const UiDropdownItem = class {
16
16
  };
17
17
  }
18
18
  render() {
19
- return (h(Host, { key: '57af1c437b63fb19cfe297741b2b0f8d34564be9' }, h("button", { key: 'e3df81eb4c921d8b447c46da5140d21fb8126417', type: "button", class: "item", role: "menuitem", disabled: this.disabled, onClick: this.onClick }, h("slot", { key: '162d876af4ed9913c79964afcdceda7539feb95b' }))));
19
+ return (h(Host, { key: '46fe995e0d6496002cb4ffda00e444731f195805' }, h("button", { key: '5938fcad75c81029a321bdce5c1b2c98cb4cb6a2', type: "button", class: "item", role: "menuitem", disabled: this.disabled, onClick: this.onClick }, h("slot", { key: '32227bb1f298ab6ba3d97d1bae86b6ce713703b8' }))));
20
20
  }
21
21
  get host() { return getElement(this); }
22
22
  };
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-DYwlrXg_.js';
2
- import { a as autoUpdate, c as computePosition, o as offset, f as flip, s as shift } from './floating-ui.dom-CyBRmmbs.js';
2
+ import { a as autoUpdate, c as computePosition, o as offset, f as flip, s as shift } from './floating-ui.dom-DDtwbwIl.js';
3
3
 
4
4
  const uiDropdownMenuCss = () => `:host{display:inline-block}.trigger{display:inline-flex}.menu{position:fixed;top:0;left:0;z-index:50;display:flex;flex-direction:column;gap:0.125rem;min-width:10rem;max-width:calc(100vw - 1rem);padding:0.375rem;font-family:var(--ui-font-sans);color:var(--ui-foreground);border:1px solid var(--ui-border);background:var(--ui-panel-strong);box-shadow:var(--ui-shadow-lg);backdrop-filter:blur(22px);border-radius:var(--ui-radius);visibility:hidden;opacity:0;transform:scale(0.96);transition:opacity var(--ui-duration) var(--ui-ease), transform var(--ui-duration) var(--ui-ease)}.menu.is-open{visibility:visible;opacity:1;transform:scale(1)}`;
5
5
 
@@ -81,7 +81,7 @@ const UiDropdownMenu = class {
81
81
  this.cleanup = undefined;
82
82
  }
83
83
  render() {
84
- return (h(Host, { key: '65adc044508abd9ebf4b866fba02058bdcd22d5d' }, h("span", { key: 'e70a23e1b41c7936ab1dc3a87cd3593b3db43088', class: "trigger", ref: (el) => (this.triggerEl = el), onClick: this.onTriggerClick }, h("slot", { key: '40f2226b6ba6f1d3032cd2b2f2477fbcdf9617b5', name: "trigger" })), h("div", { key: '6af4ab3c98a9334d805e75da724d5572e4c986aa', class: { menu: true, "is-open": this.open }, role: "menu", ref: (el) => (this.floatingEl = el) }, h("slot", { key: '7f99ba16ab9544d5cf63b28f77f18fd4d0fbbed2' }))));
84
+ return (h(Host, { key: '3224e4bac8bcfeda15aa6a5411a95574795231a8' }, h("span", { key: '5f0c50e0cb28c349469be5971ac0622f05d8dd19', class: "trigger", ref: (el) => (this.triggerEl = el), onClick: this.onTriggerClick }, h("slot", { key: '616a2917a7377d00414c8fe9745ef6c1297841fa', name: "trigger" })), h("div", { key: 'efa36b327e9ba6a89b939170c296a69ffbe18e90', class: { menu: true, "is-open": this.open }, role: "menu", ref: (el) => (this.floatingEl = el) }, h("slot", { key: 'aaffbbb6b8fe37072c8344d95a902dcb667416ba' }))));
85
85
  }
86
86
  get host() { return getElement(this); }
87
87
  static get watchers() { return {
@@ -9,7 +9,7 @@ const UiField = class {
9
9
  this.required = false;
10
10
  }
11
11
  render() {
12
- return (h(Host, { key: '5656c6d47f71364d26db0e4998e64b8780ee3840' }, h("div", { key: '6adc292e3ae0829c7f5533b2be732644f7e95dab', class: "field" }, this.label && (h("label", { key: 'e7c2e2fa1c3b0bc6edadb1385062fe53e5b2f5f7', class: "label", htmlFor: this.fieldId }, this.label, this.required && (h("span", { key: '06e56259184b4618eb9f2b3602ebb691e6b0ef1b', class: "required", "aria-hidden": "true" }, " *")))), h("slot", { key: 'bd44f4f425f257671eff1ed536051fb318671afc' }), this.error ? (h("p", { class: "error", role: "alert" }, this.error)) : (this.description && h("p", { class: "description" }, this.description)))));
12
+ return (h(Host, { key: 'f39f480b04be85c60eaa8821358b8921d52a7801' }, h("div", { key: '22303a73ad07ca344ef29c25947443e4d43e95fb', class: "field" }, this.label && (h("label", { key: 'bf355b9c884ee0393c91f4d3cdaa38ab6d0132dc', class: "label", htmlFor: this.fieldId }, this.label, this.required && (h("span", { key: '94614ebcee5a68e180e135f5294370e272836b90', class: "required", "aria-hidden": "true" }, " *")))), h("slot", { key: '7d4b22b2741540aac3b017b882f9abfdb67c7492' }), this.error ? (h("p", { class: "error", role: "alert" }, this.error)) : (this.description && h("p", { class: "description" }, this.description)))));
13
13
  }
14
14
  };
15
15
  UiField.style = uiFieldCss();
@@ -0,0 +1,55 @@
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-DYwlrXg_.js';
2
+
3
+ const uiFileUploadCss = () => `:host{display:block}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.5rem;width:100%;padding:1.5rem;border:2px dashed var(--ui-border-strong);border-radius:var(--ui-radius-lg);background:transparent;font-family:var(--ui-font-sans);cursor:pointer;transition:background var(--ui-duration) var(--ui-ease), border-color var(--ui-duration) var(--ui-ease)}.dropzone:hover,.dropzone.dragging{background:var(--ui-chip)}.dropzone:focus-visible{outline:none;box-shadow:0 0 0 2px var(--ui-ring)}.icon{color:var(--ui-text-soft)}.label{font-size:0.875rem;color:var(--ui-text-muted)}.hint{font-size:0.75rem;color:var(--ui-text-faint)}.files{list-style:none;margin:0.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:0.375rem}.file{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;padding:0.5rem 0.75rem;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-panel);font-family:var(--ui-font-sans)}.file-name{font-size:0.875rem;color:var(--ui-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{flex-shrink:0;font-size:0.75rem;color:var(--ui-text-muted)}`;
4
+
5
+ const UiFileUpload = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.uiChange = createEvent(this, "uiChange");
9
+ /** Permite múltiplos arquivos. */
10
+ this.multiple = false;
11
+ /** Texto principal da zona de upload. */
12
+ this.label = "Arraste arquivos ou clique para enviar";
13
+ /** Arquivos atualmente selecionados. */
14
+ this.files = [];
15
+ /** Indica se há arraste sobre a zona. */
16
+ this.dragging = false;
17
+ this.openPicker = () => {
18
+ this.inputEl?.click();
19
+ };
20
+ this.onInputChange = (event) => {
21
+ const target = event.target;
22
+ this.setFiles(target.files);
23
+ };
24
+ this.onDragOver = (event) => {
25
+ event.preventDefault();
26
+ this.dragging = true;
27
+ };
28
+ this.onDragLeave = () => {
29
+ this.dragging = false;
30
+ };
31
+ this.onDrop = (event) => {
32
+ event.preventDefault();
33
+ this.dragging = false;
34
+ this.setFiles(event.dataTransfer?.files ?? null);
35
+ };
36
+ }
37
+ setFiles(list) {
38
+ if (!list)
39
+ return;
40
+ this.files = Array.from(list);
41
+ this.uiChange.emit(this.files);
42
+ }
43
+ formatSize(bytes) {
44
+ if (bytes >= 1024 * 1024) {
45
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
46
+ }
47
+ return `${(bytes / 1024).toFixed(1)} KB`;
48
+ }
49
+ render() {
50
+ return (h(Host, { key: '675f04b6b96fcdcd10f1344c20225501671e456b' }, h("button", { key: 'bcc1bb63fa043f0778f38370d919eabfb37930f5', type: "button", class: { dropzone: true, dragging: this.dragging }, onClick: this.openPicker, onDragOver: this.onDragOver, onDragLeave: this.onDragLeave, onDrop: this.onDrop }, h("svg", { key: 'a5836edcdf54284806125e0356f0a5d9bf3e075a', class: "icon", viewBox: "0 0 24 24", width: "2rem", height: "2rem", fill: "none", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("path", { key: '093a31bf1257a470ad7447c20ff02f4ca3ce1957', d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }), h("polyline", { key: 'c1eaf0285b47c402fefba5d16d3e1418df06405e', points: "17 8 12 3 7 8" }), h("line", { key: '4655c3de2b0df216d7f520eb81dc8e8a839fde25', x1: "12", y1: "3", x2: "12", y2: "15" })), h("span", { key: 'afa948d851f9df7944a2c669f9e0432fb1bb017b', class: "label" }, this.label), this.accept ? (h("span", { class: "hint" }, this.accept)) : null), h("input", { key: 'd2b97f6a23121a701da7e9296f0f06d0175c6edc', type: "file", hidden: true, accept: this.accept, multiple: this.multiple, ref: (el) => (this.inputEl = el), onChange: this.onInputChange }), this.files.length > 0 ? (h("ul", { class: "files" }, this.files.map((file) => (h("li", { class: "file" }, h("span", { class: "file-name" }, file.name), h("span", { class: "file-size" }, this.formatSize(file.size))))))) : null));
51
+ }
52
+ };
53
+ UiFileUpload.style = uiFileUploadCss();
54
+
55
+ export { UiFileUpload as ui_file_upload };
@@ -0,0 +1,32 @@
1
+ import { r as registerInstance, h, H as Host } from './index-DYwlrXg_.js';
2
+
3
+ const uiGridCss = () => `:host{display:block}.grid{display:grid;font-family:var(--ui-font-sans)}`;
4
+
5
+ const GAP = {
6
+ xs: "0.25rem",
7
+ sm: "0.5rem",
8
+ md: "1rem",
9
+ lg: "1.5rem",
10
+ xl: "2rem",
11
+ };
12
+ const UiGrid = class {
13
+ constructor(hostRef) {
14
+ registerInstance(this, hostRef);
15
+ /** Número de colunas da grade. */
16
+ this.columns = 12;
17
+ /** Espaçamento entre células. */
18
+ this.gap = "md";
19
+ }
20
+ render() {
21
+ const style = {
22
+ gridTemplateColumns: this.minItemWidth
23
+ ? `repeat(auto-fit, minmax(${this.minItemWidth}, 1fr))`
24
+ : `repeat(${this.columns}, minmax(0, 1fr))`,
25
+ gap: GAP[this.gap],
26
+ };
27
+ return (h(Host, { key: 'fa78c94117bc998616e3f30ef936527d5be66e13' }, h("div", { key: '8594c436b71b7f49434b3366ec70ea24c6b437dc', class: "grid", style: style }, h("slot", { key: '79bb94baa8dd68e82b88734d57f6e31b033a7f5f' }))));
28
+ }
29
+ };
30
+ UiGrid.style = uiGridCss();
31
+
32
+ export { UiGrid as ui_grid };
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host } from './index-DYwlrXg_.js';
2
2
 
3
- const uiInputCss = () => `:host{display:block}.input{width:100%;height:2.75rem;padding:0 1rem;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-panel);color:var(--ui-foreground);font-family:var(--ui-font-sans);font-size:0.875rem;outline:none;backdrop-filter:blur(22px);transition:all var(--ui-duration) var(--ui-ease);box-sizing:border-box}.input::placeholder{color:var(--ui-text-faint)}.input:focus-visible{border-color:var(--ui-accent);box-shadow:0 0 0 2px var(--ui-ring)}.input:disabled{opacity:0.5;pointer-events:none}.input.invalid{border-color:var(--ui-danger)}.input.invalid:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--ui-danger) 40%, transparent)}`;
3
+ const uiInputCss = () => `:host{display:block}.field{display:flex;align-items:center;gap:0.5rem;width:100%;height:2.75rem;padding:0 0.875rem;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-panel);backdrop-filter:blur(22px);transition:all var(--ui-duration) var(--ui-ease);box-sizing:border-box}.field:hover:not(.disabled){border-color:var(--ui-border-strong)}.field:focus-within{border-color:var(--ui-accent);box-shadow:0 0 0 2px var(--ui-ring)}.field.invalid{border-color:var(--ui-danger)}.field.invalid:focus-within{box-shadow:0 0 0 2px color-mix(in srgb, var(--ui-danger) 40%, transparent)}.field.disabled{opacity:0.5;pointer-events:none}.input{flex:1;min-width:0;height:100%;border:none;background:transparent;color:var(--ui-foreground);font-family:var(--ui-font-sans);font-size:0.875rem;outline:none}.input::placeholder{color:var(--ui-text-faint)}.affix{display:inline-flex;align-items:center;color:var(--ui-text-muted)}.affix::slotted(svg),::slotted([slot="prefix"]),::slotted([slot="suffix"]){display:inline-flex;color:var(--ui-text-muted)}.clear{display:inline-flex;align-items:center;justify-content:center;flex:none;width:1.25rem;height:1.25rem;padding:0;border:none;border-radius:var(--ui-radius-full);background:var(--ui-chip);color:var(--ui-text-muted);cursor:pointer;transition:all var(--ui-duration) var(--ui-ease)}.clear:hover{color:var(--ui-foreground);background:var(--ui-panel-strong)}`;
4
4
 
5
5
  const UiInput = class {
6
6
  constructor(hostRef) {
@@ -15,6 +15,8 @@ const UiInput = class {
15
15
  this.disabled = false;
16
16
  /** Marca o campo como inválido (estilo + aria-invalid). */
17
17
  this.invalid = false;
18
+ /** Exibe um botão para limpar o valor quando preenchido. */
19
+ this.clearable = false;
18
20
  this.onInput = (event) => {
19
21
  const target = event.target;
20
22
  this.value = target.value;
@@ -23,9 +25,15 @@ const UiInput = class {
23
25
  this.onChange = (event) => {
24
26
  this.uiChange.emit(event.target.value);
25
27
  };
28
+ this.clear = () => {
29
+ this.value = "";
30
+ this.uiInput.emit("");
31
+ this.uiChange.emit("");
32
+ };
26
33
  }
27
34
  render() {
28
- return (h(Host, { key: 'b904b919904db1677ed9480e43bf939138f09dfc' }, h("input", { key: '086b0bdd4a5f5c01af04be41cdee2e72af2376f1', class: { input: true, invalid: this.invalid }, type: this.type, value: this.value, name: this.name, placeholder: this.placeholder, disabled: this.disabled, "aria-invalid": this.invalid ? "true" : null, onInput: this.onInput, onChange: this.onChange })));
35
+ const showClear = this.clearable && !!this.value && !this.disabled;
36
+ return (h(Host, { key: 'cfe13feedab47ba88763ae727eb77ca15a0c52a3' }, h("div", { key: '7c79750f2ad87a55462a2416e9d46b4558f9b279', class: { field: true, invalid: this.invalid, disabled: this.disabled } }, h("span", { key: 'dafa1e0120f0de7a041ecfdb98db4203c1d67a28', class: "affix" }, h("slot", { key: '80aef681671784cd65f473975e441027d038c340', name: "prefix" })), h("input", { key: '8bad96710b4190784302fe9ce908f33aef0bc126', class: "input", type: this.type, value: this.value, name: this.name, placeholder: this.placeholder, disabled: this.disabled, "aria-invalid": this.invalid ? "true" : null, onInput: this.onInput, onChange: this.onChange }), showClear && (h("button", { key: '4b26604a6c1ff8004afa6ef0964490ba82553d61', class: "clear", type: "button", "aria-label": "Limpar", onClick: this.clear }, h("svg", { key: '87195594cef1db73b86f1117233fdef13ee9fa1a', viewBox: "0 0 24 24", width: "14", height: "14", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" }, h("path", { key: '66be8eddf982847bf22f59f9113b66b4e47ca005', d: "M18 6 6 18M6 6l12 12" })))), h("span", { key: '749bf6ba578fd22b2d6c34b0fb7522f5a87a33e3', class: "affix" }, h("slot", { key: 'b226025774cedd33f915c6155061044b272d77a1', name: "suffix" })))));
29
37
  }
30
38
  };
31
39
  UiInput.style = uiInputCss();
@@ -7,7 +7,7 @@ const UiLabel = class {
7
7
  registerInstance(this, hostRef);
8
8
  }
9
9
  render() {
10
- return (h(Host, { key: '5ded9464de8fe01a6bb830f4de51975cfd720746' }, h("label", { key: '1a14229c5e511eac3cb4244f546aee71a4f5d399', class: "label" }, h("slot", { key: '7c5def32e92ffdc6dcb1b83c044f5199957f5951' }))));
10
+ return (h(Host, { key: '45a53d43b29ba78ac9852334536e9d7cb93e9c3c' }, h("label", { key: 'f8209140ec401f7a055d398181a421f281307a9b', class: "label" }, h("slot", { key: '50ba3bbce082e8f0c402c7acb3cd25ce822e3728' }))));
11
11
  }
12
12
  };
13
13
  UiLabel.style = uiLabelCss();
@@ -0,0 +1,15 @@
1
+ import { r as registerInstance, h, H as Host } from './index-DYwlrXg_.js';
2
+
3
+ const uiNavbarCss = () => `:host{display:block}.navbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.75rem 1.25rem;background:var(--ui-panel-strong);backdrop-filter:blur(22px);border-bottom:1px solid var(--ui-border);font-family:var(--ui-font-sans);color:var(--ui-text-soft)}.brand{display:flex;align-items:center;gap:0.5rem;font-weight:600;color:var(--ui-foreground)}.center{display:flex;align-items:center;gap:1rem}.actions{display:flex;align-items:center;gap:0.75rem}`;
4
+
5
+ const UiNavbar = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ }
9
+ render() {
10
+ return (h(Host, { key: 'db6c3b0a7eee0812d931d4fb4c8b5ce444749b5e' }, h("nav", { key: '990bc62b051ca9f24ee5be4bf4e383873e5d8269', class: "navbar" }, h("div", { key: '999b46029fb0e0b6f5a04942d9326b30f7b0e392', class: "brand" }, h("slot", { key: '189a4521a16efdec4eee5c433b17a71028f05c90', name: "brand" })), h("div", { key: 'b3e129ad603ed6d32ec676aab96cf39e51834dec', class: "center" }, h("slot", { key: 'dc1fff1b9c536df2d88b5e92a83634d1e3bca384' })), h("div", { key: '854fac1322e96c7c67bf204af17ea665494c0fc5', class: "actions" }, h("slot", { key: '0f07b817547c866df0137f8667790b3caa65bea8', name: "actions" })))));
11
+ }
12
+ };
13
+ UiNavbar.style = uiNavbarCss();
14
+
15
+ export { UiNavbar as ui_navbar };
@@ -0,0 +1,61 @@
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-DYwlrXg_.js';
2
+
3
+ const uiPaginationCss = () => `:host{display:inline-block}.pagination{display:inline-flex;align-items:center;gap:0.25rem;font-family:var(--ui-font-sans)}.page{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;height:2.25rem;padding:0 0.5rem;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:transparent;color:var(--ui-foreground);font-family:var(--ui-font-sans);font-size:0.875rem;cursor:pointer;outline:none;transition:all var(--ui-duration) var(--ui-ease)}.page:hover{border-color:var(--ui-border-strong);background:var(--ui-chip)}.page:focus-visible{box-shadow:0 0 0 2px var(--ui-ring)}.page:disabled{pointer-events:none;opacity:0.5}.page.active{background:var(--ui-accent);color:var(--ui-accent-contrast);border-color:var(--ui-accent);box-shadow:var(--ui-shadow-sm)}.ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;height:2.25rem;color:var(--ui-text-faint);font-size:0.875rem}`;
4
+
5
+ const UiPagination = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.uiChange = createEvent(this, "uiChange");
9
+ /** Total de páginas. */
10
+ this.total = 1;
11
+ /** Página atual. */
12
+ this.current = 1;
13
+ /** Quantidade de páginas ao redor da atual. */
14
+ this.siblings = 1;
15
+ this.clamp = (page) => Math.min(Math.max(page, 1), Math.max(this.total, 1));
16
+ this.go = (page) => {
17
+ const next = this.clamp(page);
18
+ if (next === this.current)
19
+ return;
20
+ this.current = next;
21
+ this.uiChange.emit(next);
22
+ };
23
+ this.buildRange = () => {
24
+ const total = Math.max(this.total, 1);
25
+ const current = this.clamp(this.current);
26
+ const siblings = Math.max(this.siblings, 0);
27
+ const start = Math.max(current - siblings, 1);
28
+ const end = Math.min(current + siblings, total);
29
+ const pages = new Set([1, total]);
30
+ for (let page = start; page <= end; page += 1)
31
+ pages.add(page);
32
+ const sorted = Array.from(pages)
33
+ .filter((page) => page >= 1 && page <= total)
34
+ .sort((a, b) => a - b);
35
+ const result = [];
36
+ let previous = 0;
37
+ for (const page of sorted) {
38
+ if (previous && page - previous > 1)
39
+ result.push("...");
40
+ result.push(page);
41
+ previous = page;
42
+ }
43
+ return result;
44
+ };
45
+ }
46
+ render() {
47
+ const total = Math.max(this.total, 1);
48
+ const current = this.clamp(this.current);
49
+ const entries = this.buildRange();
50
+ return (h(Host, { key: '23be36b9c734a9c43e9644337a58e4ede719215d' }, h("nav", { key: '618c7c85d1ea8f93bdd058d7ba4e61a62991e2d6', class: "pagination", role: "navigation", "aria-label": "Pagina\u00E7\u00E3o" }, h("button", { key: 'a9c0cac9d2b2fb6c61e9627158efd08f1e20f597', class: "page nav", type: "button", "aria-label": "P\u00E1gina anterior", disabled: current <= 1, onClick: () => this.go(current - 1) }, "\u2039"), entries.map((entry, index) => {
51
+ if (entry === "...") {
52
+ return (h("span", { key: `ellipsis-${index}`, class: "ellipsis", "aria-hidden": "true" }, "\u2026"));
53
+ }
54
+ const active = entry === current;
55
+ return (h("button", { key: entry, class: { page: true, active }, type: "button", "aria-label": `Página ${entry}`, "aria-current": active ? "page" : undefined, onClick: () => this.go(entry) }, entry));
56
+ }), h("button", { key: '38fb86bda60934768f24c117e8586acb35f88513', class: "page nav", type: "button", "aria-label": "Pr\u00F3xima p\u00E1gina", disabled: current >= total, onClick: () => this.go(current + 1) }, "\u203A"))));
57
+ }
58
+ };
59
+ UiPagination.style = uiPaginationCss();
60
+
61
+ export { UiPagination as ui_pagination };