@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,171 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-Cb1tfi_9.js');
4
+ var floatingUi_dom = require('./floating-ui.dom-BZk7Blsu.js');
5
+
6
+ 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}`;
7
+
8
+ const WEEKDAYS = ["D", "S", "T", "Q", "Q", "S", "S"];
9
+ const UiDatePicker = class {
10
+ constructor(hostRef) {
11
+ index.registerInstance(this, hostRef);
12
+ this.uiChange = index.createEvent(this, "uiChange");
13
+ /** Data selecionada no formato ISO "YYYY-MM-DD". */
14
+ this.value = "";
15
+ /** Texto exibido quando nenhuma data está selecionada. */
16
+ this.placeholder = "Selecione a data";
17
+ /** Controla a visibilidade do calendário. */
18
+ this.open = false;
19
+ this.onTriggerClick = (event) => {
20
+ event.stopPropagation();
21
+ this.setOpen(!this.open);
22
+ };
23
+ this.onDocumentClick = (event) => {
24
+ if (!this.open)
25
+ return;
26
+ if (event.composedPath().includes(this.host))
27
+ return;
28
+ this.setOpen(false);
29
+ };
30
+ this.onKeydown = (event) => {
31
+ if (event.key === "Escape" && this.open)
32
+ this.setOpen(false);
33
+ };
34
+ this.prevMonth = (event) => {
35
+ event.stopPropagation();
36
+ if (this.viewMonth === 0) {
37
+ this.viewMonth = 11;
38
+ this.viewYear -= 1;
39
+ }
40
+ else {
41
+ this.viewMonth -= 1;
42
+ }
43
+ };
44
+ this.nextMonth = (event) => {
45
+ event.stopPropagation();
46
+ if (this.viewMonth === 11) {
47
+ this.viewMonth = 0;
48
+ this.viewYear += 1;
49
+ }
50
+ else {
51
+ this.viewMonth += 1;
52
+ }
53
+ };
54
+ }
55
+ componentWillLoad() {
56
+ this.syncViewFromValue();
57
+ }
58
+ onValueChange() {
59
+ this.syncViewFromValue();
60
+ }
61
+ disconnectedCallback() {
62
+ this.stop();
63
+ document.removeEventListener("click", this.onDocumentClick);
64
+ document.removeEventListener("keydown", this.onKeydown);
65
+ }
66
+ syncViewFromValue() {
67
+ const parsed = this.parseValue(this.value);
68
+ const base = parsed ?? new Date();
69
+ this.viewYear = base.getFullYear();
70
+ this.viewMonth = base.getMonth();
71
+ }
72
+ /** Converte o ISO em Date local, evitando shift de fuso. */
73
+ parseValue(value) {
74
+ if (!value)
75
+ return null;
76
+ const match = /^(\d{4})-(\d{2})-(\d{2})$/.exec(value);
77
+ if (!match)
78
+ return null;
79
+ const [, y, m, d] = match;
80
+ return new Date(Number(y), Number(m) - 1, Number(d));
81
+ }
82
+ /** Gera o ISO "YYYY-MM-DD" a partir de componentes locais. */
83
+ toISO(year, month, day) {
84
+ const mm = String(month + 1).padStart(2, "0");
85
+ const dd = String(day).padStart(2, "0");
86
+ return `${year}-${mm}-${dd}`;
87
+ }
88
+ formatValue() {
89
+ const parsed = this.parseValue(this.value);
90
+ return parsed ? parsed.toLocaleDateString("pt-BR") : "";
91
+ }
92
+ monthLabel() {
93
+ return new Date(this.viewYear, this.viewMonth, 1).toLocaleDateString("pt-BR", { month: "long", year: "numeric" });
94
+ }
95
+ setOpen(value) {
96
+ if (this.open === value)
97
+ return;
98
+ this.open = value;
99
+ if (value) {
100
+ this.syncViewFromValue();
101
+ requestAnimationFrame(() => this.start());
102
+ document.addEventListener("click", this.onDocumentClick);
103
+ document.addEventListener("keydown", this.onKeydown);
104
+ }
105
+ else {
106
+ this.stop();
107
+ document.removeEventListener("click", this.onDocumentClick);
108
+ document.removeEventListener("keydown", this.onKeydown);
109
+ }
110
+ }
111
+ start() {
112
+ if (!this.triggerEl || !this.floatingEl)
113
+ return;
114
+ this.stop();
115
+ this.cleanup = floatingUi_dom.autoUpdate(this.triggerEl, this.floatingEl, () => {
116
+ if (!this.triggerEl || !this.floatingEl)
117
+ return;
118
+ floatingUi_dom.computePosition(this.triggerEl, this.floatingEl, {
119
+ placement: "bottom-start",
120
+ middleware: [floatingUi_dom.offset(6), floatingUi_dom.flip(), floatingUi_dom.shift({ padding: 8 })],
121
+ }).then(({ x, y }) => {
122
+ Object.assign(this.floatingEl.style, { left: `${x}px`, top: `${y}px` });
123
+ });
124
+ });
125
+ }
126
+ stop() {
127
+ this.cleanup?.();
128
+ this.cleanup = undefined;
129
+ }
130
+ selectDay(day) {
131
+ this.value = this.toISO(this.viewYear, this.viewMonth, day);
132
+ this.setOpen(false);
133
+ this.uiChange.emit(this.value);
134
+ }
135
+ buildDays() {
136
+ const firstWeekday = new Date(this.viewYear, this.viewMonth, 1).getDay();
137
+ const daysInMonth = new Date(this.viewYear, this.viewMonth + 1, 0).getDate();
138
+ const leading = Array.from({ length: firstWeekday }, () => 0);
139
+ const days = Array.from({ length: daysInMonth }, (_, i) => i + 1);
140
+ return [...leading, ...days];
141
+ }
142
+ isToday(day) {
143
+ const now = new Date();
144
+ return (day === now.getDate() &&
145
+ this.viewMonth === now.getMonth() &&
146
+ this.viewYear === now.getFullYear());
147
+ }
148
+ isSelected(day) {
149
+ return this.value === this.toISO(this.viewYear, this.viewMonth, day);
150
+ }
151
+ render() {
152
+ const display = this.formatValue();
153
+ return (index.h(index.Host, { key: '4ba4b256b16f49d1e65ffbe774c50065f097482f' }, index.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" }, index.h("span", { key: 'fd6c3f01d8ba6212284b70c8830a007fc6dc4fcb', class: { label: true, placeholder: !display } }, display || this.placeholder), index.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" }, index.h("rect", { key: '8a87dd6a1230546145cd0d6626309c4c3835d379', x: "3", y: "4", width: "18", height: "18", rx: "2" }), index.h("path", { key: 'e3bca802e11ff11bbbd767c92233843a2b767e78', d: "M16 2v4M8 2v4M3 10h18" }))), index.h("div", { key: '1a8d439b816c7dcf0789e26788aee838e311b087', class: { calendar: true, "is-open": this.open }, role: "dialog", ref: (el) => (this.floatingEl = el) }, index.h("div", { key: '82d98e286b405ddfd12cc65cffe26b14ace1a31c', class: "header" }, index.h("button", { key: '6a01a9a3458d3e7b1dfc5ff153266106b9242511', type: "button", class: "nav", "aria-label": "M\u00EAs anterior", onClick: this.prevMonth }, index.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" }, index.h("path", { key: '54d095e51205b3df5f52af6d2d28f89f2dd4db5c', d: "m15 18-6-6 6-6" }))), index.h("span", { key: '2dd822f49aa7f8bb419079a0c47f29bbfb7a22c4', class: "month-label" }, this.monthLabel()), index.h("button", { key: '553659e9903e96b84dcecbc86270d915dcd947f5', type: "button", class: "nav", "aria-label": "Pr\u00F3ximo m\u00EAs", onClick: this.nextMonth }, index.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" }, index.h("path", { key: 'dac9e5c1fc22d2eefc73046269246ae07af53037', d: "m9 18 6-6-6-6" })))), index.h("div", { key: 'e731ae7eab8fee747826a58634cad540a60317a5', class: "weekdays" }, WEEKDAYS.map((label) => (index.h("span", { class: "weekday" }, label)))), index.h("div", { key: '4aa9f208fb5b20b3b35ae14f27d435918db3f380', class: "grid" }, this.buildDays().map((day) => day === 0 ? (index.h("span", { class: "day empty" })) : (index.h("button", { type: "button", class: {
154
+ day: true,
155
+ today: this.isToday(day),
156
+ selected: this.isSelected(day),
157
+ }, onClick: (event) => {
158
+ event.stopPropagation();
159
+ this.selectDay(day);
160
+ } }, day)))))));
161
+ }
162
+ get host() { return index.getElement(this); }
163
+ static get watchers() { return {
164
+ "value": [{
165
+ "onValueChange": 0
166
+ }]
167
+ }; }
168
+ };
169
+ UiDatePicker.style = uiDatePickerCss();
170
+
171
+ exports.ui_date_picker = UiDatePicker;
@@ -44,7 +44,7 @@ const UiDialog = class {
44
44
  this.open = false;
45
45
  }
46
46
  render() {
47
- return (index.h(index.Host, { key: 'df811bec2a6a250e90cbb6d9c85202b2d3c2c964' }, index.h("dialog", { key: '49572b35ec17863fb83e9973c548a8cafa0308b6', class: "dialog", ref: (el) => (this.dialogEl = el), onClose: this.onClose, onCancel: this.onClose, onClick: this.onBackdropClick }, index.h("div", { key: '53c82b2c7a1b8831d64a060b4665a60bbdc7e39a', class: "content" }, index.h("slot", { key: 'b398a9692fdf2826b86125723bc232791e6b9e4b' })))));
47
+ return (index.h(index.Host, { key: 'f0ba1e147438e9941bd748b84cca800b93e0058a' }, index.h("dialog", { key: '54a38db84cc2bcd5064401499c8cbc48f9355021', class: "dialog", ref: (el) => (this.dialogEl = el), onClose: this.onClose, onCancel: this.onClose, onClick: this.onBackdropClick }, index.h("div", { key: '658cf9b13efe14c8db0c02b14b6ace5686ca686a', class: "content" }, index.h("slot", { key: '00cc3a3657049aabb7c80dfdefba059a5767da78' })))));
48
48
  }
49
49
  static get watchers() { return {
50
50
  "open": [{
@@ -46,7 +46,7 @@ const UiDrawer = class {
46
46
  this.open = false;
47
47
  }
48
48
  render() {
49
- return (index.h(index.Host, { key: '9f2f27dcc087f608a3aeed4fe64a65eb8fe4011b' }, index.h("dialog", { key: '92471e4a732f00e4187efb37cbba553651c2f9dd', class: `drawer side-${this.side}`, ref: (el) => (this.dialogEl = el), onClose: this.onClose, onCancel: this.onClose, onClick: this.onBackdropClick }, index.h("div", { key: 'd6706d4943f8559aee320b6df509138c44857bf0', class: "content" }, index.h("slot", { key: '5cb218bde44c73fd02c640c1d0da736427f2707c' })))));
49
+ return (index.h(index.Host, { key: '92e328d6068d3e183463e06897b9dc16e36c3be7' }, index.h("dialog", { key: 'd18eb940d959341831da313ee342f21f181aacfc', class: `drawer side-${this.side}`, ref: (el) => (this.dialogEl = el), onClose: this.onClose, onCancel: this.onClose, onClick: this.onBackdropClick }, index.h("div", { key: '9edf182db03b796ef944fbd4340d1d31db8b5321', class: "content" }, index.h("slot", { key: '34a67441244720ee301b9f4c2b871889a2a87d0b' })))));
50
50
  }
51
51
  static get watchers() { return {
52
52
  "open": [{
@@ -18,7 +18,7 @@ const UiDropdownItem = class {
18
18
  };
19
19
  }
20
20
  render() {
21
- return (index.h(index.Host, { key: '57af1c437b63fb19cfe297741b2b0f8d34564be9' }, index.h("button", { key: 'e3df81eb4c921d8b447c46da5140d21fb8126417', type: "button", class: "item", role: "menuitem", disabled: this.disabled, onClick: this.onClick }, index.h("slot", { key: '162d876af4ed9913c79964afcdceda7539feb95b' }))));
21
+ return (index.h(index.Host, { key: '46fe995e0d6496002cb4ffda00e444731f195805' }, index.h("button", { key: '5938fcad75c81029a321bdce5c1b2c98cb4cb6a2', type: "button", class: "item", role: "menuitem", disabled: this.disabled, onClick: this.onClick }, index.h("slot", { key: '32227bb1f298ab6ba3d97d1bae86b6ce713703b8' }))));
22
22
  }
23
23
  get host() { return index.getElement(this); }
24
24
  };
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-Cb1tfi_9.js');
4
- var floatingUi_dom = require('./floating-ui.dom-BPemvNRD.js');
4
+ var floatingUi_dom = require('./floating-ui.dom-BZk7Blsu.js');
5
5
 
6
6
  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)}`;
