@andespindola/ui-core 0.1.0 → 0.2.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 (287) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/ui-accordion-item.cjs.entry.js +2 -2
  3. package/dist/cjs/ui-accordion.cjs.entry.js +1 -1
  4. package/dist/cjs/ui-alert.cjs.entry.js +40 -0
  5. package/dist/cjs/ui-avatar-group.cjs.entry.js +17 -0
  6. package/dist/cjs/ui-avatar.cjs.entry.js +2 -2
  7. package/dist/cjs/ui-badge.cjs.entry.js +7 -2
  8. package/dist/cjs/ui-breadcrumb-item.cjs.entry.js +23 -0
  9. package/dist/cjs/ui-breadcrumb.cjs.entry.js +17 -0
  10. package/dist/cjs/ui-button.cjs.entry.js +5 -3
  11. package/dist/cjs/ui-card.cjs.entry.js +2 -2
  12. package/dist/cjs/ui-checkbox.cjs.entry.js +2 -2
  13. package/dist/cjs/ui-container.cjs.entry.js +26 -0
  14. package/dist/cjs/ui-dialog.cjs.entry.js +1 -1
  15. package/dist/cjs/ui-drawer.cjs.entry.js +1 -1
  16. package/dist/cjs/ui-dropdown-item.cjs.entry.js +1 -1
  17. package/dist/cjs/ui-dropdown-menu.cjs.entry.js +1 -1
  18. package/dist/cjs/ui-field.cjs.entry.js +1 -1
  19. package/dist/cjs/ui-grid.cjs.entry.js +34 -0
  20. package/dist/cjs/ui-input.cjs.entry.js +10 -2
  21. package/dist/cjs/ui-label.cjs.entry.js +1 -1
  22. package/dist/cjs/ui-pagination.cjs.entry.js +63 -0
  23. package/dist/cjs/ui-popover.cjs.entry.js +1 -1
  24. package/dist/cjs/ui-progress.cjs.entry.js +2 -2
  25. package/dist/cjs/ui-radio-group.cjs.entry.js +1 -1
  26. package/dist/cjs/ui-reveal.cjs.entry.js +1 -1
  27. package/dist/cjs/ui-scroll-progress.cjs.entry.js +1 -1
  28. package/dist/cjs/ui-section.cjs.entry.js +2 -2
  29. package/dist/cjs/ui-segmented.cjs.entry.js +31 -0
  30. package/dist/cjs/ui-select.cjs.entry.js +2 -2
  31. package/dist/cjs/ui-separator.cjs.entry.js +1 -1
  32. package/dist/cjs/ui-skeleton.cjs.entry.js +2 -2
  33. package/dist/cjs/ui-slider.cjs.entry.js +1 -1
  34. package/dist/cjs/ui-spinner.cjs.entry.js +1 -1
  35. package/dist/cjs/ui-stack.cjs.entry.js +53 -0
  36. package/dist/cjs/ui-stat.cjs.entry.js +28 -0
  37. package/dist/cjs/ui-switch.cjs.entry.js +1 -1
  38. package/dist/cjs/ui-tabs.cjs.entry.js +3 -3
  39. package/dist/cjs/ui-textarea.cjs.entry.js +2 -2
  40. package/dist/cjs/ui-theme-toggle.cjs.entry.js +1 -1
  41. package/dist/cjs/ui-toast.cjs.entry.js +1 -1
  42. package/dist/cjs/ui-toaster.cjs.entry.js +1 -1
  43. package/dist/cjs/ui-tooltip.cjs.entry.js +2 -2
  44. package/dist/cjs/uikit.cjs.js +1 -1
  45. package/dist/collection/collection-manifest.json +10 -0
  46. package/dist/collection/components/ui-accordion/ui-accordion.js +1 -1
  47. package/dist/collection/components/ui-accordion-item/ui-accordion-item.css +8 -0
  48. package/dist/collection/components/ui-accordion-item/ui-accordion-item.js +1 -1
  49. package/dist/collection/components/ui-alert/ui-alert.css +95 -0
  50. package/dist/collection/components/ui-alert/ui-alert.js +134 -0
  51. package/dist/collection/components/ui-avatar/ui-avatar.css +31 -0
  52. package/dist/collection/components/ui-avatar/ui-avatar.js +20 -1
  53. package/dist/collection/components/ui-avatar-group/ui-avatar-group.css +22 -0
  54. package/dist/collection/components/ui-avatar-group/ui-avatar-group.js +21 -0
  55. package/dist/collection/components/ui-badge/ui-badge.css +26 -0
  56. package/dist/collection/components/ui-badge/ui-badge.js +63 -1
  57. package/dist/collection/components/ui-breadcrumb/ui-breadcrumb.css +15 -0
  58. package/dist/collection/components/ui-breadcrumb/ui-breadcrumb.js +18 -0
  59. package/dist/collection/components/ui-breadcrumb-item/ui-breadcrumb-item.css +30 -0
  60. package/dist/collection/components/ui-breadcrumb-item/ui-breadcrumb-item.js +69 -0
  61. package/dist/collection/components/ui-button/ui-button.css +11 -1
  62. package/dist/collection/components/ui-button/ui-button.js +24 -2
  63. package/dist/collection/components/ui-card/ui-card.css +17 -3
  64. package/dist/collection/components/ui-card/ui-card.js +1 -1
  65. package/dist/collection/components/ui-checkbox/ui-checkbox.css +6 -2
  66. package/dist/collection/components/ui-checkbox/ui-checkbox.js +1 -1
  67. package/dist/collection/components/ui-container/ui-container.css +38 -0
  68. package/dist/collection/components/ui-container/ui-container.js +79 -0
  69. package/dist/collection/components/ui-dialog/ui-dialog.js +1 -1
  70. package/dist/collection/components/ui-drawer/ui-drawer.js +1 -1
  71. package/dist/collection/components/ui-dropdown-item/ui-dropdown-item.js +1 -1
  72. package/dist/collection/components/ui-dropdown-menu/ui-dropdown-menu.js +1 -1
  73. package/dist/collection/components/ui-field/ui-field.js +1 -1
  74. package/dist/collection/components/ui-grid/ui-grid.css +8 -0
  75. package/dist/collection/components/ui-grid/ui-grid.js +106 -0
  76. package/dist/collection/components/ui-input/ui-input.css +65 -14
  77. package/dist/collection/components/ui-input/ui-input.js +29 -1
  78. package/dist/collection/components/ui-label/ui-label.js +1 -1
  79. package/dist/collection/components/ui-pagination/ui-pagination.css +59 -0
  80. package/dist/collection/components/ui-pagination/ui-pagination.js +147 -0
  81. package/dist/collection/components/ui-popover/ui-popover.js +1 -1
  82. package/dist/collection/components/ui-progress/ui-progress.css +9 -4
  83. package/dist/collection/components/ui-progress/ui-progress.js +1 -1
  84. package/dist/collection/components/ui-radio-group/ui-radio-group.js +1 -1
  85. package/dist/collection/components/ui-reveal/ui-reveal.js +1 -1
  86. package/dist/collection/components/ui-scroll-progress/ui-scroll-progress.js +1 -1
  87. package/dist/collection/components/ui-section/ui-section.css +12 -5
  88. package/dist/collection/components/ui-section/ui-section.js +1 -1
  89. package/dist/collection/components/ui-segmented/ui-segmented.css +46 -0
  90. package/dist/collection/components/ui-segmented/ui-segmented.js +99 -0
  91. package/dist/collection/components/ui-select/ui-select.css +4 -0
  92. package/dist/collection/components/ui-select/ui-select.js +1 -1
  93. package/dist/collection/components/ui-separator/ui-separator.js +1 -1
  94. package/dist/collection/components/ui-skeleton/ui-skeleton.css +9 -6
  95. package/dist/collection/components/ui-skeleton/ui-skeleton.js +1 -1
  96. package/dist/collection/components/ui-slider/ui-slider.js +1 -1
  97. package/dist/collection/components/ui-spinner/ui-spinner.js +1 -1
  98. package/dist/collection/components/ui-stack/ui-stack.css +8 -0
  99. package/dist/collection/components/ui-stack/ui-stack.js +184 -0
  100. package/dist/collection/components/ui-stat/ui-stat.css +69 -0
  101. package/dist/collection/components/ui-stat/ui-stat.js +118 -0
  102. package/dist/collection/components/ui-switch/ui-switch.js +1 -1
  103. package/dist/collection/components/ui-tabs/ui-tabs.css +12 -0
  104. package/dist/collection/components/ui-tabs/ui-tabs.js +2 -2
  105. package/dist/collection/components/ui-textarea/ui-textarea.css +4 -0
  106. package/dist/collection/components/ui-textarea/ui-textarea.js +1 -1
  107. package/dist/collection/components/ui-theme-toggle/ui-theme-toggle.js +1 -1
  108. package/dist/collection/components/ui-toast/ui-toast.js +1 -1
  109. package/dist/collection/components/ui-toaster/ui-toaster.js +1 -1
  110. package/dist/collection/components/ui-tooltip/ui-tooltip.css +5 -4
  111. package/dist/collection/components/ui-tooltip/ui-tooltip.js +1 -1
  112. package/dist/components/{p-Bz9HyboB.js → p-BwNtNvTb.js} +1 -1
  113. package/dist/components/{p-C8ePpPG3.js → p-CgsjJD8o.js} +1 -1
  114. package/dist/components/ui-accordion-item.js +1 -1
  115. package/dist/components/ui-accordion.js +1 -1
  116. package/dist/components/ui-alert.d.ts +11 -0
  117. package/dist/components/ui-alert.js +1 -0
  118. package/dist/components/ui-avatar-group.d.ts +11 -0
  119. package/dist/components/ui-avatar-group.js +1 -0
  120. package/dist/components/ui-avatar.js +1 -1
  121. package/dist/components/ui-badge.js +1 -1
  122. package/dist/components/ui-breadcrumb-item.d.ts +11 -0
  123. package/dist/components/ui-breadcrumb-item.js +1 -0
  124. package/dist/components/ui-breadcrumb.d.ts +11 -0
  125. package/dist/components/ui-breadcrumb.js +1 -0
  126. package/dist/components/ui-button.js +1 -1
  127. package/dist/components/ui-card.js +1 -1
  128. package/dist/components/ui-checkbox.js +1 -1
  129. package/dist/components/ui-container.d.ts +11 -0
  130. package/dist/components/ui-container.js +1 -0
  131. package/dist/components/ui-dialog.js +1 -1
  132. package/dist/components/ui-drawer.js +1 -1
  133. package/dist/components/ui-dropdown-item.js +1 -1
  134. package/dist/components/ui-dropdown-menu.js +1 -1
  135. package/dist/components/ui-field.js +1 -1
  136. package/dist/components/ui-grid.d.ts +11 -0
  137. package/dist/components/ui-grid.js +1 -0
  138. package/dist/components/ui-input.js +1 -1
  139. package/dist/components/ui-label.js +1 -1
  140. package/dist/components/ui-loading-overlay.js +1 -1
  141. package/dist/components/ui-pagination.d.ts +11 -0
  142. package/dist/components/ui-pagination.js +1 -0
  143. package/dist/components/ui-popover.js +1 -1
  144. package/dist/components/ui-progress.js +1 -1
  145. package/dist/components/ui-radio-group.js +1 -1
  146. package/dist/components/ui-reveal.js +1 -1
  147. package/dist/components/ui-scroll-progress.js +1 -1
  148. package/dist/components/ui-section.js +1 -1
  149. package/dist/components/ui-segmented.d.ts +11 -0
  150. package/dist/components/ui-segmented.js +1 -0
  151. package/dist/components/ui-select.js +1 -1
  152. package/dist/components/ui-separator.js +1 -1
  153. package/dist/components/ui-skeleton.js +1 -1
  154. package/dist/components/ui-slider.js +1 -1
  155. package/dist/components/ui-spinner.js +1 -1
  156. package/dist/components/ui-stack.d.ts +11 -0
  157. package/dist/components/ui-stack.js +1 -0
  158. package/dist/components/ui-stat.d.ts +11 -0
  159. package/dist/components/ui-stat.js +1 -0
  160. package/dist/components/ui-switch.js +1 -1
  161. package/dist/components/ui-tabs.js +1 -1
  162. package/dist/components/ui-textarea.js +1 -1
  163. package/dist/components/ui-theme-toggle.js +1 -1
  164. package/dist/components/ui-toast.js +1 -1
  165. package/dist/components/ui-toaster.js +1 -1
  166. package/dist/components/ui-tooltip.js +1 -1
  167. package/dist/esm/loader.js +1 -1
  168. package/dist/esm/ui-accordion-item.entry.js +2 -2
  169. package/dist/esm/ui-accordion.entry.js +1 -1
  170. package/dist/esm/ui-alert.entry.js +38 -0
  171. package/dist/esm/ui-avatar-group.entry.js +15 -0
  172. package/dist/esm/ui-avatar.entry.js +2 -2
  173. package/dist/esm/ui-badge.entry.js +8 -3
  174. package/dist/esm/ui-breadcrumb-item.entry.js +21 -0
  175. package/dist/esm/ui-breadcrumb.entry.js +15 -0
  176. package/dist/esm/ui-button.entry.js +5 -3
  177. package/dist/esm/ui-card.entry.js +2 -2
  178. package/dist/esm/ui-checkbox.entry.js +2 -2
  179. package/dist/esm/ui-container.entry.js +24 -0
  180. package/dist/esm/ui-dialog.entry.js +1 -1
  181. package/dist/esm/ui-drawer.entry.js +1 -1
  182. package/dist/esm/ui-dropdown-item.entry.js +1 -1
  183. package/dist/esm/ui-dropdown-menu.entry.js +1 -1
  184. package/dist/esm/ui-field.entry.js +1 -1
  185. package/dist/esm/ui-grid.entry.js +32 -0
  186. package/dist/esm/ui-input.entry.js +10 -2
  187. package/dist/esm/ui-label.entry.js +1 -1
  188. package/dist/esm/ui-pagination.entry.js +61 -0
  189. package/dist/esm/ui-popover.entry.js +1 -1
  190. package/dist/esm/ui-progress.entry.js +2 -2
  191. package/dist/esm/ui-radio-group.entry.js +1 -1
  192. package/dist/esm/ui-reveal.entry.js +1 -1
  193. package/dist/esm/ui-scroll-progress.entry.js +1 -1
  194. package/dist/esm/ui-section.entry.js +2 -2
  195. package/dist/esm/ui-segmented.entry.js +29 -0
  196. package/dist/esm/ui-select.entry.js +2 -2
  197. package/dist/esm/ui-separator.entry.js +1 -1
  198. package/dist/esm/ui-skeleton.entry.js +2 -2
  199. package/dist/esm/ui-slider.entry.js +1 -1
  200. package/dist/esm/ui-spinner.entry.js +1 -1
  201. package/dist/esm/ui-stack.entry.js +51 -0
  202. package/dist/esm/ui-stat.entry.js +26 -0
  203. package/dist/esm/ui-switch.entry.js +1 -1
  204. package/dist/esm/ui-tabs.entry.js +3 -3
  205. package/dist/esm/ui-textarea.entry.js +2 -2
  206. package/dist/esm/ui-theme-toggle.entry.js +1 -1
  207. package/dist/esm/ui-toast.entry.js +1 -1
  208. package/dist/esm/ui-toaster.entry.js +1 -1
  209. package/dist/esm/ui-tooltip.entry.js +2 -2
  210. package/dist/esm/uikit.js +1 -1
  211. package/dist/types/components/ui-alert/ui-alert.d.ts +17 -0
  212. package/dist/types/components/ui-avatar/ui-avatar.d.ts +2 -0
  213. package/dist/types/components/ui-avatar-group/ui-avatar-group.d.ts +6 -0
  214. package/dist/types/components/ui-badge/ui-badge.d.ts +7 -0
  215. package/dist/types/components/ui-breadcrumb/ui-breadcrumb.d.ts +3 -0
  216. package/dist/types/components/ui-breadcrumb-item/ui-breadcrumb-item.d.ts +8 -0
  217. package/dist/types/components/ui-button/ui-button.d.ts +2 -0
  218. package/dist/types/components/ui-container/ui-container.d.ts +8 -0
  219. package/dist/types/components/ui-grid/ui-grid.d.ts +10 -0
  220. package/dist/types/components/ui-input/ui-input.d.ts +3 -0
  221. package/dist/types/components/ui-pagination/ui-pagination.d.ts +15 -0
  222. package/dist/types/components/ui-segmented/ui-segmented.d.ts +15 -0
  223. package/dist/types/components/ui-stack/ui-stack.d.ts +17 -0
  224. package/dist/types/components/ui-stat/ui-stat.d.ts +13 -0
  225. package/dist/types/components.d.ts +552 -0
  226. package/dist/uikit/{p-8cebbe65.entry.js → p-09895cd0.entry.js} +1 -1
  227. package/dist/uikit/p-0cba0d11.entry.js +1 -0
  228. package/dist/uikit/p-12db6a6e.entry.js +1 -0
  229. package/dist/uikit/{p-4a1abc1c.entry.js → p-1d016ea4.entry.js} +1 -1
  230. package/dist/uikit/{p-19b81437.entry.js → p-25637424.entry.js} +1 -1
  231. package/dist/uikit/p-2601d8b6.entry.js +1 -0
  232. package/dist/uikit/p-2de05aac.entry.js +1 -0
  233. package/dist/uikit/{p-3d30bc7a.entry.js → p-3996590f.entry.js} +1 -1
  234. package/dist/uikit/p-3fc062a6.entry.js +1 -0
  235. package/dist/uikit/p-45e80e73.entry.js +1 -0
  236. package/dist/uikit/{p-b61e3df4.entry.js → p-55a23f91.entry.js} +1 -1
  237. package/dist/uikit/p-567f7496.entry.js +1 -0
  238. package/dist/uikit/p-5951a496.entry.js +1 -0
  239. package/dist/uikit/{p-9aa557d1.entry.js → p-595e146f.entry.js} +1 -1
  240. package/dist/uikit/p-635862e6.entry.js +1 -0
  241. package/dist/uikit/{p-c72ed105.entry.js → p-67963692.entry.js} +1 -1
  242. package/dist/uikit/p-6c0e9809.entry.js +1 -0
  243. package/dist/uikit/p-74b60a60.entry.js +1 -0
  244. package/dist/uikit/p-7a3d85da.entry.js +1 -0
  245. package/dist/uikit/{p-f7402442.entry.js → p-7f2c2924.entry.js} +1 -1
  246. package/dist/uikit/{p-5df32809.entry.js → p-81b45a43.entry.js} +1 -1
  247. package/dist/uikit/p-86ed6154.entry.js +1 -0
  248. package/dist/uikit/p-94ad46a5.entry.js +1 -0
  249. package/dist/uikit/{p-e410c789.entry.js → p-95cd976e.entry.js} +1 -1
  250. package/dist/uikit/{p-4382718f.entry.js → p-979f6178.entry.js} +1 -1
  251. package/dist/uikit/p-97d4dbf4.entry.js +1 -0
  252. package/dist/uikit/p-9a4dc343.entry.js +1 -0
  253. package/dist/uikit/p-9a9590b9.entry.js +1 -0
  254. package/dist/uikit/p-a01305a5.entry.js +1 -0
  255. package/dist/uikit/p-a080f46a.entry.js +1 -0
  256. package/dist/uikit/p-a92a7b19.entry.js +1 -0
  257. package/dist/uikit/p-a977a0db.entry.js +1 -0
  258. package/dist/uikit/p-b2df8437.entry.js +1 -0
  259. package/dist/uikit/{p-9e7b81ef.entry.js → p-c73c1009.entry.js} +1 -1
  260. package/dist/uikit/{p-83159bfc.entry.js → p-cd0ec835.entry.js} +1 -1
  261. package/dist/uikit/p-d20452b4.entry.js +1 -0
  262. package/dist/uikit/p-d7021157.entry.js +1 -0
  263. package/dist/uikit/p-db07f9c5.entry.js +1 -0
  264. package/dist/uikit/p-dca9f6f9.entry.js +1 -0
  265. package/dist/uikit/p-ddd70374.entry.js +1 -0
  266. package/dist/uikit/{p-629c1728.entry.js → p-faa98928.entry.js} +1 -1
  267. package/dist/uikit/p-fd832f52.entry.js +1 -0
  268. package/dist/uikit/uikit.esm.js +1 -1
  269. package/package.json +8 -3
  270. package/dist/uikit/p-06d6d907.entry.js +0 -1
  271. package/dist/uikit/p-0fb4949b.entry.js +0 -1
  272. package/dist/uikit/p-162302d1.entry.js +0 -1
  273. package/dist/uikit/p-24edfe3e.entry.js +0 -1
  274. package/dist/uikit/p-57058c30.entry.js +0 -1
  275. package/dist/uikit/p-5ea42ee5.entry.js +0 -1
  276. package/dist/uikit/p-76f0f79f.entry.js +0 -1
  277. package/dist/uikit/p-8bcd423c.entry.js +0 -1
  278. package/dist/uikit/p-90d49509.entry.js +0 -1
  279. package/dist/uikit/p-94fb298e.entry.js +0 -1
  280. package/dist/uikit/p-9c57cf57.entry.js +0 -1
  281. package/dist/uikit/p-9d784b04.entry.js +0 -1
  282. package/dist/uikit/p-9f7c6ca8.entry.js +0 -1
  283. package/dist/uikit/p-a7be1c69.entry.js +0 -1
  284. package/dist/uikit/p-b30aa6a6.entry.js +0 -1
  285. package/dist/uikit/p-cb2adfb7.entry.js +0 -1
  286. package/dist/uikit/p-cf10ca3b.entry.js +0 -1
  287. package/dist/uikit/p-fd1648bf.entry.js +0 -1
