@wrrdev/fenix-ui 1.0.16 → 1.1.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 (226) hide show
  1. package/README.md +2 -2
  2. package/dist/_virtual/preload-helper.js +68 -0
  3. package/dist/_virtual/preload-helper.js.map +1 -0
  4. package/dist/assets/base-css-BifSeW2H.js +31 -0
  5. package/dist/assets/base-css-BifSeW2H.js.map +1 -0
  6. package/dist/components/alert/alert.d.ts +2 -1
  7. package/dist/components/alert/alert.d.ts.map +1 -1
  8. package/dist/components/alert/alert.js +10 -2
  9. package/dist/components/alert/alert.js.map +1 -1
  10. package/dist/components/avatar/avatar.d.ts +21 -0
  11. package/dist/components/avatar/avatar.d.ts.map +1 -0
  12. package/dist/components/avatar/avatar.js +91 -0
  13. package/dist/components/avatar/avatar.js.map +1 -0
  14. package/dist/components/avatar/index.d.ts +8 -0
  15. package/dist/components/avatar/index.d.ts.map +1 -0
  16. package/dist/components/avatar/index.js +7 -0
  17. package/dist/components/avatar/index.js.map +1 -0
  18. package/dist/components/breadcrumb/breadcrumb.d.ts +35 -0
  19. package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -0
  20. package/dist/components/breadcrumb/breadcrumb.js +113 -0
  21. package/dist/components/breadcrumb/breadcrumb.js.map +1 -0
  22. package/dist/components/breadcrumb/index.d.ts +8 -0
  23. package/dist/components/breadcrumb/index.d.ts.map +1 -0
  24. package/dist/components/breadcrumb/index.js +7 -0
  25. package/dist/components/breadcrumb/index.js.map +1 -0
  26. package/dist/components/card/card.d.ts +15 -0
  27. package/dist/components/card/card.d.ts.map +1 -0
  28. package/dist/components/card/card.js +80 -0
  29. package/dist/components/card/card.js.map +1 -0
  30. package/dist/components/card/index.d.ts +8 -0
  31. package/dist/components/card/index.d.ts.map +1 -0
  32. package/dist/components/card/index.js +7 -0
  33. package/dist/components/card/index.js.map +1 -0
  34. package/dist/components/carousel/carousel.d.ts +28 -0
  35. package/dist/components/carousel/carousel.d.ts.map +1 -0
  36. package/dist/components/carousel/carousel.js +176 -0
  37. package/dist/components/carousel/carousel.js.map +1 -0
  38. package/dist/components/carousel/index.d.ts +8 -0
  39. package/dist/components/carousel/index.d.ts.map +1 -0
  40. package/dist/components/carousel/index.js +7 -0
  41. package/dist/components/carousel/index.js.map +1 -0
  42. package/dist/components/chip/chip.d.ts +19 -0
  43. package/dist/components/chip/chip.d.ts.map +1 -0
  44. package/dist/components/chip/chip.js +126 -0
  45. package/dist/components/chip/chip.js.map +1 -0
  46. package/dist/components/chip/index.d.ts +8 -0
  47. package/dist/components/chip/index.d.ts.map +1 -0
  48. package/dist/components/chip/index.js +7 -0
  49. package/dist/components/chip/index.js.map +1 -0
  50. package/dist/components/confirmpopup/confirmpopup.d.ts +44 -0
  51. package/dist/components/confirmpopup/confirmpopup.d.ts.map +1 -0
  52. package/dist/components/confirmpopup/confirmpopup.js +233 -0
  53. package/dist/components/confirmpopup/confirmpopup.js.map +1 -0
  54. package/dist/components/confirmpopup/index.d.ts +8 -0
  55. package/dist/components/confirmpopup/index.d.ts.map +1 -0
  56. package/dist/components/confirmpopup/index.js +7 -0
  57. package/dist/components/confirmpopup/index.js.map +1 -0
  58. package/dist/components/empty-state/empty-state.d.ts +14 -0
  59. package/dist/components/empty-state/empty-state.d.ts.map +1 -0
  60. package/dist/components/empty-state/empty-state.js +71 -0
  61. package/dist/components/empty-state/empty-state.js.map +1 -0
  62. package/dist/components/empty-state/index.d.ts +8 -0
  63. package/dist/components/empty-state/index.d.ts.map +1 -0
  64. package/dist/components/empty-state/index.js +7 -0
  65. package/dist/components/empty-state/index.js.map +1 -0
  66. package/dist/components/fileupload/fileupload.d.ts +42 -0
  67. package/dist/components/fileupload/fileupload.d.ts.map +1 -0
  68. package/dist/components/fileupload/fileupload.js +284 -0
  69. package/dist/components/fileupload/fileupload.js.map +1 -0
  70. package/dist/components/fileupload/index.d.ts +8 -0
  71. package/dist/components/fileupload/index.d.ts.map +1 -0
  72. package/dist/components/fileupload/index.js +7 -0
  73. package/dist/components/fileupload/index.js.map +1 -0
  74. package/dist/components/menu/index.d.ts +8 -0
  75. package/dist/components/menu/index.d.ts.map +1 -0
  76. package/dist/components/menu/index.js +7 -0
  77. package/dist/components/menu/index.js.map +1 -0
  78. package/dist/components/menu/menu.d.ts +23 -0
  79. package/dist/components/menu/menu.d.ts.map +1 -0
  80. package/dist/components/menu/menu.js +155 -0
  81. package/dist/components/menu/menu.js.map +1 -0
  82. package/dist/components/orderlist/orderlist.d.ts +1 -1
  83. package/dist/components/orderlist/orderlist.d.ts.map +1 -1
  84. package/dist/components/orderlist/orderlist.js +2 -2
  85. package/dist/components/orderlist/orderlist.js.map +1 -1
  86. package/dist/components/password-strength/index.d.ts +8 -0
  87. package/dist/components/password-strength/index.d.ts.map +1 -0
  88. package/dist/components/password-strength/index.js +7 -0
  89. package/dist/components/password-strength/index.js.map +1 -0
  90. package/dist/components/password-strength/password-strength.d.ts +23 -0
  91. package/dist/components/password-strength/password-strength.d.ts.map +1 -0
  92. package/dist/components/password-strength/password-strength.js +109 -0
  93. package/dist/components/password-strength/password-strength.js.map +1 -0
  94. package/dist/components/picklist/picklist.d.ts +1 -1
  95. package/dist/components/picklist/picklist.d.ts.map +1 -1
  96. package/dist/components/picklist/picklist.js +2 -2
  97. package/dist/components/picklist/picklist.js.map +1 -1
  98. package/dist/components/popover/index.d.ts +8 -0
  99. package/dist/components/popover/index.d.ts.map +1 -0
  100. package/dist/components/popover/index.js +7 -0
  101. package/dist/components/popover/index.js.map +1 -0
  102. package/dist/components/popover/popover.d.ts +39 -0
  103. package/dist/components/popover/popover.d.ts.map +1 -0
  104. package/dist/components/popover/popover.js +228 -0
  105. package/dist/components/popover/popover.js.map +1 -0
  106. package/dist/components/rating/index.d.ts +8 -0
  107. package/dist/components/rating/index.d.ts.map +1 -0
  108. package/dist/components/rating/index.js +7 -0
  109. package/dist/components/rating/index.js.map +1 -0
  110. package/dist/components/rating/rating.d.ts +25 -0
  111. package/dist/components/rating/rating.d.ts.map +1 -0
  112. package/dist/components/rating/rating.js +119 -0
  113. package/dist/components/rating/rating.js.map +1 -0
  114. package/dist/components/slider/index.d.ts +8 -0
  115. package/dist/components/slider/index.d.ts.map +1 -0
  116. package/dist/components/slider/index.js +7 -0
  117. package/dist/components/slider/index.js.map +1 -0
  118. package/dist/components/slider/slider.d.ts +33 -0
  119. package/dist/components/slider/slider.d.ts.map +1 -0
  120. package/dist/components/slider/slider.js +260 -0
  121. package/dist/components/slider/slider.js.map +1 -0
  122. package/dist/components/stepper/index.d.ts +8 -0
  123. package/dist/components/stepper/index.d.ts.map +1 -0
  124. package/dist/components/stepper/index.js +7 -0
  125. package/dist/components/stepper/index.js.map +1 -0
  126. package/dist/components/stepper/stepper.d.ts +33 -0
  127. package/dist/components/stepper/stepper.d.ts.map +1 -0
  128. package/dist/components/stepper/stepper.js +162 -0
  129. package/dist/components/stepper/stepper.js.map +1 -0
  130. package/dist/components/timeline/index.d.ts +8 -0
  131. package/dist/components/timeline/index.d.ts.map +1 -0
  132. package/dist/components/timeline/index.js +7 -0
  133. package/dist/components/timeline/index.js.map +1 -0
  134. package/dist/components/timeline/timeline.d.ts +30 -0
  135. package/dist/components/timeline/timeline.d.ts.map +1 -0
  136. package/dist/components/timeline/timeline.js +146 -0
  137. package/dist/components/timeline/timeline.js.map +1 -0
  138. package/dist/components/toast/toast.d.ts.map +1 -1
  139. package/dist/components/toast/toast.js +21 -2
  140. package/dist/components/toast/toast.js.map +1 -1
  141. package/dist/components/toggle-button-group/index.d.ts +8 -0
  142. package/dist/components/toggle-button-group/index.d.ts.map +1 -0
  143. package/dist/components/toggle-button-group/index.js +7 -0
  144. package/dist/components/toggle-button-group/index.js.map +1 -0
  145. package/dist/components/toggle-button-group/toggle-button-group.d.ts +21 -0
  146. package/dist/components/toggle-button-group/toggle-button-group.d.ts.map +1 -0
  147. package/dist/components/toggle-button-group/toggle-button-group.js +103 -0
  148. package/dist/components/toggle-button-group/toggle-button-group.js.map +1 -0
  149. package/dist/components/tree/index.d.ts +8 -0
  150. package/dist/components/tree/index.d.ts.map +1 -0
  151. package/dist/components/tree/index.js +7 -0
  152. package/dist/components/tree/index.js.map +1 -0
  153. package/dist/components/tree/tree.d.ts +34 -0
  154. package/dist/components/tree/tree.d.ts.map +1 -0
  155. package/dist/components/tree/tree.js +149 -0
  156. package/dist/components/tree/tree.js.map +1 -0
  157. package/dist/core/base.d.ts +1 -1
  158. package/dist/core/base.d.ts.map +1 -1
  159. package/dist/core/base.js +1 -1
  160. package/dist/core/base.js.map +1 -1
  161. package/dist/docs/app.d.ts.map +1 -1
  162. package/dist/docs/componentes/avatar.doc.d.ts +6 -0
  163. package/dist/docs/componentes/avatar.doc.d.ts.map +1 -0
  164. package/dist/docs/componentes/breadcrumb.doc.d.ts +6 -0
  165. package/dist/docs/componentes/breadcrumb.doc.d.ts.map +1 -0
  166. package/dist/docs/componentes/card.doc.d.ts +6 -0
  167. package/dist/docs/componentes/card.doc.d.ts.map +1 -0
  168. package/dist/docs/componentes/carousel.doc.d.ts +6 -0
  169. package/dist/docs/componentes/carousel.doc.d.ts.map +1 -0
  170. package/dist/docs/componentes/chip.doc.d.ts +6 -0
  171. package/dist/docs/componentes/chip.doc.d.ts.map +1 -0
  172. package/dist/docs/componentes/confirmpopup.doc.d.ts +6 -0
  173. package/dist/docs/componentes/confirmpopup.doc.d.ts.map +1 -0
  174. package/dist/docs/componentes/empty-state.doc.d.ts +6 -0
  175. package/dist/docs/componentes/empty-state.doc.d.ts.map +1 -0
  176. package/dist/docs/componentes/fileupload.doc.d.ts +6 -0
  177. package/dist/docs/componentes/fileupload.doc.d.ts.map +1 -0
  178. package/dist/docs/componentes/index.d.ts.map +1 -1
  179. package/dist/docs/componentes/menu.doc.d.ts +6 -0
  180. package/dist/docs/componentes/menu.doc.d.ts.map +1 -0
  181. package/dist/docs/componentes/password-strength.doc.d.ts +6 -0
  182. package/dist/docs/componentes/password-strength.doc.d.ts.map +1 -0
  183. package/dist/docs/componentes/popover.doc.d.ts +6 -0
  184. package/dist/docs/componentes/popover.doc.d.ts.map +1 -0
  185. package/dist/docs/componentes/rating.doc.d.ts +6 -0
  186. package/dist/docs/componentes/rating.doc.d.ts.map +1 -0
  187. package/dist/docs/componentes/slider.doc.d.ts +6 -0
  188. package/dist/docs/componentes/slider.doc.d.ts.map +1 -0
  189. package/dist/docs/componentes/stepper.doc.d.ts +6 -0
  190. package/dist/docs/componentes/stepper.doc.d.ts.map +1 -0
  191. package/dist/docs/componentes/timeline.doc.d.ts +6 -0
  192. package/dist/docs/componentes/timeline.doc.d.ts.map +1 -0
  193. package/dist/docs/componentes/toggle-button-group.doc.d.ts +6 -0
  194. package/dist/docs/componentes/toggle-button-group.doc.d.ts.map +1 -0
  195. package/dist/docs/componentes/tree.doc.d.ts +6 -0
  196. package/dist/docs/componentes/tree.doc.d.ts.map +1 -0
  197. package/dist/fenix-icons.woff2 +0 -0
  198. package/dist/fenix-ui.umd.min.js +1317 -160
  199. package/dist/fenix-ui2.esm.js +4317 -7816
  200. package/dist/fenix-ui2.esm.js.map +1 -1
  201. package/dist/fenix-ui3.esm.js +10396 -84
  202. package/dist/fenix-ui3.esm.js.map +1 -1
  203. package/dist/fenix-ui4.esm.js +110 -0
  204. package/dist/fenix-ui4.esm.js.map +1 -0
  205. package/dist/icons/base-css.d.ts +21 -0
  206. package/dist/icons/base-css.d.ts.map +1 -0
  207. package/dist/icons/base-css.js +32 -0
  208. package/dist/icons/base-css.js.map +1 -0
  209. package/dist/icons/fenix-icons.woff2 +0 -0
  210. package/dist/icons/index.d.ts +31 -0
  211. package/dist/icons/index.d.ts.map +1 -0
  212. package/dist/icons/index.js +47 -0
  213. package/dist/icons/index.js.map +1 -0
  214. package/dist/icons/names.d.ts +11 -0
  215. package/dist/icons/names.d.ts.map +1 -0
  216. package/dist/icons/names.js +4283 -0
  217. package/dist/icons/names.js.map +1 -0
  218. package/dist/index.d.ts +17 -0
  219. package/dist/index.d.ts.map +1 -1
  220. package/dist/index.js +51 -0
  221. package/dist/index.js.map +1 -1
  222. package/dist/plugins/auto-import.d.ts +2 -0
  223. package/dist/plugins/auto-import.d.ts.map +1 -1
  224. package/dist/plugins/auto-import.js +23 -0
  225. package/dist/plugins/auto-import.js.map +1 -1
  226. package/package.json +74 -1