7
7
 
@@ -83,7 +83,7 @@ const UiDropdownMenu = class {
83
83
  this.cleanup = undefined;
84
84
  }
85
85
  render() {
86
- return (index.h(index.Host, { key: '65adc044508abd9ebf4b866fba02058bdcd22d5d' }, index.h("span", { key: 'e70a23e1b41c7936ab1dc3a87cd3593b3db43088', class: "trigger", ref: (el) => (this.triggerEl = el), onClick: this.onTriggerClick }, index.h("slot", { key: '40f2226b6ba6f1d3032cd2b2f2477fbcdf9617b5', name: "trigger" })), index.h("div", { key: '6af4ab3c98a9334d805e75da724d5572e4c986aa', class: { menu: true, "is-open": this.open }, role: "menu", ref: (el) => (this.floatingEl = el) }, index.h("slot", { key: '7f99ba16ab9544d5cf63b28f77f18fd4d0fbbed2' }))));
86
+ return (index.h(index.Host, { key: '3224e4bac8bcfeda15aa6a5411a95574795231a8' }, index.h("span", { key: '5f0c50e0cb28c349469be5971ac0622f05d8dd19', class: "trigger", ref: (el) => (this.triggerEl = el), onClick: this.onTriggerClick }, index.h("slot", { key: '616a2917a7377d00414c8fe9745ef6c1297841fa', name: "trigger" })), index.h("div", { key: 'efa36b327e9ba6a89b939170c296a69ffbe18e90', class: { menu: true, "is-open": this.open }, role: "menu", ref: (el) => (this.floatingEl = el) }, index.h("slot", { key: 'aaffbbb6b8fe37072c8344d95a902dcb667416ba' }))));
87
87
  }