@@ -73,7 +73,7 @@ export class UiPopover {
73
73
  this.cleanup = undefined;
74
74
  }
75
75
  render() {
76
- return (h(Host, { key: '193a3f6fb440dc2da1837c2387511d38f71e7da3' }, h("span", { key: '8732b0b40340e39ac26b80e38864438cf9bf01cc', class: "trigger", ref: (el) => (this.triggerEl = el), onClick: this.onTriggerClick }, h("slot", { key: 'd51743b5fa62e8fd5c5639ba2d9681caa8556fb0', name: "trigger" })), h("div", { key: 'a2ae9fd5bb67dc1ad4243ac478ecc11cb4c28665', class: { panel: true, "is-open": this.open }, ref: (el) => (this.floatingEl = el) }, h("slot", { key: '655d8b979962d25dabe8497516be51199ce16452' }))));
76
+ return (h(Host, { key: '61b4088ff4d61701a3466619274e60ac64fcc420' }, h("span", { key: 'd2d00f4dbf391ea1bc119870e399187d98634de6', class: "trigger", ref: (el) => (this.triggerEl = el), onClick: this.onTriggerClick }, h("slot", { key: 'ece70edbdda096821de68295e55a3fba3caeada4', name: "trigger" })), h("div", { key: 'f30e5a570e49eb9c7056fd820bc57408dd78e013', class: { panel: true, "is-open": this.open }, ref: (el) => (this.floatingEl = el) }, h("slot", { key: '5823d3c7ed47946d812a2c34002fc5fd0cfc8a29' }))));
77
77
  }