@@ -0,0 +1,80 @@
1
+ import { FxElement } from "../../core/base.js";
2
+ import { css } from "../../core/css.js";
3
+ import { defineElement } from "../../core/define.js";
4
+ import { esc } from "../../core/sanitize.js";
5
+ const _FxCard = class _FxCard extends FxElement {
6
+ static get observedAttributes() {
7
+ return ["variant", "size", "padded", "heading"];
8
+ }
9
+ render() {
10
+ const heading = this.getAttr("heading");
11
+ this.setTemplate(`
12
+ <div class="card" part="card">
13
+ <header part="header" ${heading ? "" : "hidden"}>${esc(heading)}<slot name="header"></slot></header>
14
+ <div class="body" part="content"><slot></slot></div>
15
+ <footer part="footer"><slot name="footer"></slot></footer>
16
+ </div>
17
+ `);
18
+ }
19
+ };
20
+ _FxCard.styles = css`
21
+ :host {
22
+ display: block;
23
+ font-family: var(--fx-font-family);
24
+ font-size: var(--fx-font-size);
25
+ box-sizing: border-box;
26
+ }
27
+ .card {
28
+ background: var(--fx-surface-background);
29
+ border: 1px solid var(--fx-border-default);
30
+ border-radius: var(--fx-radius-lg);
31
+ box-shadow: var(--fx-shadow-sm);
32
+ display: flex;
33
+ flex-direction: column;
34
+ overflow: hidden;
35
+ transition: box-shadow var(--fx-motion-duration-normal) var(--fx-motion-easing);
36
+ }
37
+ /* Elevado: sombra principal; Flat: sem sombra mas cor plana; Outline: sem sombra e borda sólida */
38
+ :host([variant='elevated']) .card { box-shadow: var(--fx-shadow-md); }
39
+ :host([variant='elevated']) .card:hover { box-shadow: var(--fx-shadow-xl); }
40
+ :host([variant='flat']) .card { box-shadow: none; border-color: transparent; }
41
+ :host([variant='outline']) .card { box-shadow: none; border-style: solid; border-width: 1px; }
42
+ :host([variant='ghost']) .card { box-shadow: none; border-color: transparent; background: transparent; }
43
+
44
+ /* Tamanhos */
45
+ :host([size='sm']) .card { border-radius: var(--fx-radius-sm); }
46
+ :host([size='lg']) .card { border-radius: var(--fx-radius-xl); }
47
+
48
+ header {
49
+ padding: var(--fx-space-md) var(--fx-space-xl);
50
+ border-bottom: 1px solid var(--fx-border-default);
51
+ font-weight: 600;
52
+ color: var(--fx-text-default);
53
+ font-size: calc(var(--fx-font-size) + 2px);
54
+ }
55
+ header[hidden] { display: none; }
56
+
57
+ .body {
58
+ flex: 1 1 auto;
59
+ }
60
+ :host([padded]) .body { padding: var(--fx-space-lg) var(--fx-space-xl); }
61
+ :host([padded]) .body:empty { padding: 0; }
62
+
63
+ footer {
64
+ padding: var(--fx-space-md) var(--fx-space-xl);
65
+ border-top: 1px solid var(--fx-border-default);
66
+ display: flex;
67
+ justify-content: flex-end;
68
+ gap: var(--fx-space-sm);
69
+ }
70
+ footer[hidden] { display: none; }
71
+ `;
72
+ let FxCard = _FxCard;
73
+ function defineFxCard() {
74
+ return defineElement("fx-card", FxCard);
75
+ }
76
+ export {
77
+ FxCard,
78
+ defineFxCard
79
+ };
80
+ //# sourceMappingURL=card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.js","sources":["../../../src/components/card/card.ts"],"sourcesContent":["import { FxElement } from '../../core/base';\nimport { css } from '../../core/css';\nimport { defineElement } from '../../core/define';\nimport { esc } from '../../core/sanitize';\n\n/**\n * <fx-card> — Container de conteúdo com cabeçalho, corpo e rodapé.\n *\n * Atributos: variant (elevated|flat|outline, padrão elevated), size (sm|md|lg),\n * padded (exibe padding interno), heading (rótulo opcional no cabeçalho).\n * Slots: `header`, padrão (conteúdo), `footer`.\n */\nexport class FxCard extends FxElement {\n static override styles = css`\n :host {\n display: block;\n font-family: var(--fx-font-family);\n font-size: var(--fx-font-size);\n box-sizing: border-box;\n }\n .card {\n background: var(--fx-surface-background);\n border: 1px solid var(--fx-border-default);\n border-radius: var(--fx-radius-lg);\n box-shadow: var(--fx-shadow-sm);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n transition: box-shadow var(--fx-motion-duration-normal) var(--fx-motion-easing);\n }\n /* Elevado: sombra principal; Flat: sem sombra mas cor plana; Outline: sem sombra e borda sólida */\n :host([variant='elevated']) .card { box-shadow: var(--fx-shadow-md); }\n :host([variant='elevated']) .card:hover { box-shadow: var(--fx-shadow-xl); }\n :host([variant='flat']) .card { box-shadow: none; border-color: transparent; }\n :host([variant='outline']) .card { box-shadow: none; border-style: solid; border-width: 1px; }\n :host([variant='ghost']) .card { box-shadow: none; border-color: transparent; background: transparent; }\n\n /* Tamanhos */\n :host([size='sm']) .card { border-radius: var(--fx-radius-sm); }\n :host([size='lg']) .card { border-radius: var(--fx-radius-xl); }\n\n header {\n padding: var(--fx-space-md) var(--fx-space-xl);\n border-bottom: 1px solid var(--fx-border-default);\n font-weight: 600;\n color: var(--fx-text-default);\n font-size: calc(var(--fx-font-size) + 2px);\n }\n header[hidden] { display: none; }\n\n .body {\n flex: 1 1 auto;\n }\n :host([padded]) .body { padding: var(--fx-space-lg) var(--fx-space-xl); }\n :host([padded]) .body:empty { padding: 0; }\n\n footer {\n padding: var(--fx-space-md) var(--fx-space-xl);\n border-top: 1px solid var(--fx-border-default);\n display: flex;\n justify-content: flex-end;\n gap: var(--fx-space-sm);\n }\n footer[hidden] { display: none; }\n `;\n\n static override get observedAttributes(): string[] {\n return ['variant', 'size', 'padded', 'heading'];\n }\n\n protected override render(): void {\n const heading = this.getAttr('heading');\n this.setTemplate(`\n <div class=\"card\" part=\"card\">\n <header part=\"header\" ${heading ? '' : 'hidden'}>${esc(heading)}<slot name=\"header\"></slot></header>\n <div class=\"body\" part=\"content\"><slot></slot></div>\n <footer part=\"footer\"><slot name=\"footer\"></slot></footer>\n </div>\n `);\n }\n}\n\nexport function defineFxCard(): typeof FxCard {\n return defineElement('fx-card', FxCard);\n}\n"],"names":[],"mappings":";;;;AAYO,MAAM,UAAN,MAAM,gBAAe,UAAU;AAAA,EAsDpC,WAAoB,qBAA+B;AACjD,WAAO,CAAC,WAAW,QAAQ,UAAU,SAAS;AAAA,EAChD;AAAA,EAEmB,SAAe;AAChC,UAAM,UAAU,KAAK,QAAQ,SAAS;AACtC,SAAK,YAAY;AAAA;AAAA,gCAEW,UAAU,KAAK,QAAQ,IAAI,IAAI,OAAO,CAAC;AAAA;AAAA;AAAA;AAAA,KAIlE;AAAA,EACH;AACF;AAnEE,QAAgB,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADpB,IAAM,SAAN;AAsEA,SAAS,eAA8B;AAC5C,SAAO,cAAc,WAAW,MAAM;AACxC;"}
@@ -0,0 +1,8 @@
1
+ import { FxCard } from './card';
2
+ export { FxCard };
3
+ declare global {
4
+ interface HTMLElementTagNameMap {
5
+ 'fx-card': FxCard;
6
+ }
7
+ }
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/card/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAgB,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,CAAC;AAIlB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,MAAM,CAAC;KACnB;CACF"}
@@ -0,0 +1,7 @@
1
+ import { defineFxCard } from "./card.js";
2
+ import { FxCard } from "./card.js";
3
+ defineFxCard();
4
+ export {
5
+ FxCard
6
+ };
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/card/index.ts"],"sourcesContent":["import { FxCard, defineFxCard } from './card';\n\nexport { FxCard };\n\ndefineFxCard();\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'fx-card': FxCard;\n }\n}\n"],"names":[],"mappings":";;AAIA,aAAA;"}
@@ -0,0 +1,28 @@
1
+ import { FxElement } from '../../core/base';
2
+ /**
3
+ * <fx-carousel> — Carrossel de slides com navegação e indicadores.
4
+ *
5
+ * Atributos: active (índice do slide), autoplay (ms), loop, show-arrows,
6
+ * show-indicators.
7
+ * Slot `slide`: cada elemento com [slot="slide"] vira um slide.
8
+ * Eventos (composed): `change` (detail: { index }).
9
+ */
10
+ export declare class FxCarousel extends FxElement {
11
+ static styles: string;
12
+ static get observedAttributes(): string[];
13
+ get active(): number;
14
+ set active(v: number);
15
+ get slideCount(): number;
16
+ private _slides;
17
+ private _timer?;
18
+ protected render(): void;
19
+ protected attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
20
+ private _go;
21
+ next(): void;
22
+ prev(): void;
23
+ private _bind;
24
+ private _restartAutoplay;
25
+ disconnectedCallback(): void;
26
+ }
27
+ export declare function defineFxCarousel(): typeof FxCarousel;
28
+ //# sourceMappingURL=carousel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carousel.d.ts","sourceRoot":"","sources":["../../../src/components/carousel/carousel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C;;;;;;;GAOG;AACH,qBAAa,UAAW,SAAQ,SAAS;IACvC,OAAgB,MAAM,SAoEpB;IAEF,WAAoB,kBAAkB,IAAI,MAAM,EAAE,CAEjD;IAED,IAAI,MAAM,IAAI,MAAM,CAGnB;IACD,IAAI,MAAM,CAAC,CAAC,EAAE,MAAM,EAEnB;IAED,IAAI,UAAU,IAAI,MAAM,CAAgC;IAExD,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,MAAM,CAAC,CAAiC;cAE7B,MAAM,IAAI,IAAI;cAsBd,wBAAwB,CACzC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,IAAI;IAYP,OAAO,CAAC,GAAG;IAyBX,IAAI,IAAI,IAAI;IACZ,IAAI,IAAI,IAAI;IAEZ,OAAO,CAAC,KAAK;IAQb,OAAO,CAAC,gBAAgB;IAQf,oBAAoB,IAAI,IAAI;CAItC;AAED,wBAAgB,gBAAgB,IAAI,OAAO,UAAU,CAEpD"}
@@ -0,0 +1,176 @@
1
+ import { FxElement } from "../../core/base.js";
2
+ import { css } from "../../core/css.js";
3
+ import { defineElement } from "../../core/define.js";
4
+ const _FxCarousel = class _FxCarousel extends FxElement {
5
+ constructor() {
6
+ super(...arguments);
7
+ this._slides = [];
8
+ }
9
+ static get observedAttributes() {
10
+ return ["active", "autoplay", "loop", "show-arrows", "show-indicators"];
11
+ }
12
+ get active() {
13
+ const n = Number(this.getAttr("active", "0"));
14
+ return Math.min(this.slideCount - 1, Math.max(0, Number.isFinite(n) ? n : 0));
15
+ }
16
+ set active(v) {
17
+ this.setAttribute("active", String(Math.min(this.slideCount - 1, Math.max(0, v))));
18
+ }
19
+ get slideCount() {
20
+ return this._slides.length;
21
+ }
22
+ render() {
23
+ this._slides = Array.from(this.children).filter((el) => el.matches('[slot="slide"]'));
24
+ const contentsHtml = this._slides.map((s, i) => `<div class="slide" part="slide" data-i="${i}" ${i === this.active ? "" : "hidden"}>${s.innerHTML}</div>`).join("");
25
+ this.setTemplate(`
26
+ <div class="viewport" part="viewport">
27
+ ${contentsHtml}
28
+ <button type="button" class="arrow prev" part="arrow" aria-label="Anterior" ${this.hasAttr("show-arrows") ? "" : "hidden"}>‹</button>
29
+ <button type="button" class="arrow next" part="arrow" aria-label="Próximo" ${this.hasAttr("show-arrows") ? "" : "hidden"}>›</button>
30
+ </div>
31
+ <div class="indicators" part="indicators" ${this.hasAttr("show-indicators") ? "" : "hidden"}>
32
+ ${this._slides.map((_, i) => `<button type="button" class="dot ${i === this.active ? "on" : ""}" data-i="${i}" aria-label="Slide ${i + 1}"></button>`).join("")}
33
+ </div>
34
+ `);
35
+ this._bind();
36
+ this._restartAutoplay();
37
+ }
38
+ attributeChangedCallback(name, oldValue, newValue) {
39
+ if (!this.isConnected || oldValue === newValue) return;
40
+ if (name === "active" && this._slides.length) {
41
+ this._go(this.active, false);
42
+ this._restartAutoplay();
43
+ return;
44
+ }
45
+ this.render();
46
+ }
47
+ _go(index, emit = true) {
48
+ const count = this._slides.length;
49
+ if (!count) return;
50
+ let target;
51
+ if (this.hasAttr("loop")) {
52
+ target = (index % count + count) % count;
53
+ } else {
54
+ target = Math.min(count - 1, Math.max(0, index));
55
+ }
56
+ if (String(target) === this.getAttribute("active")) return;
57
+ this.active = target;
58
+ this.root.querySelectorAll(".slide").forEach((s) => {
59
+ s.toggleAttribute("hidden", Number(s.dataset.i) !== target);
60
+ });
61
+ this.root.querySelectorAll(".dot").forEach((d) => {
62
+ d.classList.toggle("on", Number(d.dataset.i) === target);
63
+ });
64
+ if (emit) {
65
+ this.dispatchEvent(new CustomEvent("change", { bubbles: true, composed: true, detail: { index: target } }));
66
+ }
67
+ }
68
+ next() {
69
+ this._go(this.active + 1);
70
+ }
71
+ prev() {
72
+ this._go(this.active - 1);
73
+ }
74
+ _bind() {
75
+ this.root.querySelector(".arrow.prev")?.addEventListener("click", () => this.prev());
76
+ this.root.querySelector(".arrow.next")?.addEventListener("click", () => this.next());
77
+ this.root.querySelectorAll(".dot").forEach((d) => {
78
+ d.addEventListener("click", () => this._go(Number(d.dataset.i)));
79
+ });
80
+ }
81
+ _restartAutoplay() {
82
+ if (this._timer) {
83
+ clearInterval(this._timer);
84
+ this._timer = void 0;
85
+ }
86
+ const ms = Number(this.getAttr("autoplay", "0"));
87
+ if (ms > 0) {
88
+ this._timer = setInterval(() => this._go(this.active + 1), ms);
89
+ }
90
+ }
91
+ disconnectedCallback() {
92
+ super.disconnectedCallback();
93
+ if (this._timer) {
94
+ clearInterval(this._timer);
95
+ this._timer = void 0;
96
+ }
97
+ }
98
+ };
99
+ _FxCarousel.styles = css`
100
+ :host {
101
+ display: block;
102
+ font-family: var(--fx-font-family);
103
+ font-size: var(--fx-font-size);
104
+ }
105
+ .viewport {
106
+ position: relative;
107
+ overflow: hidden;
108
+ border-radius: var(--fx-radius-lg);
109
+ border: 1px solid var(--fx-border-default);
110
+ background: var(--fx-surface-surface-hover, rgba(0, 0, 0, 0.04));
111
+ }
112
+ .slide {
113
+ min-height: 200px;
114
+ display: flex;
115
+ align-items: center;
116
+ justify-content: center;
117
+ padding: var(--fx-space-xl);
118
+ box-sizing: border-box;
119
+ color: var(--fx-text-default);
120
+ }
121
+ .slide[hidden] { display: none; }
122
+ .arrow {
123
+ position: absolute;
124
+ top: 50%;
125
+ transform: translateY(-50%);
126
+ width: 34px;
127
+ height: 34px;
128
+ border: 1px solid var(--fx-border-default);
129
+ border-radius: var(--fx-radius-full);
130
+ background: color-mix(in srgb, var(--fx-surface-background, #fff) 82%, transparent);
131
+ color: var(--fx-text-default);
132
+ font-size: calc(var(--fx-font-size) + 4px);
133
+ cursor: pointer;
134
+ display: inline-flex;
135
+ align-items: center;
136
+ justify-content: center;
137
+ backdrop-filter: blur(2px);
138
+ transition: background var(--fx-motion-duration-fast) var(--fx-motion-easing), border-color var(--fx-motion-duration-fast) var(--fx-motion-easing), color var(--fx-motion-duration-fast) var(--fx-motion-easing), transform var(--fx-motion-duration-fast) var(--fx-motion-easing);
139
+ }
140
+ .arrow:hover {
141
+ background: var(--fx-color-primary);
142
+ border-color: var(--fx-color-primary);
143
+ color: #fff;
144
+ transform: translateY(-50%) scale(1.08);
145
+ }
146
+ .arrow[hidden] { display: none; }
147
+ .arrow.prev { left: var(--fx-space-md); }
148
+ .arrow.next { right: var(--fx-space-md); }
149
+ .indicators {
150
+ display: flex;
151
+ justify-content: center;
152
+ gap: 6px;
153
+ padding: var(--fx-space-md) 0 var(--fx-space-xs);
154
+ }
155
+ .indicators[hidden] { display: none; }
156
+ .dot {
157
+ width: 8px;
158
+ height: 8px;
159
+ border-radius: var(--fx-radius-full);
160
+ border: none;
161
+ padding: 0;
162
+ background: var(--fx-surface-surface-hover, rgba(0, 0, 0, 0.15));
163
+ cursor: pointer;
164
+ transition: background var(--fx-motion-duration-fast) var(--fx-motion-easing), width var(--fx-motion-duration-fast) var(--fx-motion-easing);
165
+ }
166
+ .dot.on { background: var(--fx-color-primary); width: 20px; }
167
+ `;
168
+ let FxCarousel = _FxCarousel;
169
+ function defineFxCarousel() {
170
+ return defineElement("fx-carousel", FxCarousel);
171
+ }
172
+ export {
173
+ FxCarousel,
174
+ defineFxCarousel
175
+ };
176
+ //# sourceMappingURL=carousel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carousel.js","sources":["../../../src/components/carousel/carousel.ts"],"sourcesContent":["import { FxElement } from '../../core/base';\nimport { css } from '../../core/css';\nimport { defineElement } from '../../core/define';\n\n/**\n * <fx-carousel> — Carrossel de slides com navegação e indicadores.\n *\n * Atributos: active (índice do slide), autoplay (ms), loop, show-arrows,\n * show-indicators.\n * Slot `slide`: cada elemento com [slot=\"slide\"] vira um slide.\n * Eventos (composed): `change` (detail: { index }).\n */\nexport class FxCarousel extends FxElement {\n static override styles = css`\n :host {\n display: block;\n font-family: var(--fx-font-family);\n font-size: var(--fx-font-size);\n }\n .viewport {\n position: relative;\n overflow: hidden;\n border-radius: var(--fx-radius-lg);\n border: 1px solid var(--fx-border-default);\n background: var(--fx-surface-surface-hover, rgba(0, 0, 0, 0.04));\n }\n .slide {\n min-height: 200px;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--fx-space-xl);\n box-sizing: border-box;\n color: var(--fx-text-default);\n }\n .slide[hidden] { display: none; }\n .arrow {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n width: 34px;\n height: 34px;\n border: 1px solid var(--fx-border-default);\n border-radius: var(--fx-radius-full);\n background: color-mix(in srgb, var(--fx-surface-background, #fff) 82%, transparent);\n color: var(--fx-text-default);\n font-size: calc(var(--fx-font-size) + 4px);\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n backdrop-filter: blur(2px);\n transition: background var(--fx-motion-duration-fast) var(--fx-motion-easing), border-color var(--fx-motion-duration-fast) var(--fx-motion-easing), color var(--fx-motion-duration-fast) var(--fx-motion-easing), transform var(--fx-motion-duration-fast) var(--fx-motion-easing);\n }\n .arrow:hover {\n background: var(--fx-color-primary);\n border-color: var(--fx-color-primary);\n color: #fff;\n transform: translateY(-50%) scale(1.08);\n }\n .arrow[hidden] { display: none; }\n .arrow.prev { left: var(--fx-space-md); }\n .arrow.next { right: var(--fx-space-md); }\n .indicators {\n display: flex;\n justify-content: center;\n gap: 6px;\n padding: var(--fx-space-md) 0 var(--fx-space-xs);\n }\n .indicators[hidden] { display: none; }\n .dot {\n width: 8px;\n height: 8px;\n border-radius: var(--fx-radius-full);\n border: none;\n padding: 0;\n background: var(--fx-surface-surface-hover, rgba(0, 0, 0, 0.15));\n cursor: pointer;\n transition: background var(--fx-motion-duration-fast) var(--fx-motion-easing), width var(--fx-motion-duration-fast) var(--fx-motion-easing);\n }\n .dot.on { background: var(--fx-color-primary); width: 20px; }\n `;\n\n static override get observedAttributes(): string[] {\n return ['active', 'autoplay', 'loop', 'show-arrows', 'show-indicators'];\n }\n\n get active(): number {\n const n = Number(this.getAttr('active', '0'));\n return Math.min(this.slideCount - 1, Math.max(0, Number.isFinite(n) ? n : 0));\n }\n set active(v: number) {\n this.setAttribute('active', String(Math.min(this.slideCount - 1, Math.max(0, v))));\n }\n\n get slideCount(): number { return this._slides.length; }\n\n private _slides: Element[] = [];\n private _timer?: ReturnType<typeof setInterval>;\n\n protected override render(): void {\n this._slides = Array.from(this.children).filter((el) => el.matches('[slot=\"slide\"]'));\n\n const contentsHtml = this._slides\n .map((s, i) => `<div class=\"slide\" part=\"slide\" data-i=\"${i}\" ${i === this.active ? '' : 'hidden'}>${s.innerHTML}</div>`)\n .join('');\n\n this.setTemplate(`\n <div class=\"viewport\" part=\"viewport\">\n ${contentsHtml}\n <button type=\"button\" class=\"arrow prev\" part=\"arrow\" aria-label=\"Anterior\" ${this.hasAttr('show-arrows') ? '' : 'hidden'}>‹</button>\n <button type=\"button\" class=\"arrow next\" part=\"arrow\" aria-label=\"Próximo\" ${this.hasAttr('show-arrows') ? '' : 'hidden'}>›</button>\n </div>\n <div class=\"indicators\" part=\"indicators\" ${this.hasAttr('show-indicators') ? '' : 'hidden'}>\n ${this._slides.map((_, i) => `<button type=\"button\" class=\"dot ${i === this.active ? 'on' : ''}\" data-i=\"${i}\" aria-label=\"Slide ${i + 1}\"></button>`).join('')}\n </div>\n `);\n\n this._bind();\n this._restartAutoplay();\n }\n\n protected override attributeChangedCallback(\n name: string,\n oldValue: string | null,\n newValue: string | null,\n ): void {\n if (!this.isConnected || oldValue === newValue) return;\n // só o índice ativo evita re-render total (preserva autoplay)\n if (name === 'active' && this._slides.length) {\n this._go(this.active, false);\n this._restartAutoplay();\n return;\n }\n // show-arrows/show-indicators/loop/autoplay: re-render estrutural\n this.render();\n }\n\n private _go(index: number, emit = true): void {\n const count = this._slides.length;\n if (!count) return;\n let target: number;\n if (this.hasAttr('loop')) {\n // wrap nas duas direções (permite voltar do primeiro ao último)\n target = ((index % count) + count) % count;\n } else {\n target = Math.min(count - 1, Math.max(0, index));\n }\n // guarda: evita recursão infinita (setAttribute → attributeChangedCallback → _go)\n if (String(target) === this.getAttribute('active')) return;\n this.active = target;\n\n this.root.querySelectorAll<HTMLElement>('.slide').forEach((s) => {\n s.toggleAttribute('hidden', Number(s.dataset.i) !== target);\n });\n this.root.querySelectorAll<HTMLElement>('.dot').forEach((d) => {\n d.classList.toggle('on', Number(d.dataset.i) === target);\n });\n if (emit) {\n this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true, detail: { index: target } }));\n }\n }\n\n next(): void { this._go(this.active + 1); }\n prev(): void { this._go(this.active - 1); }\n\n private _bind(): void {\n this.root.querySelector('.arrow.prev')?.addEventListener('click', () => this.prev());\n this.root.querySelector('.arrow.next')?.addEventListener('click', () => this.next());\n this.root.querySelectorAll<HTMLElement>('.dot').forEach((d) => {\n d.addEventListener('click', () => this._go(Number(d.dataset.i)));\n });\n }\n\n private _restartAutoplay(): void {\n if (this._timer) { clearInterval(this._timer); this._timer = undefined; }\n const ms = Number(this.getAttr('autoplay', '0'));\n if (ms > 0) {\n this._timer = setInterval(() => this._go(this.active + 1), ms);\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n if (this._timer) { clearInterval(this._timer); this._timer = undefined; }\n }\n}\n\nexport function defineFxCarousel(): typeof FxCarousel {\n return defineElement('fx-carousel', FxCarousel);\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { FxCarousel } from './carousel';
2
+ export { FxCarousel };
3
+ declare global {
4
+ interface HTMLElementTagNameMap {
5
+ 'fx-carousel': FxCarousel;
6
+ }
7
+ }
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/carousel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,MAAM,YAAY,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,CAAC;AAItB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
@@ -0,0 +1,7 @@
1
+ import { defineFxCarousel } from "./carousel.js";
2
+ import { FxCarousel } from "./carousel.js";
3
+ defineFxCarousel();
4
+ export {
5
+ FxCarousel
6
+ };
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/carousel/index.ts"],"sourcesContent":["import { FxCarousel, defineFxCarousel } from './carousel';\n\nexport { FxCarousel };\n\ndefineFxCarousel();\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'fx-carousel': FxCarousel;\n }\n}"],"names":[],"mappings":";;AAIA,iBAAA;"}
@@ -0,0 +1,19 @@
1
+ import { FxElement } from '../../core/base';
2
+ /**
3
+ * <fx-chip> — Chip/Tag compacto para labels, filtros e seleções.
4
+ *
5
+ * Atributos: variant (primary|secondary|success|warning|danger|info),
6
+ * size (sm|md|lg), removable (mostra o botão ×), selectable (clica alterna
7
+ * o estado selected), selected, disabled, icon (glifo/emoji).
8
+ * Slot padrão: texto do chip.
9
+ * Eventos (composed): `remove` (ao clicar em ×) e `chip-click` (ao clicar).
10
+ */
11
+ export declare class FxChip extends FxElement {
12
+ static styles: string;
13
+ static get observedAttributes(): string[];
14
+ get selected(): boolean;
15
+ set selected(v: boolean);
16
+ protected render(): void;
17
+ }
18
+ export declare function defineFxChip(): typeof FxChip;
19
+ //# sourceMappingURL=chip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chip.d.ts","sourceRoot":"","sources":["../../../src/components/chip/chip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAK5C;;;;;;;;GAQG;AACH,qBAAa,MAAO,SAAQ,SAAS;IACnC,OAAgB,MAAM,SA+DpB;IAEF,WAAoB,kBAAkB,IAAI,MAAM,EAAE,CAEjD;IAED,IAAI,QAAQ,IAAI,OAAO,CAAqC;IAC5D,IAAI,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAqC;cAEzC,MAAM,IAAI,IAAI;CA0ClC;AAED,wBAAgB,YAAY,IAAI,OAAO,MAAM,CAE5C"}
@@ -0,0 +1,126 @@
1
+ import { FxElement } from "../../core/base.js";
2
+ import { css } from "../../core/css.js";
3
+ import { defineElement } from "../../core/define.js";
4
+ import { esc } from "../../core/sanitize.js";
5
+ const _FxChip = class _FxChip extends FxElement {
6
+ static get observedAttributes() {
7
+ return ["variant", "size", "removable", "selectable", "selected", "disabled", "icon"];
8
+ }
9
+ get selected() {
10
+ return this.hasAttr("selected");
11
+ }
12
+ set selected(v) {
13
+ this.toggleAttr("selected", v);
14
+ }
15
+ render() {
16
+ const icon = this.getAttr("icon");
17
+ const removable = this.hasAttr("removable");
18
+ const disabled = this.hasAttr("disabled");
19
+ const clickable = (this.hasAttr("selectable") || this.hasAttr("href")) && !disabled;
20
+ this.setTemplate(`
21
+ <span class="chip ${clickable ? "clickable" : ""}" part="chip" role="${clickable ? "button" : "status"}"
22
+ ${clickable ? `tabindex="0" aria-pressed="${this.selected}"` : ""} ${disabled ? 'aria-disabled="true"' : ""}>
23
+ ${icon ? `<span class="icon" aria-hidden="true">${esc(icon)}</span>` : ""}
24
+ <slot></slot>
25
+ <button type="button" class="remove" part="remove" aria-label="Remover" ${removable ? "" : "hidden"}>×</button>
26
+ </span>
27
+ `);
28
+ const chip = this.root.querySelector(".chip");
29
+ const remove = this.root.querySelector(".remove");
30
+ if (!chip || !remove) return;
31
+ remove.addEventListener("click", (e) => {
32
+ e.stopPropagation();
33
+ this.dispatchEvent(new CustomEvent("remove", { bubbles: true, composed: true }));
34
+ });
35
+ if (clickable) {
36
+ const toggle = () => {
37
+ if (this.hasAttr("selectable")) {
38
+ this.selected = !this.selected;
39
+ chip.setAttribute("aria-pressed", String(this.selected));
40
+ }
41
+ this.dispatchEvent(new CustomEvent("chip-click", { bubbles: true, composed: true }));
42
+ };
43
+ chip.addEventListener("click", toggle);
44
+ chip.addEventListener("keydown", (e) => {
45
+ const ev = e;
46
+ if (ev.key === "Enter" || ev.key === " ") {
47
+ ev.preventDefault();
48
+ toggle();
49
+ }
50
+ });
51
+ }
52
+ }
53
+ };
54
+ _FxChip.styles = css`
55
+ :host {
56
+ display: inline-block;
57
+ font-family: var(--fx-font-family);
58
+ font-size: var(--fx-font-size);
59
+ }
60
+ .chip {
61
+ display: inline-flex;
62
+ align-items: center;
63
+ gap: var(--fx-space-xs);
64
+ padding: var(--fx-space-xs) var(--fx-space-md);
65
+ min-height: var(--fx-size-sm);
66
+ box-sizing: border-box;
67
+ font-size: calc(var(--fx-font-size) - 2px);
68
+ font-weight: var(--fx-font-weight);
69
+ color: var(--fx-text-default);
70
+ background: var(--fx-surface-surface-hover, rgba(0, 0, 0, 0.06));
71
+ border: 1px solid transparent;
72
+ border-radius: var(--fx-radius-full);
73
+ user-select: none;
74
+ transition:
75
+ background var(--fx-motion-duration-fast) var(--fx-motion-easing),
76
+ border-color var(--fx-motion-duration-fast) var(--fx-motion-easing),
77
+ filter var(--fx-motion-duration-fast) var(--fx-motion-easing);
78
+ }
79
+ :host([size='md']) .chip { min-height: var(--fx-size-md); padding: var(--fx-space-xs) var(--fx-space-lg); }
80
+ :host([size='lg']) .chip { min-height: var(--fx-size-lg); font-size: var(--fx-font-size); padding: var(--fx-space-sm) var(--fx-space-xl); }
81
+
82
+ :host([variant='primary']) .chip { background: color-mix(in srgb, var(--fx-color-primary) 14%, transparent); color: var(--fx-color-primary); }
83
+ :host([variant='secondary']) .chip { background: color-mix(in srgb, var(--fx-color-secondary) 14%, transparent); color: var(--fx-color-secondary); }
84
+ :host([variant='success']) .chip { background: color-mix(in srgb, var(--fx-color-success) 14%, transparent); color: var(--fx-color-success); }
85
+ :host([variant='warning']) .chip { background: color-mix(in srgb, var(--fx-color-warning) 14%, transparent); color: var(--fx-color-warning); }
86
+ :host([variant='danger']) .chip { background: color-mix(in srgb, var(--fx-color-danger) 14%, transparent); color: var(--fx-color-danger); }
87
+ :host([variant='info']) .chip { background: color-mix(in srgb, var(--fx-color-info) 14%, transparent); color: var(--fx-color-info); }
88
+
89
+ .chip.clickable { cursor: pointer; }
90
+ .chip.clickable:hover { filter: brightness(0.95); }
91
+ :host([selected]) .chip {
92
+ background: var(--fx-color-primary);
93
+ color: #fff;
94
+ }
95
+ :host([selected]) .chip:hover { filter: brightness(0.92); }
96
+ :host([disabled]) .chip { opacity: 0.55; cursor: not-allowed; }
97
+ .chip.clickable:active { transform: scale(0.97); }
98
+
99
+ .icon { line-height: 1; }
100
+ .remove {
101
+ display: inline-flex;
102
+ align-items: center;
103
+ justify-content: center;
104
+ width: 16px;
105
+ height: 16px;
106
+ border: none;
107
+ border-radius: var(--fx-radius-full);
108
+ background: transparent;
109
+ color: inherit;
110
+ font-size: calc(var(--fx-font-size) + 2px);
111
+ line-height: 1;
112
+ cursor: pointer;
113
+ padding: 0;
114
+ }
115
+ .remove:hover { background: rgba(0, 0, 0, 0.18); }
116
+ .remove[hidden] { display: none; }
117
+ `;
118
+ let FxChip = _FxChip;
119
+ function defineFxChip() {
120
+ return defineElement("fx-chip", FxChip);
121
+ }
122
+ export {
123
+ FxChip,
124
+ defineFxChip
125
+ };
126
+ //# sourceMappingURL=chip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chip.js","sources":["../../../src/components/chip/chip.ts"],"sourcesContent":["import { FxElement } from '../../core/base';\nimport { css } from '../../core/css';\nimport { defineElement } from '../../core/define';\nimport { esc } from '../../core/sanitize';\n\n/**\n * <fx-chip> — Chip/Tag compacto para labels, filtros e seleções.\n *\n * Atributos: variant (primary|secondary|success|warning|danger|info),\n * size (sm|md|lg), removable (mostra o botão ×), selectable (clica alterna\n * o estado selected), selected, disabled, icon (glifo/emoji).\n * Slot padrão: texto do chip.\n * Eventos (composed): `remove` (ao clicar em ×) e `chip-click` (ao clicar).\n */\nexport class FxChip extends FxElement {\n static override styles = css`\n :host {\n display: inline-block;\n font-family: var(--fx-font-family);\n font-size: var(--fx-font-size);\n }\n .chip {\n display: inline-flex;\n align-items: center;\n gap: var(--fx-space-xs);\n padding: var(--fx-space-xs) var(--fx-space-md);\n min-height: var(--fx-size-sm);\n box-sizing: border-box;\n font-size: calc(var(--fx-font-size) - 2px);\n font-weight: var(--fx-font-weight);\n color: var(--fx-text-default);\n background: var(--fx-surface-surface-hover, rgba(0, 0, 0, 0.06));\n border: 1px solid transparent;\n border-radius: var(--fx-radius-full);\n user-select: none;\n transition:\n background var(--fx-motion-duration-fast) var(--fx-motion-easing),\n border-color var(--fx-motion-duration-fast) var(--fx-motion-easing),\n filter var(--fx-motion-duration-fast) var(--fx-motion-easing);\n }\n :host([size='md']) .chip { min-height: var(--fx-size-md); padding: var(--fx-space-xs) var(--fx-space-lg); }\n :host([size='lg']) .chip { min-height: var(--fx-size-lg); font-size: var(--fx-font-size); padding: var(--fx-space-sm) var(--fx-space-xl); }\n\n :host([variant='primary']) .chip { background: color-mix(in srgb, var(--fx-color-primary) 14%, transparent); color: var(--fx-color-primary); }\n :host([variant='secondary']) .chip { background: color-mix(in srgb, var(--fx-color-secondary) 14%, transparent); color: var(--fx-color-secondary); }\n :host([variant='success']) .chip { background: color-mix(in srgb, var(--fx-color-success) 14%, transparent); color: var(--fx-color-success); }\n :host([variant='warning']) .chip { background: color-mix(in srgb, var(--fx-color-warning) 14%, transparent); color: var(--fx-color-warning); }\n :host([variant='danger']) .chip { background: color-mix(in srgb, var(--fx-color-danger) 14%, transparent); color: var(--fx-color-danger); }\n :host([variant='info']) .chip { background: color-mix(in srgb, var(--fx-color-info) 14%, transparent); color: var(--fx-color-info); }\n\n .chip.clickable { cursor: pointer; }\n .chip.clickable:hover { filter: brightness(0.95); }\n :host([selected]) .chip {\n background: var(--fx-color-primary);\n color: #fff;\n }\n :host([selected]) .chip:hover { filter: brightness(0.92); }\n :host([disabled]) .chip { opacity: 0.55; cursor: not-allowed; }\n .chip.clickable:active { transform: scale(0.97); }\n\n .icon { line-height: 1; }\n .remove {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n border: none;\n border-radius: var(--fx-radius-full);\n background: transparent;\n color: inherit;\n font-size: calc(var(--fx-font-size) + 2px);\n line-height: 1;\n cursor: pointer;\n padding: 0;\n }\n .remove:hover { background: rgba(0, 0, 0, 0.18); }\n .remove[hidden] { display: none; }\n `;\n\n static override get observedAttributes(): string[] {\n return ['variant', 'size', 'removable', 'selectable', 'selected', 'disabled', 'icon'];\n }\n\n get selected(): boolean { return this.hasAttr('selected'); }\n set selected(v: boolean) { this.toggleAttr('selected', v); }\n\n protected override render(): void {\n const icon = this.getAttr('icon');\n const removable = this.hasAttr('removable');\n const disabled = this.hasAttr('disabled');\n const clickable = (this.hasAttr('selectable') || this.hasAttr('href')) && !disabled;\n\n this.setTemplate(`\n <span class=\"chip ${clickable ? 'clickable' : ''}\" part=\"chip\" role=\"${clickable ? 'button' : 'status'}\"\n ${clickable ? `tabindex=\"0\" aria-pressed=\"${this.selected}\"` : ''} ${disabled ? 'aria-disabled=\"true\"' : ''}>\n ${icon ? `<span class=\"icon\" aria-hidden=\"true\">${esc(icon)}</span>` : ''}\n <slot></slot>\n <button type=\"button\" class=\"remove\" part=\"remove\" aria-label=\"Remover\" ${removable ? '' : 'hidden'}>×</button>\n </span>\n `);\n\n const chip = this.root.querySelector<HTMLElement>('.chip');\n const remove = this.root.querySelector<HTMLButtonElement>('.remove');\n if (!chip || !remove) return;\n\n remove.addEventListener('click', (e) => {\n e.stopPropagation();\n this.dispatchEvent(new CustomEvent('remove', { bubbles: true, composed: true }));\n });\n\n if (clickable) {\n const toggle = (): void => {\n if (this.hasAttr('selectable')) {\n this.selected = !this.selected;\n chip.setAttribute('aria-pressed', String(this.selected));\n }\n this.dispatchEvent(new CustomEvent('chip-click', { bubbles: true, composed: true }));\n };\n chip.addEventListener('click', toggle);\n chip.addEventListener('keydown', (e) => {\n const ev = e as KeyboardEvent;\n if (ev.key === 'Enter' || ev.key === ' ') {\n ev.preventDefault();\n toggle();\n }\n });\n }\n }\n}\n\nexport function defineFxChip(): typeof FxChip {\n return defineElement('fx-chip', FxChip);\n}\n"],"names":[],"mappings":";;;;AAcO,MAAM,UAAN,MAAM,gBAAe,UAAU;AAAA,EAkEpC,WAAoB,qBAA+B;AACjD,WAAO,CAAC,WAAW,QAAQ,aAAa,cAAc,YAAY,YAAY,MAAM;AAAA,EACtF;AAAA,EAEA,IAAI,WAAoB;AAAE,WAAO,KAAK,QAAQ,UAAU;AAAA,EAAG;AAAA,EAC3D,IAAI,SAAS,GAAY;AAAE,SAAK,WAAW,YAAY,CAAC;AAAA,EAAG;AAAA,EAExC,SAAe;AAChC,UAAM,OAAO,KAAK,QAAQ,MAAM;AAChC,UAAM,YAAY,KAAK,QAAQ,WAAW;AAC1C,UAAM,WAAW,KAAK,QAAQ,UAAU;AACxC,UAAM,aAAa,KAAK,QAAQ,YAAY,KAAK,KAAK,QAAQ,MAAM,MAAM,CAAC;AAE3E,SAAK,YAAY;AAAA,0BACK,YAAY,cAAc,EAAE,uBAAuB,YAAY,WAAW,QAAQ;AAAA,UAClG,YAAY,8BAA8B,KAAK,QAAQ,MAAM,EAAE,IAAI,WAAW,yBAAyB,EAAE;AAAA,UACzG,OAAO,yCAAyC,IAAI,IAAI,CAAC,YAAY,EAAE;AAAA;AAAA,kFAEC,YAAY,KAAK,QAAQ;AAAA;AAAA,KAEtG;AAED,UAAM,OAAO,KAAK,KAAK,cAA2B,OAAO;AACzD,UAAM,SAAS,KAAK,KAAK,cAAiC,SAAS;AACnE,QAAI,CAAC,QAAQ,CAAC,OAAQ;AAEtB,WAAO,iBAAiB,SAAS,CAAC,MAAM;AACtC,QAAE,gBAAA;AACF,WAAK,cAAc,IAAI,YAAY,UAAU,EAAE,SAAS,MAAM,UAAU,KAAA,CAAM,CAAC;AAAA,IACjF,CAAC;AAED,QAAI,WAAW;AACb,YAAM,SAAS,MAAY;AACzB,YAAI,KAAK,QAAQ,YAAY,GAAG;AAC9B,eAAK,WAAW,CAAC,KAAK;AACtB,eAAK,aAAa,gBAAgB,OAAO,KAAK,QAAQ,CAAC;AAAA,QACzD;AACA,aAAK,cAAc,IAAI,YAAY,cAAc,EAAE,SAAS,MAAM,UAAU,KAAA,CAAM,CAAC;AAAA,MACrF;AACA,WAAK,iBAAiB,SAAS,MAAM;AACrC,WAAK,iBAAiB,WAAW,CAAC,MAAM;AACtC,cAAM,KAAK;AACX,YAAI,GAAG,QAAQ,WAAW,GAAG,QAAQ,KAAK;AACxC,aAAG,eAAA;AACH,iBAAA;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAlHE,QAAgB,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADpB,IAAM,SAAN;AAqHA,SAAS,eAA8B;AAC5C,SAAO,cAAc,WAAW,MAAM;AACxC;"}
@@ -0,0 +1,8 @@
1
+ import { FxChip } from './chip';
2
+ export { FxChip };
3
+ declare global {
4
+ interface HTMLElementTagNameMap {
5
+ 'fx-chip': FxChip;
6
+ }
7
+ }
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/chip/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAgB,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,CAAC;AAIlB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,MAAM,CAAC;KACnB;CACF"}
@@ -0,0 +1,7 @@
1
+ import { defineFxChip } from "./chip.js";
2
+ import { FxChip } from "./chip.js";
3
+ defineFxChip();
4
+ export {
5
+ FxChip
6
+ };
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/chip/index.ts"],"sourcesContent":["import { FxChip, defineFxChip } from './chip';\n\nexport { FxChip };\n\ndefineFxChip();\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'fx-chip': FxChip;\n }\n}\n"],"names":[],"mappings":";;AAIA,aAAA;"}
@@ -0,0 +1,44 @@
1
+ import { FxElement } from '../../core/base';
2
+ /**
3
+ * <fx-confirmpopup> — Popup de confirmação não-modal ancorado em um elemento,
4
+ * exibido acima ou abaixo dinamicamente (com flip automático quando não há
5
+ * espaço na viewport), no estilo ConfirmPopup do PrimeVue.
6
+ *
7
+ * Atributos:
8
+ * - target (seletor CSS do elemento âncora — obrigatório para abrir);
9
+ * - message (texto da mensagem, quando o slot padrão não é usado);
10
+ * - icon (emoji/glifo exibido antes da mensagem; se for um nome da Fenix Icons,
11
+ * ex.: icon="help", é renderizado com a fonte de ícones);
12
+ * - accept-label / reject-label (textos dos botões padrão);
13
+ * - position (top|bottom|auto — padrão `auto`, que faz flip conforme o espaço);
14
+ * - open (exibe o popup).
15
+ *
16
+ * Slots:
17
+ * - padrão: corpo da mensagem (template "message");
18
+ * - `accept`: conteúdo do botão de confirmação (template "accept");
19
+ * - `reject`: conteúdo do botão de rejeição (template "reject").
20
+ *
21
+ * Eventos (composed): `accept` e `reject` — ambos fecham o popup.
22
+ */
23
+ export declare class FxConfirmPopup extends FxElement {
24
+ static styles: string;
25
+ static get observedAttributes(): string[];
26
+ get open(): boolean;
27
+ set open(value: boolean);
28
+ protected render(): void;
29
+ private _cleanup?;
30
+ private _previouslyFocused;
31
+ private _anchor;
32
+ /**
33
+ * Posiciona o popup fixo junto ao âncora, acima ou abaixo dinamicamente:
34
+ * `position="auto"` (padrão) prefere abaixo e faz flip para cima quando
35
+ * não há espaço; `top`/`bottom` forçam o lado.
36
+ */
37
+ private _position;
38
+ private _restoreFocus;
39
+ connectedCallback(): void;
40
+ disconnectedCallback(): void;
41
+ private _onReposition;
42
+ }
43
+ export declare function defineFxConfirmPopup(): typeof FxConfirmPopup;
44
+ //# sourceMappingURL=confirmpopup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirmpopup.d.ts","sourceRoot":"","sources":["../../../src/components/confirmpopup/confirmpopup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAM5C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,cAAe,SAAQ,SAAS;IAC3C,OAAgB,MAAM,SAkFpB;IAEF,WAAoB,kBAAkB,IAAI,MAAM,EAAE,CAEjD;IAED,IAAI,IAAI,IAAI,OAAO,CAAiC;IACpD,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,EAAqC;cAEzC,MAAM,IAAI,IAAI;IAiEjC,OAAO,CAAC,QAAQ,CAAC,CAAa;IAC9B,OAAO,CAAC,kBAAkB,CAA4B;IAEtD,OAAO,CAAC,OAAO;IAUf;;;;OAIG;IACH,OAAO,CAAC,SAAS;IA+BjB,OAAO,CAAC,aAAa;IAKZ,iBAAiB,IAAI,IAAI;IAOzB,oBAAoB,IAAI,IAAI;IASrC,OAAO,CAAC,aAAa,CAInB;CACH;AAED,wBAAgB,oBAAoB,IAAI,OAAO,cAAc,CAE5D"}