88
88
  get host() { return index.getElement(this); }
89
89
  static get watchers() { return {
@@ -11,7 +11,7 @@ const UiField = class {
11
11
  this.required = false;
12
12
  }
13
13
  render() {
14
- return (index.h(index.Host, { key: '5656c6d47f71364d26db0e4998e64b8780ee3840' }, index.h("div", { key: '6adc292e3ae0829c7f5533b2be732644f7e95dab', class: "field" }, this.label && (index.h("label", { key: 'e7c2e2fa1c3b0bc6edadb1385062fe53e5b2f5f7', class: "label", htmlFor: this.fieldId }, this.label, this.required && (index.h("span", { key: '06e56259184b4618eb9f2b3602ebb691e6b0ef1b', class: "required", "aria-hidden": "true" }, " *")))), index.h("slot", { key: 'bd44f4f425f257671eff1ed536051fb318671afc' }), this.error ? (index.h("p", { class: "error", role: "alert" }, this.error)) : (this.description && index.h("p", { class: "description" }, this.description)))));
14
+ return (index.h(index.Host, { key: 'f39f480b04be85c60eaa8821358b8921d52a7801' }, index.h("div", { key: '22303a73ad07ca344ef29c25947443e4d43e95fb', class: "field" }, this.label && (index.h("label", { key: 'bf355b9c884ee0393c91f4d3cdaa38ab6d0132dc', class: "label", htmlFor: this.fieldId }, this.label, this.required && (index.h("span", { key: '94614ebcee5a68e180e135f5294370e272836b90', class: "required", "aria-hidden": "true" }, " *")))), index.h("slot", { key: '7d4b22b2741540aac3b017b882f9abfdb67c7492' }), this.error ? (index.h("p", { class: "error", role: "alert" }, this.error)) : (this.description && index.h("p", { class: "description" }, this.description)))));
15
15
  }
16
16
  };
17
17
  UiField.style = uiFieldCss();
@@ -0,0 +1,57 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-Cb1tfi_9.js');
4
+
5
+ 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)}`;
6
+
7
+ const UiFileUpload = class {
8
+ constructor(hostRef) {
9
+ index.registerInstance(this, hostRef);
10
+ this.uiChange = index.createEvent(this, "uiChange");
11
+ /** Permite múltiplos arquivos. */
12
+ this.multiple = false;
13
+ /** Texto principal da zona de upload. */
14
+ this.label = "Arraste arquivos ou clique para enviar";
15
+ /** Arquivos atualmente selecionados. */
16
+ this.files = [];
17
+ /** Indica se há arraste sobre a zona. */
18
+ this.dragging = false;
19
+ this.openPicker = () => {
20
+ this.inputEl?.click();
21
+ };
22
+ this.onInputChange = (event) => {
23
+ const target = event.target;
24
+ this.setFiles(target.files);
25
+ };
26
+ this.onDragOver = (event) => {
27
+ event.preventDefault();
28
+ this.dragging = true;
29
+ };
30
+ this.onDragLeave = () => {
31
+ this.dragging = false;
32
+ };
33
+ this.onDrop = (event) => {
34
+ event.preventDefault();
35
+ this.dragging = false;
36
+ this.setFiles(event.dataTransfer?.files ?? null);
37
+ };
38
+ }
39
+ setFiles(list) {
40
+ if (!list)
41
+ return;
42
+ this.files = Array.from(list);
43
+ this.uiChange.emit(this.files);
44
+ }
45
+ formatSize(bytes) {
46
+ if (bytes >= 1024 * 1024) {
47
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
48
+ }
49
+ return `${(bytes / 1024).toFixed(1)} KB`;
50
+ }
51
+ render() {
52
+ return (index.h(index.Host, { key: '675f04b6b96fcdcd10f1344c20225501671e456b' }, index.h("button", { key: 'bcc1bb63fa043f0778f38370d919eabfb37930f5', type: "button", class: { dropzone: true, dragging: this.dragging }, onClick: this.openPicker, onDragOver: this.onDragOver, onDragLeave: this.onDragLeave, onDrop: this.onDrop }, index.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" }, index.h("path", { key: '093a31bf1257a470ad7447c20ff02f4ca3ce1957', d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }), index.h("polyline", { key: 'c1eaf0285b47c402fefba5d16d3e1418df06405e', points: "17 8 12 3 7 8" }), index.h("line", { key: '4655c3de2b0df216d7f520eb81dc8e8a839fde25', x1: "12", y1: "3", x2: "12", y2: "15" })), index.h("span", { key: 'afa948d851f9df7944a2c669f9e0432fb1bb017b', class: "label" }, this.label), this.accept ? (index.h("span", { class: "hint" }, this.accept)) : null), index.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 ? (index.h("ul", { class: "files" }, this.files.map((file) => (index.h("li", { class: "file" }, index.h("span", { class: "file-name" }, file.name), index.h("span", { class: "file-size" }, this.formatSize(file.size))))))) : null));
53
+ }
54
+ };
55
+ UiFileUpload.style = uiFileUploadCss();
56
+
57
+ exports.ui_file_upload = UiFileUpload;
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-Cb1tfi_9.js');
4
+
5
+ const uiGridCss = () => `:host{display:block}.grid{display:grid;font-family:var(--ui-font-sans)}`;
6
+
7
+ const GAP = {
8
+ xs: "0.25rem",
9
+ sm: "0.5rem",
10
+ md: "1rem",
11
+ lg: "1.5rem",
12
+ xl: "2rem",
13
+ };
14
+ const UiGrid = class {
15
+ constructor(hostRef) {
16
+ index.registerInstance(this, hostRef);
17
+ /** Número de colunas da grade. */
18
+ this.columns = 12;
19
+ /** Espaçamento entre células. */
20
+ this.gap = "md";
21
+ }
22
+ render() {
23
+ const style = {
24
+ gridTemplateColumns: this.minItemWidth
25
+ ? `repeat(auto-fit, minmax(${this.minItemWidth}, 1fr))`
26
+ : `repeat(${this.columns}, minmax(0, 1fr))`,
27
+ gap: GAP[this.gap],
28
+ };
29
+ return (index.h(index.Host, { key: 'fa78c94117bc998616e3f30ef936527d5be66e13' }, index.h("div", { key: '8594c436b71b7f49434b3366ec70ea24c6b437dc', class: "grid", style: style }, index.h("slot", { key: '79bb94baa8dd68e82b88734d57f6e31b033a7f5f' }))));
30
+ }
31
+ };
32
+ UiGrid.style = uiGridCss();
33
+
34
+ exports.ui_grid = UiGrid;
@@ -2,7 +2,7 @@
2
2
 
3
3
  var index = require('./index-Cb1tfi_9.js');
4
4
 
5
- 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)}`;
5
+ 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)}`;
6
6
 
7
7
  const UiInput = class {
8
8
  constructor(hostRef) {
@@ -17,6 +17,8 @@ const UiInput = class {
17
17
  this.disabled = false;
18
18
  /** Marca o campo como inválido (estilo + aria-invalid). */
19
19
  this.invalid = false;
20
+ /** Exibe um botão para limpar o valor quando preenchido. */
21
+ this.clearable = false;
20
22
  this.onInput = (event) => {
21
23
  const target = event.target;
22
24
  this.value = target.value;
@@ -25,9 +27,15 @@ const UiInput = class {
25
27
  this.onChange = (event) => {
26
28
  this.uiChange.emit(event.target.value);
27
29
  };
30
+ this.clear = () => {
31
+ this.value = "";
32
+ this.uiInput.emit("");
33
+ this.uiChange.emit("");
34
+ };
28
35
  }
29
36
  render() {
30
- return (index.h(index.Host, { key: 'b904b919904db1677ed9480e43bf939138f09dfc' }, index.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 })));
37
+ const showClear = this.clearable && !!this.value && !this.disabled;
38
+ return (index.h(index.Host, { key: 'cfe13feedab47ba88763ae727eb77ca15a0c52a3' }, index.h("div", { key: '7c79750f2ad87a55462a2416e9d46b4558f9b279', class: { field: true, invalid: this.invalid, disabled: this.disabled } }, index.h("span", { key: 'dafa1e0120f0de7a041ecfdb98db4203c1d67a28', class: "affix" }, index.h("slot", { key: '80aef681671784cd65f473975e441027d038c340', name: "prefix" })), index.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 && (index.h("button", { key: '4b26604a6c1ff8004afa6ef0964490ba82553d61', class: "clear", type: "button", "aria-label": "Limpar", onClick: this.clear }, index.h("svg", { key: '87195594cef1db73b86f1117233fdef13ee9fa1a', viewBox: "0 0 24 24", width: "14", height: "14", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" }, index.h("path", { key: '66be8eddf982847bf22f59f9113b66b4e47ca005', d: "M18 6 6 18M6 6l12 12" })))), index.h("span", { key: '749bf6ba578fd22b2d6c34b0fb7522f5a87a33e3', class: "affix" }, index.h("slot", { key: 'b226025774cedd33f915c6155061044b272d77a1', name: "suffix" })))));
31
39
  }
32
40
  };
33
41
  UiInput.style = uiInputCss();
@@ -9,7 +9,7 @@ const UiLabel = class {
9
9
  index.registerInstance(this, hostRef);
10
10
  }
11
11
  render() {
12
- return (index.h(index.Host, { key: '5ded9464de8fe01a6bb830f4de51975cfd720746' }, index.h("label", { key: '1a14229c5e511eac3cb4244f546aee71a4f5d399', class: "label" }, index.h("slot", { key: '7c5def32e92ffdc6dcb1b83c044f5199957f5951' }))));
12
+ return (index.h(index.Host, { key: '45a53d43b29ba78ac9852334536e9d7cb93e9c3c' }, index.h("label", { key: 'f8209140ec401f7a055d398181a421f281307a9b', class: "label" }, index.h("slot", { key: '50ba3bbce082e8f0c402c7acb3cd25ce822e3728' }))));
13
13
  }
14
14
  };
15
15
  UiLabel.style = uiLabelCss();
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-Cb1tfi_9.js');
4
+
5
+ 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}`;
6
+
7
+ const UiNavbar = class {
8
+ constructor(hostRef) {
9
+ index.registerInstance(this, hostRef);
10
+ }
11
+ render() {
12
+ return (index.h(index.Host, { key: 'db6c3b0a7eee0812d931d4fb4c8b5ce444749b5e' }, index.h("nav", { key: '990bc62b051ca9f24ee5be4bf4e383873e5d8269', class: "navbar" }, index.h("div", { key: '999b46029fb0e0b6f5a04942d9326b30f7b0e392', class: "brand" }, index.h("slot", { key: '189a4521a16efdec4eee5c433b17a71028f05c90', name: "brand" })), index.h("div", { key: 'b3e129ad603ed6d32ec676aab96cf39e51834dec', class: "center" }, index.h("slot", { key: 'dc1fff1b9c536df2d88b5e92a83634d1e3bca384' })), index.h("div", { key: '854fac1322e96c7c67bf204af17ea665494c0fc5', class: "actions" }, index.h("slot", { key: '0f07b817547c866df0137f8667790b3caa65bea8', name: "actions" })))));
13
+ }
14
+ };
15
+ UiNavbar.style = uiNavbarCss();
16
+
17
+ exports.ui_navbar = UiNavbar;
@@ -0,0 +1,63 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-Cb1tfi_9.js');
4
+
5
+ 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}`;
6
+
7
+ const UiPagination = class {
8
+ constructor(hostRef) {
9
+ index.registerInstance(this, hostRef);
10
+ this.uiChange = index.createEvent(this, "uiChange");
11
+ /** Total de páginas. */
12
+ this.total = 1;
13
+ /** Página atual. */
14
+ this.current = 1;
15
+ /** Quantidade de páginas ao redor da atual. */
16
+ this.siblings = 1;
17
+ this.clamp = (page) => Math.min(Math.max(page, 1), Math.max(this.total, 1));
18
+ this.go = (page) => {
19
+ const next = this.clamp(page);
20
+ if (next === this.current)
21
+ return;
22
+ this.current = next;
23
+ this.uiChange.emit(next);
24
+ };
25
+ this.buildRange = () => {
26
+ const total = Math.max(this.total, 1);
27
+ const current = this.clamp(this.current);
28
+ const siblings = Math.max(this.siblings, 0);
29
+ const start = Math.max(current - siblings, 1);
30
+ const end = Math.min(current + siblings, total);
31
+ const pages = new Set([1, total]);
32
+ for (let page = start; page <= end; page += 1)
33
+ pages.add(page);
34
+ const sorted = Array.from(pages)
35
+ .filter((page) => page >= 1 && page <= total)
36
+ .sort((a, b) => a - b);
37
+ const result = [];
38
+ let previous = 0;
39
+ for (const page of sorted) {
40
+ if (previous && page - previous > 1)
41
+ result.push("...");
42
+ result.push(page);
43
+ previous = page;
44
+ }
45
+ return result;
46
+ };
47
+ }
48
+ render() {
49
+ const total = Math.max(this.total, 1);
50
+ const current = this.clamp(this.current);
51
+ const entries = this.buildRange();
52
+ return (index.h(index.Host, { key: '23be36b9c734a9c43e9644337a58e4ede719215d' }, index.h("nav", { key: '618c7c85d1ea8f93bdd058d7ba4e61a62991e2d6', class: "pagination", role: "navigation", "aria-label": "Pagina\u00E7\u00E3o" }, index.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$1) => {
53
+ if (entry === "...") {
54
+ return (index.h("span", { key: `ellipsis-${index$1}`, class: "ellipsis", "aria-hidden": "true" }, "\u2026"));
55
+ }
56
+ const active = entry === current;
57
+ return (index.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));
58
+ }), index.h("button", { key: '38fb86bda60934768f24c117e8586acb35f88513', class: "page nav", type: "button", "aria-label": "Pr\u00F3xima p\u00E1gina", disabled: current >= total, onClick: () => this.go(current + 1) }, "\u203A"))));
59
+ }
60
+ };
61
+ UiPagination.style = uiPaginationCss();
62
+
63
+ exports.ui_pagination = UiPagination;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-Cb1tfi_9.js');
4
- var floatingUi_dom = require('./floating-ui.dom-BPemvNRD.js');
4
+ var floatingUi_dom = require('./floating-ui.dom-BZk7Blsu.js');
5
5
 
6
6
  const uiPopoverCss = () => `:host{display:inline-block}.trigger{display:inline-flex}.panel{position:fixed;top:0;left:0;z-index:50;width:18rem;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)}.panel.is-open{visibility:visible;opacity:1;transform:scale(1)}`;
7
7
 
@@ -80,7 +80,7 @@ const UiPopover = class {
80
80
  this.cleanup = undefined;
81
81
  }
82
82
  render() {
83
- return (index.h(index.Host, { key: '583667abe2df75e7c9e058b7a668661527ec0b8a' }, index.h("span", { key: '46eaca2ca8c70acff629ccc5c3c201b42136c30d', class: "trigger", ref: (el) => (this.triggerEl = el), onClick: this.onTriggerClick }, index.h("slot", { key: 'd81cf859a9887d3b6964ac8e67829cf1a84c58b2', name: "trigger" })), index.h("div", { key: 'da09ed4fa3eee00ef72fb4c0eba6f0a1b827df15', class: { panel: true, "is-open": this.open }, ref: (el) => (this.floatingEl = el) }, index.h("slot", { key: 'f2483196e778a14fbe1d537dd7a3c8a6453c0daf' }))));
83
+ return (index.h(index.Host, { key: '005686226a579c5a9968f9b99bc177bfc523f4bc' }, index.h("span", { key: '3c43cbdfd37c6ec5243c94069fb3e417fb4fde8b', class: "trigger", ref: (el) => (this.triggerEl = el), onClick: this.onTriggerClick }, index.h("slot", { key: 'bcc68719623c4035cb4b811d52d916c86b814657', name: "trigger" })), index.h("div", { key: '04865b639bcb5ba267d1ed3e0399f8b677c1befa', class: { panel: true, "is-open": this.open }, ref: (el) => (this.floatingEl = el) }, index.h("slot", { key: '2a518fa968650f9e844996b21d421f5e96834fbd' }))));
84
84
  }
85
85
  get host() { return index.getElement(this); }
86
86
  static get watchers() { return {
@@ -0,0 +1,44 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-Cb1tfi_9.js');
4
+
5
+ const uiProgressCircularCss = () => `:host{display:inline-flex;position:relative;align-items:center;justify-content:center}.ring{display:block}.ring.indeterminate{animation:ui-progress-circular-spin 1s linear infinite;transform-origin:center}.track{fill:none;stroke:var(--ui-chip)}.indicator{fill:none;stroke:var(--ui-accent);transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset var(--ui-duration) var(--ui-ease)}.value{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--ui-font-sans);font-size:0.8rem;font-weight:600;color:var(--ui-foreground)}@keyframes ui-progress-circular-spin{to{transform:rotate(360deg)}}`;
6
+
7
+ const UiProgressCircular = class {
8
+ constructor(hostRef) {
9
+ index.registerInstance(this, hostRef);
10
+ /** Valor atual do progresso. `null` torna o componente indeterminado. */
11
+ this.value = null;
12
+ /** Valor máximo. */
13
+ this.max = 100;
14
+ /** Tamanho do anel (qualquer unidade CSS). */
15
+ this.size = "3rem";
16
+ /** Espessura do traço. */
17
+ this.strokeWidth = 4;
18
+ /** Força o estado indeterminado. */
19
+ this.indeterminate = false;
20
+ /** Exibe o percentual no centro quando determinado. */
21
+ this.showValue = false;
22
+ }
23
+ get isIndeterminate() {
24
+ return this.indeterminate || this.value === null;
25
+ }
26
+ get percent() {
27
+ if (this.value === null || this.max <= 0)
28
+ return 0;
29
+ const clamped = Math.min(Math.max(this.value, 0), this.max);
30
+ return clamped / this.max;
31
+ }
32
+ render() {
33
+ const determinate = !this.isIndeterminate;
34
+ const radius = 50 - this.strokeWidth;
35
+ const circumference = 2 * Math.PI * radius;
36
+ const dashoffset = determinate
37
+ ? circumference * (1 - this.percent)
38
+ : circumference * 0.75;
39
+ return (index.h(index.Host, { key: '4201e2e660c07a1b3d5ad6e2a464b3dc4075308a', role: "progressbar", "aria-valuenow": determinate ? String(this.value) : undefined, "aria-valuemin": determinate ? "0" : undefined, "aria-valuemax": determinate ? String(this.max) : undefined, style: { width: this.size, height: this.size } }, index.h("svg", { key: 'fe9226a711cbdd751baf6fd06e8acef3af63349e', class: { ring: true, indeterminate: this.isIndeterminate }, width: this.size, height: this.size, viewBox: "0 0 100 100" }, index.h("circle", { key: 'c7dc8282a2295ac97009f575bb7f116d54b0f917', class: "track", cx: "50", cy: "50", r: String(radius), "stroke-width": String(this.strokeWidth) }), index.h("circle", { key: '04f88283dde12b1e6c2206f7421fb4fa72c6d569', class: "indicator", cx: "50", cy: "50", r: String(radius), "stroke-width": String(this.strokeWidth), "stroke-linecap": "round", "stroke-dasharray": String(circumference), "stroke-dashoffset": String(dashoffset) })), this.showValue && determinate ? (index.h("div", { class: "value" }, Math.round(this.percent * 100), "%")) : null));
40
+ }
41
+ };
42
+ UiProgressCircular.style = uiProgressCircularCss();
43
+
44
+ exports.ui_progress_circular = UiProgressCircular;
@@ -25,7 +25,7 @@ const UiProgress = class {
25
25
  }
26
26
  render() {
27
27
  const determinate = !this.isIndeterminate;
28
- return (index.h(index.Host, { key: '66c467df7d762604b0da866268ea75bce4499472', role: "progressbar", "aria-valuenow": determinate ? String(this.value) : undefined, "aria-valuemin": determinate ? "0" : undefined, "aria-valuemax": determinate ? String(this.max) : undefined }, index.h("div", { key: 'fab67d49344ddd90fbca231212a495c7d2d7a0b1', class: "track" }, index.h("div", { key: 'dfbd8b412ad24a297e3dacfabd646b812066421e', class: { indicator: true, indeterminate: this.isIndeterminate }, style: determinate ? { width: `${this.percent}%` } : undefined }))));
28
+ return (index.h(index.Host, { key: '0d53e528a9a2176e683310c375ff63a3785b7bc6', role: "progressbar", "aria-valuenow": determinate ? String(this.value) : undefined, "aria-valuemin": determinate ? "0" : undefined, "aria-valuemax": determinate ? String(this.max) : undefined }, index.h("div", { key: '5e7511d189ebc53dfffa6f9aabf0c6d110d2ba0f', class: "track" }, index.h("div", { key: '7d68e2e258c8d31a46815a66416853ea31af1b79', class: { indicator: true, indeterminate: this.isIndeterminate }, style: determinate ? { width: `${this.percent}%` } : undefined }))));
29
29
  }
30
30
  };
31
31
  UiProgress.style = uiProgressCss();
@@ -38,7 +38,7 @@ const UiRadioGroup = class {
38
38
  };
39
39
  }
40
40
  render() {
41
- return (index.h(index.Host, { key: '80b7e45cfc95e7e82015db2fa893b374ba73cf07' }, index.h("div", { key: '1133cd7ad3f9eb9ebaa0ac6c8a2ca3e2a52c46a9', class: "group", role: "radiogroup" }, this.options.map((option, index$1) => {
41
+ return (index.h(index.Host, { key: 'f7265dce62bf0d590da4b9d8f8756f11991680fb' }, index.h("div", { key: 'ba70adcb04fae5ba2f78089ac95f8dfed4014efd', class: "group", role: "radiogroup" }, this.options.map((option, index$1) => {
42
42
  const selected = option.value === this.value;
43
43
  return (index.h("button", { class: "radio", type: "button", role: "radio", "aria-checked": selected ? "true" : "false", tabindex: selected || (!this.value && index$1 === 0) ? "0" : "-1", disabled: this.disabled, onClick: () => this.select(option.value), onKeyDown: (event) => this.onKeyDown(event, index$1) }, index.h("span", { class: "indicator" }, index.h("span", { class: "dot" })), index.h("span", { class: "label" }, option.label)));
44
44
  }))));
@@ -0,0 +1,45 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-Cb1tfi_9.js');
4
+
5
+ const uiRatingCss = () => `:host{display:inline-flex}.rating{display:inline-flex;align-items:center;gap:0.125rem}.star{width:1.5rem;height:1.5rem;padding:0;border:none;background:none;cursor:pointer;color:var(--ui-border-strong);transition:color var(--ui-duration) var(--ui-ease), transform var(--ui-duration) var(--ui-ease)}.star svg{display:block;fill:none;stroke:currentColor;stroke-width:1.5}.star.filled{color:var(--ui-warning)}.star.filled svg{fill:currentColor;stroke:currentColor}.star:not(.readonly):hover{transform:scale(1.15)}.star:focus-visible{outline:none;border-radius:var(--ui-radius);box-shadow:0 0 0 2px var(--ui-ring)}.star.readonly{pointer-events:none;cursor:default}`;
6
+
7
+ const UiRating = class {
8
+ constructor(hostRef) {
9
+ index.registerInstance(this, hostRef);
10
+ this.uiChange = index.createEvent(this, "uiChange");
11
+ /** Valor selecionado. */
12
+ this.value = 0;
13
+ /** Quantidade de estrelas. */
14
+ this.max = 5;
15
+ /** Apenas leitura, sem interação. */
16
+ this.readonly = false;
17
+ /** Estrela atualmente sob o cursor (-1 quando sem hover). */
18
+ this.hoverValue = -1;
19
+ this.onLeave = () => {
20
+ this.hoverValue = -1;
21
+ };
22
+ }
23
+ select(index) {
24
+ if (this.readonly)
25
+ return;
26
+ this.value = index;
27
+ this.uiChange.emit(this.value);
28
+ }
29
+ onEnter(index) {
30
+ if (this.readonly)
31
+ return;
32
+ this.hoverValue = index;
33
+ }
34
+ render() {
35
+ const active = this.hoverValue > 0 ? this.hoverValue : this.value;
36
+ const stars = Array.from({ length: this.max }, (_, i) => i + 1);
37
+ return (index.h(index.Host, { key: 'b334c2aea5f4b15907ef5d386f344403b97f0324' }, index.h("div", { key: '635e2ec90f98eb3f90c4f365d32fc82b5763cf42', class: "rating", role: "radiogroup", "aria-label": "Avalia\u00E7\u00E3o", onMouseLeave: this.onLeave }, stars.map((index$1) => {
38
+ const filled = index$1 <= active;
39
+ return (index.h("button", { class: { star: true, filled, readonly: this.readonly }, type: "button", role: "radio", "aria-checked": index$1 === this.value ? "true" : "false", "aria-label": `${index$1} estrelas`, onClick: () => this.select(index$1), onMouseEnter: () => this.onEnter(index$1) }, index.h("svg", { viewBox: "0 0 24 24", width: "100%", height: "100%" }, index.h("path", { d: "M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z" }))));
40
+ }))));
41
+ }
42
+ };
43
+ UiRating.style = uiRatingCss();
44
+
45
+ exports.ui_rating = UiRating;
@@ -32,7 +32,7 @@ const UiReveal = class {
32
32
  this.observer?.disconnect();
33
33
  }
34
34
  render() {
35
- return (index.h(index.Host, { key: '0af93c131bf8564bf952ca61637041089b5c34b7' }, index.h("div", { key: '94a0fc0cf5445b9832994c19eb5600f6227ccc97', class: { reveal: true, visible: this.visible }, style: { transitionDelay: `${this.delay}ms` } }, index.h("slot", { key: '2a47e0af589790cbe5cfbc10ef49ffde1aced931' }))));
35
+ return (index.h(index.Host, { key: '5bb285428644e0c3e130178e5c34811ff5c52d5a' }, index.h("div", { key: '1884cbc6f94fdee392ed94ab8fbc4a449747138a', class: { reveal: true, visible: this.visible }, style: { transitionDelay: `${this.delay}ms` } }, index.h("slot", { key: '270ee6624c2ba58edc786d80fb3d777ff3cebb41' }))));
36
36
  }
37
37
  get host() { return index.getElement(this); }
38
38
  };