78
78
  static get is() { return "ui-popover"; }
79
79
  static get encapsulation() { return "shadow"; }
@@ -7,26 +7,31 @@
7
7
  height: 0.5rem;
8
8
  border-radius: var(--ui-radius-full);
9
9
  background: var(--ui-chip);
10
+ border: 1px solid var(--ui-border);
10
11
  overflow: hidden;
12
+ box-sizing: border-box;
11
13
  }
12
14
 
13
15
  .indicator {
14
16
  height: 100%;
17
+ min-width: 0.5rem;
15
18
  border-radius: var(--ui-radius-full);
16
- background: var(--ui-accent);
19
+ background: linear-gradient(90deg, var(--ui-accent), var(--ui-accent-strong));
20
+ box-shadow: 0 0 12px color-mix(in srgb, var(--ui-accent) 55%, transparent);
17
21
  transition: width var(--ui-duration) var(--ui-ease);
18
22
  }
19
23
 
20
24
  .indicator.indeterminate {
21
25
  width: 40%;
22
- animation: ui-progress-slide 1.2s ease-in-out infinite;
26
+ min-width: 0;
27
+ animation: ui-progress-slide 1.3s var(--ui-ease) infinite;
23
28
  }
24
29
 
25
30
  @keyframes ui-progress-slide {
26
31
  0% {
27
- transform: translateX(-100%);
32
+ transform: translateX(-110%);
28
33
  }
29
34
  100% {
30
- transform: translateX(250%);
35
+ transform: translateX(360%);
31
36
  }
32
37
  }
@@ -19,7 +19,7 @@ export class UiProgress {
19
19
  }
20
20
  render() {
21
21
  const determinate = !this.isIndeterminate;
22
- return (h(Host, { key: '0be3e6f551bf5401e033a7faba2787eb4166eb0a', role: "progressbar", "aria-valuenow": determinate ? String(this.value) : undefined, "aria-valuemin": determinate ? "0" : undefined, "aria-valuemax": determinate ? String(this.max) : undefined }, h("div", { key: '89151bf96326053ce60b71a2f2f9b6c13d721e39', class: "track" }, h("div", { key: '2cdf8f8cbbe7729813e8e78b671fc43b7ebec153', class: { indicator: true, indeterminate: this.isIndeterminate }, style: determinate ? { width: `${this.percent}%` } : undefined }))));
22
+ return (h(Host, { key: '8f40e0e4a439959e1474d2952f0f891438fb3ecf', role: "progressbar", "aria-valuenow": determinate ? String(this.value) : undefined, "aria-valuemin": determinate ? "0" : undefined, "aria-valuemax": determinate ? String(this.max) : undefined }, h("div", { key: '9bfd7557efbfad05a8b170764b96935f00cbdaeb', class: "track" }, h("div", { key: '02205ac65e75f27f52869991b168c6397c8b2760', class: { indicator: true, indeterminate: this.isIndeterminate }, style: determinate ? { width: `${this.percent}%` } : undefined }))));
23
23
  }
24
24
  static get is() { return "ui-progress"; }
25
25
  static get encapsulation() { return "shadow"; }
@@ -31,7 +31,7 @@ export class UiRadioGroup {
31
31
  };
32
32
  }
33
33
  render() {
34
- return (h(Host, { key: '80b7e45cfc95e7e82015db2fa893b374ba73cf07' }, h("div", { key: '1133cd7ad3f9eb9ebaa0ac6c8a2ca3e2a52c46a9', class: "group", role: "radiogroup" }, this.options.map((option, index) => {
34
+ return (h(Host, { key: '67c377ec552ea8cb6ea3d015bab1ee3d66ee436c' }, h("div", { key: 'aa52c74b8473ca06b762811a900d90cdfc8f7422', class: "group", role: "radiogroup" }, this.options.map((option, index) => {
35
35
  const selected = option.value === this.value;
36
36
  return (h("button", { class: "radio", type: "button", role: "radio", "aria-checked": selected ? "true" : "false", tabindex: selected || (!this.value && index === 0) ? "0" : "-1", disabled: this.disabled, onClick: () => this.select(option.value), onKeyDown: (event) => this.onKeyDown(event, index) }, h("span", { class: "indicator" }, h("span", { class: "dot" })), h("span", { class: "label" }, option.label)));
37
37
  }))));
@@ -26,7 +26,7 @@ export class UiReveal {
26
26
  this.observer?.disconnect();
27
27
  }
28
28
  render() {
29
- return (h(Host, { key: '926e1c25b8463f92dc35a010d58b9bd622932c21' }, h("div", { key: '0561142e1b0955e22d12056f316c98556cb5365d', class: { reveal: true, visible: this.visible }, style: { transitionDelay: `${this.delay}ms` } }, h("slot", { key: 'bd53a6ca33153d3f7768a7662e5e5b78ea221cc6' }))));
29
+ return (h(Host, { key: '4ab570c0eaa9fb6b4d6a9d01887fde6edd72ba8d' }, h("div", { key: 'cf0287499bfa5107fb49cadc85c85f2f70063967', class: { reveal: true, visible: this.visible }, style: { transitionDelay: `${this.delay}ms` } }, h("slot", { key: 'b46502732e597f13d60ec55be0d456dba8181386' }))));
30
30
  }
31
31
  static get is() { return "ui-reveal"; }
32
32
  static get encapsulation() { return "shadow"; }
@@ -23,7 +23,7 @@ export class UiScrollProgress {
23
23
  window.removeEventListener("scroll", this.onScroll);
24
24
  }
25
25
  render() {
26
- return (h(Host, { key: '7eced0439a2d6ef04d085396a6fc0e69fbe798ed' }, h("div", { key: '30db3ea1a3fce2a26ebca96568e939c4a0183922', class: "bar", role: "progressbar", "aria-valuemin": 0, "aria-valuemax": 100, "aria-valuenow": Math.round(this.progress * 100), style: { transform: `scaleX(${this.progress})` } })));
26
+ return (h(Host, { key: 'cb2d746b6e0ca3642a0460cff5685f2eb83a6301' }, h("div", { key: '7fdb8b414f833110c389aef8620c313fb8c001c7', class: "bar", role: "progressbar", "aria-valuemin": 0, "aria-valuemax": 100, "aria-valuenow": Math.round(this.progress * 100), style: { transform: `scaleX(${this.progress})` } })));
27
27
  }
28
28
  static get is() { return "ui-scroll-progress"; }
29
29
  static get encapsulation() { return "shadow"; }
@@ -6,22 +6,29 @@
6
6
  section {
7
7
  max-width: 80rem;
8
8
  margin: 0 auto;
9
- padding: 5rem 1.25rem;
9
+ padding: 3.5rem 1.5rem;
10
10
  }
11
11
 
12
12
  .eyebrow {
13
+ display: inline-block;
13
14
  margin: 0 0 0.75rem;
15
+ padding: 0.25rem 0.625rem;
16
+ border: 1px solid var(--ui-border);
17
+ border-radius: var(--ui-radius-full);
18
+ background: var(--ui-chip);
14
19
  text-transform: uppercase;
15
- letter-spacing: 0.08em;
16
- font-size: 0.75rem;
20
+ letter-spacing: 0.12em;
21
+ font-size: 0.6875rem;
17
22
  font-weight: 600;
18
23
  color: var(--ui-accent);
19
24
  }
20
25
 
21
26
  .heading {
22
- margin: 0 0 1rem;
23
- font-size: 1.875rem;
27
+ margin: 0 0 0.75rem;
28
+ font-size: 2.25rem;
24
29
  font-weight: 600;
30
+ letter-spacing: -0.02em;
31
+ line-height: 1.1;
25
32
  color: var(--ui-foreground);
26
33
  }
27
34
 
@@ -9,7 +9,7 @@ export class UiSection {
9
9
  this.description = "";
10
10
  }
11
11
  render() {
12
- return (h(Host, { key: '63ee126b1e457a4dcd01a66aa519e6fae8377db6' }, h("section", { key: '34f3c07dca2e9f6a3c288b7c41abaf2a3502129f' }, this.eyebrow && h("p", { key: '7c71e3e38e56872757d017ba4f59949f50518c6f', class: "eyebrow" }, this.eyebrow), this.heading && h("h2", { key: 'b8f42a4ae5d2e5d8fb80a4cb9de07ca10c2423fd', class: "heading" }, this.heading), this.description && h("p", { key: 'faeba9733afaa52e7a08629459dd708b4f647740', class: "description" }, this.description), h("slot", { key: '99e906d4ca93461c35125acb4eb3401ed76929fe' }))));
12
+ return (h(Host, { key: '71344e4d5a4c6bccade1bf5151aeba1dffa14d7f' }, h("section", { key: '404cb27c6db128f60608b4eff44fa6e05520016b' }, this.eyebrow && h("p", { key: '204ced95531d3bf77c2a32f940c3ec4bc0e76f53', class: "eyebrow" }, this.eyebrow), this.heading && h("h2", { key: '46818123dd264ef60db8ff9c7a2ad93979d71434', class: "heading" }, this.heading), this.description && h("p", { key: 'eaba39853cd12a874c9079e2181aca9e0fc130b7', class: "description" }, this.description), h("slot", { key: '24d02b1d9176e42d7906ef43881807d7cfda2e52' }))));
13
13
  }
14
14
  static get is() { return "ui-section"; }
15
15
  static get encapsulation() { return "shadow"; }
@@ -0,0 +1,46 @@
1
+ :host {
2
+ display: inline-block;
3
+ }
4
+
5
+ .track {
6
+ display: inline-flex;
7
+ align-items: center;
8
+ gap: 0.125rem;
9
+ padding: 0.25rem;
10
+ border: 1px solid var(--ui-border);
11
+ border-radius: var(--ui-radius-full);
12
+ background: var(--ui-chip);
13
+ font-family: var(--ui-font-sans);
14
+ }
15
+
16
+ .segment {
17
+ display: inline-flex;
18
+ align-items: center;
19
+ justify-content: center;
20
+ height: 2rem;
21
+ padding: 0 0.875rem;
22
+ border: none;
23
+ border-radius: var(--ui-radius-full);
24
+ background: transparent;
25
+ color: var(--ui-text-muted);
26
+ font-family: var(--ui-font-sans);
27
+ font-size: 0.8125rem;
28
+ font-weight: 500;
29
+ cursor: pointer;
30
+ outline: none;
31
+ transition: all var(--ui-duration) var(--ui-ease);
32
+ }
33
+
34
+ .segment:hover {
35
+ color: var(--ui-foreground);
36
+ }
37
+
38
+ .segment:focus-visible {
39
+ box-shadow: 0 0 0 2px var(--ui-ring);
40
+ }
41
+
42
+ .segment.active {
43
+ background: var(--ui-panel-strong);
44
+ color: var(--ui-foreground);
45
+ box-shadow: var(--ui-shadow-sm);
46
+ }
@@ -0,0 +1,99 @@
1
+ import { h, Host } from "@stencil/core";
2
+ export class UiSegmented {
3
+ constructor() {
4
+ /** Lista de segmentos. */
5
+ this.items = [];
6
+ /** Valor do segmento ativo. */
7
+ this.value = "";
8
+ this.select = (value) => {
9
+ if (value === this.value)
10
+ return;
11
+ this.value = value;
12
+ this.uiChange.emit(value);
13
+ };
14
+ }
15
+ render() {
16
+ return (h(Host, { key: '92649a392383aebb62bab90e3f20a008783f2ed2' }, h("div", { key: '22983cd496ee1f9ed1dbf49d989c409cdca3c8b4', class: "track", role: "radiogroup" }, this.items.map((item) => {
17
+ const active = item.value === this.value;
18
+ return (h("button", { key: item.value, class: { segment: true, active }, type: "button", role: "radio", "aria-checked": active ? "true" : "false", onClick: () => this.select(item.value) }, item.label));
19
+ }))));
20
+ }
21
+ static get is() { return "ui-segmented"; }
22
+ static get encapsulation() { return "shadow"; }
23
+ static get originalStyleUrls() {
24
+ return {
25
+ "$": ["ui-segmented.css"]
26
+ };
27
+ }
28
+ static get styleUrls() {
29
+ return {
30
+ "$": ["ui-segmented.css"]
31
+ };
32
+ }
33
+ static get properties() {
34
+ return {
35
+ "items": {
36
+ "type": "unknown",
37
+ "mutable": false,
38
+ "complexType": {
39
+ "original": "UiSegmentedItem[]",
40
+ "resolved": "UiSegmentedItem[]",
41
+ "references": {
42
+ "UiSegmentedItem": {
43
+ "location": "local",
44
+ "path": "/Users/andersonespindola/.ghq/github.com/andersonflima/ui/packages/core/src/components/ui-segmented/ui-segmented.tsx",
45
+ "id": "src/components/ui-segmented/ui-segmented.tsx::UiSegmentedItem"
46
+ }
47
+ }
48
+ },
49
+ "required": false,
50
+ "optional": false,
51
+ "docs": {
52
+ "tags": [],
53
+ "text": "Lista de segmentos."
54
+ },
55
+ "getter": false,
56
+ "setter": false,
57
+ "defaultValue": "[]"
58
+ },
59
+ "value": {
60
+ "type": "string",
61
+ "mutable": true,
62
+ "complexType": {
63
+ "original": "string",
64
+ "resolved": "string",
65
+ "references": {}
66
+ },
67
+ "required": false,
68
+ "optional": false,
69
+ "docs": {
70
+ "tags": [],
71
+ "text": "Valor do segmento ativo."
72
+ },
73
+ "getter": false,
74
+ "setter": false,
75
+ "reflect": true,
76
+ "attribute": "value",
77
+ "defaultValue": "\"\""
78
+ }
79
+ };
80
+ }
81
+ static get events() {
82
+ return [{
83
+ "method": "uiChange",
84
+ "name": "uiChange",
85
+ "bubbles": true,
86
+ "cancelable": true,
87
+ "composed": true,
88
+ "docs": {
89
+ "tags": [],
90
+ "text": "Emitido quando o segmento ativo muda."
91
+ },
92
+ "complexType": {
93
+ "original": "string",
94
+ "resolved": "string",
95
+ "references": {}
96
+ }
97
+ }];
98
+ }
99
+ }
@@ -27,6 +27,10 @@
27
27
  appearance: none;
28
28
  }
29
29
 
30
+ .select:hover:not(:disabled) {
31
+ border-color: var(--ui-border-strong);
32
+ }
33
+
30
34
  .select:focus-visible {
31
35
  border-color: var(--ui-accent);
32
36
  box-shadow: 0 0 0 2px var(--ui-ring);
@@ -13,7 +13,7 @@ export class UiSelect {
13
13
  }
14
14
  render() {
15
15
  const hasValue = this.value !== undefined && this.value !== "";
16
- return (h(Host, { key: '1ebd6a8472a116ad071e9504ab0756daddb27824' }, h("div", { key: '5d2d00f41b8f74202156d0af7c150b89d79dc1a4', class: "wrapper" }, h("select", { key: '7b370433247f03a126ce13005a3697ba5b04845f', class: "select", name: this.name, disabled: this.disabled, onChange: this.onChange }, this.placeholder && (h("option", { key: '9e482642eebeab0b1b1c5b56a6730fb5ecbd9617', value: "", disabled: true, selected: !hasValue }, this.placeholder)), this.options.map((option) => (h("option", { value: option.value, selected: option.value === this.value }, option.label)))), h("svg", { key: '7d66788b8d8b51169ae28e5e5c5a31c0b637e377', class: "chevron", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", "aria-hidden": "true" }, h("polyline", { key: 'aaa00671ba95ebd20f81174fc27bf218b16dfc64', points: "6 9 12 15 18 9" })))));
16
+ return (h(Host, { key: '5f41047362d77643cc663925900c15c6cd10ec60' }, h("div", { key: '53ec77b2100bdd6de568ad549a42ad8fd080ac6a', class: "wrapper" }, h("select", { key: 'b0b4b1def7b7166bf24f996f9736a670a9b7b052', class: "select", name: this.name, disabled: this.disabled, onChange: this.onChange }, this.placeholder && (h("option", { key: 'e83b039418ac74bb3124c151dca9af43ff05dd61', value: "", disabled: true, selected: !hasValue }, this.placeholder)), this.options.map((option) => (h("option", { value: option.value, selected: option.value === this.value }, option.label)))), h("svg", { key: 'bb3165c856d11b352b2c7a64cc12ab4284541fb4', class: "chevron", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", "aria-hidden": "true" }, h("polyline", { key: 'ab5e3cb2419dc63fbcd3804740b781c856ae8240', points: "6 9 12 15 18 9" })))));
17
17
  }
18
18
  static get is() { return "ui-select"; }
19
19
  static get encapsulation() { return "shadow"; }
@@ -5,7 +5,7 @@ export class UiSeparator {
5
5
  this.orientation = "horizontal";
6
6
  }
7
7
  render() {
8
- return (h(Host, { key: '212e4b763ad309ef74ba2e21592a0d4091fb0fcf', role: "separator", "aria-orientation": this.orientation, class: `orientation-${this.orientation}` }));
8
+ return (h(Host, { key: '33e452485ff7838e37a378f9acba10f242069cfc', role: "separator", "aria-orientation": this.orientation, class: `orientation-${this.orientation}` }));
9
9
  }
10
10
  static get is() { return "ui-separator"; }
11
11
  static get encapsulation() { return "shadow"; }
@@ -6,22 +6,25 @@
6
6
  display: block;
7
7
  width: 100%;
8
8
  height: 100%;
9
+ min-height: 1rem;
9
10
  border-radius: var(--ui-radius-sm);
10
- background: linear-gradient(
11
+ background-color: var(--ui-chip);
12
+ background-image: linear-gradient(
11
13
  90deg,
12
- var(--ui-chip),
13
- var(--ui-panel),
14
- var(--ui-chip)
14
+ transparent,
15
+ color-mix(in srgb, var(--ui-foreground) 12%, transparent),
16
+ transparent
15
17
  );
16
18
  background-size: 200% 100%;
19
+ background-repeat: no-repeat;
17
20
  animation: ui-skeleton-shimmer 1.5s ease-in-out infinite;
18
21
  }
19
22
 
20
23
  @keyframes ui-skeleton-shimmer {
21
24
  0% {
22
- background-position: 200% 0;
25
+ background-position: -150% 0;
23
26
  }
24
27
  100% {
25
- background-position: -200% 0;
28
+ background-position: 150% 0;
26
29
  }
27
30
  }
@@ -1,7 +1,7 @@
1
1
  import { h, Host } from "@stencil/core";
2
2
  export class UiSkeleton {
3
3
  render() {
4
- return (h(Host, { key: '19b59c75e9ff1607c731227bd344a0d082de5366' }, h("span", { key: '6eb968b5bd87768818381db897a090a2783ad938', class: "skeleton" })));
4
+ return (h(Host, { key: '8f839817a493a8221e9d3b2e95fd7ae5ece2e70e' }, h("span", { key: '295dce8e9e6489def8b20a703f04c65ad3740ce8', class: "skeleton" })));
5
5
  }
6
6
  static get is() { return "ui-skeleton"; }
7
7
  static get encapsulation() { return "shadow"; }
@@ -21,7 +21,7 @@ export class UiSlider {
21
21
  };
22
22
  }
23
23
  render() {
24
- return (h(Host, { key: 'dc7f810ebfdde28731d2e1c491596caf03c2476e' }, h("input", { key: 'cac37f559b5587d18fee732e11d6515d57d23466', class: "slider", type: "range", min: this.min, max: this.max, step: this.step, value: this.value, disabled: this.disabled, onInput: this.onInput, onChange: this.onChange })));
24
+ return (h(Host, { key: '22fe57f0e95edb2e169718c8b1fb5c2f3d78ddfe' }, h("input", { key: 'a9e16ef8f97f412c22911f72c4b7212f6d04a293', class: "slider", type: "range", min: this.min, max: this.max, step: this.step, value: this.value, disabled: this.disabled, onInput: this.onInput, onChange: this.onChange })));
25
25
  }
26
26
  static get is() { return "ui-slider"; }
27
27
  static get encapsulation() { return "shadow"; }
@@ -5,7 +5,7 @@ export class UiSpinner {
5
5
  this.size = "md";
6
6
  }
7
7
  render() {
8
- return (h(Host, { key: 'cedf6e857d1f4e6561c78f3fd3076341c2d8ecdc', role: "status" }, h("span", { key: '7200580dccc32b30829725ad84e913c3b1afee60', class: { spinner: true, [`size-${this.size}`]: true } }), h("span", { key: '63d4cfee2e5cebabc3c7b3b6ed95a656daa65705', class: "sr-only" }, "Carregando")));
8
+ return (h(Host, { key: '0414d6e3be8588ad4c71c5e4cf227075ac7494ab', role: "status" }, h("span", { key: '61e5d0a16b5fd566767ef098477c3144a9c1c987', class: { spinner: true, [`size-${this.size}`]: true } }), h("span", { key: 'ea33b6e6603ba23e7a117ef978329c83818a044b', class: "sr-only" }, "Carregando")));
9
9
  }
10
10
  static get is() { return "ui-spinner"; }
11
11
  static get encapsulation() { return "shadow"; }
@@ -0,0 +1,8 @@
1
+ :host {
2
+ display: block;
3
+ }
4
+
5
+ .stack {
6
+ display: flex;
7
+ font-family: var(--ui-font-sans);
8
+ }
@@ -0,0 +1,184 @@
1
+ import { h, Host } from "@stencil/core";
2
+ const GAP = {
3
+ xs: "0.25rem",
4
+ sm: "0.5rem",
5
+ md: "1rem",
6
+ lg: "1.5rem",
7
+ xl: "2rem",
8
+ };
9
+ const ALIGN = {
10
+ start: "flex-start",
11
+ center: "center",
12
+ end: "flex-end",
13
+ stretch: "stretch",
14
+ };
15
+ const JUSTIFY = {
16
+ start: "flex-start",
17
+ center: "center",
18
+ end: "flex-end",
19
+ between: "space-between",
20
+ };
21
+ export class UiStack {
22
+ constructor() {
23
+ /** Direção do empilhamento. */
24
+ this.direction = "vertical";
25
+ /** Espaçamento entre itens. */
26
+ this.gap = "md";
27
+ /** Alinhamento no eixo cruzado. */
28
+ this.align = "stretch";
29
+ /** Distribuição no eixo principal. */
30
+ this.justify = "start";
31
+ /** Permite quebra de linha dos itens. */
32
+ this.wrap = false;
33
+ }
34
+ render() {
35
+ const style = {
36
+ flexDirection: this.direction === "horizontal" ? "row" : "column",
37
+ gap: GAP[this.gap],
38
+ alignItems: ALIGN[this.align],
39
+ justifyContent: JUSTIFY[this.justify],
40
+ flexWrap: this.wrap ? "wrap" : "nowrap",
41
+ };
42
+ return (h(Host, { key: 'ba9547e72877aa05a5e93afbe098d7402b315df3' }, h("div", { key: 'e0fd73777e2211925435f2fd8bfcb74ad2eb8085', class: "stack", style: style }, h("slot", { key: '3a5aa50721c641f0cc81328a21262ff5d375e55c' }))));
43
+ }
44
+ static get is() { return "ui-stack"; }
45
+ static get encapsulation() { return "shadow"; }
46
+ static get originalStyleUrls() {
47
+ return {
48
+ "$": ["ui-stack.css"]
49
+ };
50
+ }
51
+ static get styleUrls() {
52
+ return {
53
+ "$": ["ui-stack.css"]
54
+ };
55
+ }
56
+ static get properties() {
57
+ return {
58
+ "direction": {
59
+ "type": "string",
60
+ "mutable": false,
61
+ "complexType": {
62
+ "original": "UiStackDirection",
63
+ "resolved": "\"horizontal\" | \"vertical\"",
64
+ "references": {
65
+ "UiStackDirection": {
66
+ "location": "local",
67
+ "path": "/Users/andersonespindola/.ghq/github.com/andersonflima/ui/packages/core/src/components/ui-stack/ui-stack.tsx",
68
+ "id": "src/components/ui-stack/ui-stack.tsx::UiStackDirection"
69
+ }
70
+ }
71
+ },
72
+ "required": false,
73
+ "optional": false,
74
+ "docs": {
75
+ "tags": [],
76
+ "text": "Dire\u00E7\u00E3o do empilhamento."
77
+ },
78
+ "getter": false,
79
+ "setter": false,
80
+ "reflect": false,
81
+ "attribute": "direction",
82
+ "defaultValue": "\"vertical\""
83
+ },
84
+ "gap": {
85
+ "type": "string",
86
+ "mutable": false,
87
+ "complexType": {
88
+ "original": "UiStackGap",
89
+ "resolved": "\"lg\" | \"md\" | \"sm\" | \"xl\" | \"xs\"",
90
+ "references": {
91
+ "UiStackGap": {
92
+ "location": "local",
93
+ "path": "/Users/andersonespindola/.ghq/github.com/andersonflima/ui/packages/core/src/components/ui-stack/ui-stack.tsx",
94
+ "id": "src/components/ui-stack/ui-stack.tsx::UiStackGap"
95
+ }
96
+ }
97
+ },
98
+ "required": false,
99
+ "optional": false,
100
+ "docs": {
101
+ "tags": [],
102
+ "text": "Espa\u00E7amento entre itens."
103
+ },
104
+ "getter": false,
105
+ "setter": false,
106
+ "reflect": false,
107
+ "attribute": "gap",
108
+ "defaultValue": "\"md\""
109
+ },
110
+ "align": {
111
+ "type": "string",
112
+ "mutable": false,
113
+ "complexType": {
114
+ "original": "UiStackAlign",
115
+ "resolved": "\"center\" | \"end\" | \"start\" | \"stretch\"",
116
+ "references": {
117
+ "UiStackAlign": {
118
+ "location": "local",
119
+ "path": "/Users/andersonespindola/.ghq/github.com/andersonflima/ui/packages/core/src/components/ui-stack/ui-stack.tsx",
120
+ "id": "src/components/ui-stack/ui-stack.tsx::UiStackAlign"
121
+ }
122
+ }
123
+ },
124
+ "required": false,
125
+ "optional": false,
126
+ "docs": {
127
+ "tags": [],
128
+ "text": "Alinhamento no eixo cruzado."
129
+ },
130
+ "getter": false,
131
+ "setter": false,
132
+ "reflect": false,
133
+ "attribute": "align",
134
+ "defaultValue": "\"stretch\""
135
+ },
136
+ "justify": {
137
+ "type": "string",
138
+ "mutable": false,
139
+ "complexType": {
140
+ "original": "UiStackJustify",
141
+ "resolved": "\"between\" | \"center\" | \"end\" | \"start\"",
142
+ "references": {
143
+ "UiStackJustify": {
144
+ "location": "local",
145
+ "path": "/Users/andersonespindola/.ghq/github.com/andersonflima/ui/packages/core/src/components/ui-stack/ui-stack.tsx",
146
+ "id": "src/components/ui-stack/ui-stack.tsx::UiStackJustify"
147
+ }
148
+ }
149
+ },
150
+ "required": false,
151
+ "optional": false,
152
+ "docs": {
153
+ "tags": [],
154
+ "text": "Distribui\u00E7\u00E3o no eixo principal."
155
+ },
156
+ "getter": false,
157
+ "setter": false,
158
+ "reflect": false,
159
+ "attribute": "justify",
160
+ "defaultValue": "\"start\""
161
+ },
162
+ "wrap": {
163
+ "type": "boolean",
164
+ "mutable": false,
165
+ "complexType": {
166
+ "original": "boolean",
167
+ "resolved": "boolean",
168
+ "references": {}
169
+ },
170
+ "required": false,
171
+ "optional": false,
172
+ "docs": {
173
+ "tags": [],
174
+ "text": "Permite quebra de linha dos itens."
175
+ },
176
+ "getter": false,
177
+ "setter": false,
178
+ "reflect": false,
179
+ "attribute": "wrap",
180
+ "defaultValue": "false"
181
+ }
182
+ };
183
+ }
184
+ }
@@ -0,0 +1,69 @@
1
+ :host {
2
+ display: block;
3
+ }
4
+
5
+ .card {
6
+ display: flex;
7
+ flex-direction: column;
8
+ gap: 0.5rem;
9
+ padding: 1.25rem;
10
+ border: 1px solid var(--ui-border);
11
+ border-radius: var(--ui-radius-lg);
12
+ background: var(--ui-panel);
13
+ backdrop-filter: blur(22px);
14
+ font-family: var(--ui-font-sans);
15
+ }
16
+
17
+ .label {
18
+ margin: 0;
19
+ text-transform: uppercase;
20
+ letter-spacing: 0.08em;
21
+ font-size: 0.7rem;
22
+ font-weight: 500;
23
+ color: var(--ui-text-faint);
24
+ }
25
+
26
+ .value-row {
27
+ display: flex;
28
+ align-items: baseline;
29
+ gap: 0.625rem;
30
+ }
31
+
32
+ .value {
33
+ font-size: 1.875rem;
34
+ font-weight: 600;
35
+ line-height: 1.1;
36
+ color: var(--ui-foreground);
37
+ }
38
+
39
+ .delta {
40
+ display: inline-flex;
41
+ align-items: center;
42
+ gap: 0.25rem;
43
+ padding: 0.125rem 0.5rem;
44
+ border-radius: var(--ui-radius-full);
45
+ font-size: 0.75rem;
46
+ font-weight: 600;
47
+ }
48
+
49
+ .delta svg {
50
+ display: block;
51
+ }
52
+
53
+ .trend-up {
54
+ color: var(--ui-success);
55
+ background: color-mix(in srgb, var(--ui-success) 14%, transparent);
56
+ }
57
+ .trend-down {
58
+ color: var(--ui-danger);
59
+ background: color-mix(in srgb, var(--ui-danger) 14%, transparent);
60
+ }
61
+ .trend-neutral {
62
+ color: var(--ui-text-muted);
63
+ background: var(--ui-chip);
64
+ }
65
+
66
+ .extra {
67
+ font-size: 0.8125rem;
68
+ color: var(--ui-text-muted);
69
+ }