@wrrdev/fenix-ui 1.0.17 → 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,103 @@
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 _FxToggleButtonGroup = class _FxToggleButtonGroup extends FxElement {
6
+ static get observedAttributes() {
7
+ return ["multiple", "size"];
8
+ }
9
+ get value() {
10
+ const raw = this.getAttr("value");
11
+ return raw ? raw.split(",").map((s) => s.trim()).filter(Boolean) : [];
12
+ }
13
+ set value(v) {
14
+ this.setAttribute("value", v.join(","));
15
+ }
16
+ get multiple() {
17
+ return this.hasAttr("multiple");
18
+ }
19
+ get options() {
20
+ return Array.from(this.children).filter((el) => el.matches('[slot="option"]')).map((el) => el);
21
+ }
22
+ render() {
23
+ const opts = this.options;
24
+ const selected = this.value;
25
+ const html = opts.map((o, i) => {
26
+ const val = o.getAttribute("value") ?? "";
27
+ const active = selected.includes(val);
28
+ return `<button type="button" class="option ${active ? "active" : ""}" part="option" data-v="${esc(val)}" aria-pressed="${active}">${esc(o.textContent?.trim() || `Opción ${i + 1}`)}</button>`;
29
+ }).join("");
30
+ this.setTemplate(`
31
+ <div class="options" part="options" role="group" aria-label="Toggle buttons">
32
+ ${html}
33
+ </div>
34
+ `);
35
+ this._bindOptions();
36
+ }
37
+ _bindOptions() {
38
+ Array.from(this.root.querySelectorAll(".option") || []).forEach((opt) => {
39
+ opt.addEventListener("click", () => this._toggle(opt));
40
+ opt.addEventListener("keydown", (e) => {
41
+ const ev = e;
42
+ if (ev.key === "Enter" || ev.key === " ") {
43
+ ev.preventDefault();
44
+ this._toggle(opt);
45
+ }
46
+ });
47
+ });
48
+ }
49
+ _toggle(opt) {
50
+ const val = opt.dataset.v ?? "";
51
+ let current = this.value;
52
+ if (this.multiple) {
53
+ if (current.includes(val)) current = current.filter((v) => v !== val);
54
+ else current.push(val);
55
+ } else {
56
+ current = current.includes(val) ? [] : [val];
57
+ }
58
+ this.value = current;
59
+ this.root.querySelectorAll(".option").forEach((o) => {
60
+ const on = current.includes(o.dataset.v ?? "");
61
+ o.classList.toggle("active", on);
62
+ o.setAttribute("aria-pressed", String(on));
63
+ });
64
+ this.dispatchEvent(new CustomEvent("change", { bubbles: true, composed: true, detail: { value: current } }));
65
+ }
66
+ };
67
+ _FxToggleButtonGroup.styles = css`
68
+ :host { display: inline-flex; font-family: var(--fx-font-family); font-size: var(--fx-font-size); gap: var(--fx-space-xs); }
69
+ .option {
70
+ display: inline-flex;
71
+ align-items: center;
72
+ justify-content: center;
73
+ gap: var(--fx-space-xs);
74
+ min-height: var(--fx-size-md);
75
+ padding: var(--fx-space-sm) var(--fx-space-lg);
76
+ font-weight: var(--fx-font-weight);
77
+ color: var(--fx-text-default);
78
+ background: var(--fx-surface-background);
79
+ border: 1px solid var(--fx-border-default);
80
+ border-radius: var(--fx-radius-md);
81
+ cursor: pointer;
82
+ user-select: none;
83
+ 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);
84
+ }
85
+ :host([size='sm']) .option { min-height: var(--fx-size-sm); padding: var(--fx-space-xs) var(--fx-space-md); font-size: calc(var(--fx-font-size) - 2px); }
86
+ :host([size='lg']) .option { min-height: var(--fx-size-lg); padding: var(--fx-space-md) var(--fx-space-xl); font-size: calc(var(--fx-font-size) + 2px); }
87
+ .option:hover { border-color: var(--fx-color-primary); }
88
+ .option.active {
89
+ background: var(--fx-color-primary);
90
+ border-color: var(--fx-color-primary);
91
+ color: #fff;
92
+ }
93
+ .option.active:hover { filter: brightness(0.92); }
94
+ `;
95
+ let FxToggleButtonGroup = _FxToggleButtonGroup;
96
+ function defineFxToggleButtonGroup() {
97
+ return defineElement("fx-toggle-button-group", FxToggleButtonGroup);
98
+ }
99
+ export {
100
+ FxToggleButtonGroup,
101
+ defineFxToggleButtonGroup
102
+ };
103
+ //# sourceMappingURL=toggle-button-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle-button-group.js","sources":["../../../src/components/toggle-button-group/toggle-button-group.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-toggle-button-group> — Grupo de botones de selección múltiple o única.\n *\n * Atributos: multiple (permite varios seleccionados), value (lista), size.\n * Slots `option`: cada botón con [slot=\"option\" value=\"...\"].\n * Evento (composed): `change` (detail: { value: string[] }).\n */\nexport class FxToggleButtonGroup extends FxElement {\n static override styles = css`\n :host { display: inline-flex; font-family: var(--fx-font-family); font-size: var(--fx-font-size); gap: var(--fx-space-xs); }\n .option {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--fx-space-xs);\n min-height: var(--fx-size-md);\n padding: var(--fx-space-sm) var(--fx-space-lg);\n font-weight: var(--fx-font-weight);\n color: var(--fx-text-default);\n background: var(--fx-surface-background);\n border: 1px solid var(--fx-border-default);\n border-radius: var(--fx-radius-md);\n cursor: pointer;\n user-select: none;\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);\n }\n :host([size='sm']) .option { min-height: var(--fx-size-sm); padding: var(--fx-space-xs) var(--fx-space-md); font-size: calc(var(--fx-font-size) - 2px); }\n :host([size='lg']) .option { min-height: var(--fx-size-lg); padding: var(--fx-space-md) var(--fx-space-xl); font-size: calc(var(--fx-font-size) + 2px); }\n .option:hover { border-color: var(--fx-color-primary); }\n .option.active {\n background: var(--fx-color-primary);\n border-color: var(--fx-color-primary);\n color: #fff;\n }\n .option.active:hover { filter: brightness(0.92); }\n `;\n\n static override get observedAttributes(): string[] {\n return ['multiple', 'size'];\n }\n\n get value(): string[] {\n const raw = this.getAttr('value');\n return raw ? raw.split(',').map((s) => s.trim()).filter(Boolean) : [];\n }\n set value(v: string[]) { this.setAttribute('value', v.join(',')); }\n\n get multiple(): boolean { return this.hasAttr('multiple'); }\n\n get options(): HTMLElement[] {\n return Array.from(this.children).filter((el) => el.matches('[slot=\"option\"]')).map((el) => el as HTMLElement);\n }\n\n protected override render(): void {\n const opts = this.options;\n const selected = this.value;\n\n const html = opts\n .map((o, i) => {\n const val = o.getAttribute('value') ?? '';\n const active = selected.includes(val);\n return `<button type=\"button\" class=\"option ${active ? 'active' : ''}\" part=\"option\" data-v=\"${esc(val)}\" aria-pressed=\"${active}\">${esc(o.textContent?.trim() || `Opción ${i + 1}`)}</button>`;\n })\n .join('');\n\n this.setTemplate(`\n <div class=\"options\" part=\"options\" role=\"group\" aria-label=\"Toggle buttons\">\n ${html}\n </div>\n `);\n\n this._bindOptions();\n }\n\n private _bindOptions(): void {\n Array.from(this.root.querySelectorAll<HTMLElement>('.option') || []).forEach((opt) => {\n opt.addEventListener('click', () => this._toggle(opt));\n opt.addEventListener('keydown', (e) => {\n const ev = e as KeyboardEvent;\n if (ev.key === 'Enter' || ev.key === ' ') {\n ev.preventDefault();\n this._toggle(opt);\n }\n });\n });\n }\n\n private _toggle(opt: HTMLElement): void {\n const val = opt.dataset.v ?? '';\n let current = this.value;\n\n if (this.multiple) {\n if (current.includes(val)) current = current.filter((v) => v !== val);\n else current.push(val);\n } else {\n current = current.includes(val) ? [] : [val];\n }\n\n this.value = current;\n this.root.querySelectorAll<HTMLElement>('.option').forEach((o) => {\n const on = current.includes(o.dataset.v ?? '');\n o.classList.toggle('active', on);\n o.setAttribute('aria-pressed', String(on));\n });\n this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true, detail: { value: current } }));\n }\n}\n\nexport function defineFxToggleButtonGroup(): typeof FxToggleButtonGroup {\n return defineElement('fx-toggle-button-group', FxToggleButtonGroup);\n}"],"names":[],"mappings":";;;;AAYO,MAAM,uBAAN,MAAM,6BAA4B,UAAU;AAAA,EA8BjD,WAAoB,qBAA+B;AACjD,WAAO,CAAC,YAAY,MAAM;AAAA,EAC5B;AAAA,EAEA,IAAI,QAAkB;AACpB,UAAM,MAAM,KAAK,QAAQ,OAAO;AAChC,WAAO,MAAM,IAAI,MAAM,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,OAAO,IAAI,CAAA;AAAA,EACrE;AAAA,EACA,IAAI,MAAM,GAAa;AAAE,SAAK,aAAa,SAAS,EAAE,KAAK,GAAG,CAAC;AAAA,EAAG;AAAA,EAElE,IAAI,WAAoB;AAAE,WAAO,KAAK,QAAQ,UAAU;AAAA,EAAG;AAAA,EAE3D,IAAI,UAAyB;AAC3B,WAAO,MAAM,KAAK,KAAK,QAAQ,EAAE,OAAO,CAAC,OAAO,GAAG,QAAQ,iBAAiB,CAAC,EAAE,IAAI,CAAC,OAAO,EAAiB;AAAA,EAC9G;AAAA,EAEmB,SAAe;AAChC,UAAM,OAAO,KAAK;AAClB,UAAM,WAAW,KAAK;AAEtB,UAAM,OAAO,KACV,IAAI,CAAC,GAAG,MAAM;AACb,YAAM,MAAM,EAAE,aAAa,OAAO,KAAK;AACvC,YAAM,SAAS,SAAS,SAAS,GAAG;AACpC,aAAO,uCAAuC,SAAS,WAAW,EAAE,2BAA2B,IAAI,GAAG,CAAC,mBAAmB,MAAM,KAAK,IAAI,EAAE,aAAa,UAAU,UAAU,IAAI,CAAC,EAAE,CAAC;AAAA,IACtL,CAAC,EACA,KAAK,EAAE;AAEV,SAAK,YAAY;AAAA;AAAA,UAEX,IAAI;AAAA;AAAA,KAET;AAED,SAAK,aAAA;AAAA,EACP;AAAA,EAEQ,eAAqB;AAC3B,UAAM,KAAK,KAAK,KAAK,iBAA8B,SAAS,KAAK,EAAE,EAAE,QAAQ,CAAC,QAAQ;AACpF,UAAI,iBAAiB,SAAS,MAAM,KAAK,QAAQ,GAAG,CAAC;AACrD,UAAI,iBAAiB,WAAW,CAAC,MAAM;AACrC,cAAM,KAAK;AACX,YAAI,GAAG,QAAQ,WAAW,GAAG,QAAQ,KAAK;AACxC,aAAG,eAAA;AACH,eAAK,QAAQ,GAAG;AAAA,QAClB;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EAEQ,QAAQ,KAAwB;AACtC,UAAM,MAAM,IAAI,QAAQ,KAAK;AAC7B,QAAI,UAAU,KAAK;AAEnB,QAAI,KAAK,UAAU;AACjB,UAAI,QAAQ,SAAS,GAAG,EAAG,WAAU,QAAQ,OAAO,CAAC,MAAM,MAAM,GAAG;AAAA,UAC/D,SAAQ,KAAK,GAAG;AAAA,IACvB,OAAO;AACL,gBAAU,QAAQ,SAAS,GAAG,IAAI,CAAA,IAAK,CAAC,GAAG;AAAA,IAC7C;AAEA,SAAK,QAAQ;AACb,SAAK,KAAK,iBAA8B,SAAS,EAAE,QAAQ,CAAC,MAAM;AAChE,YAAM,KAAK,QAAQ,SAAS,EAAE,QAAQ,KAAK,EAAE;AAC7C,QAAE,UAAU,OAAO,UAAU,EAAE;AAC/B,QAAE,aAAa,gBAAgB,OAAO,EAAE,CAAC;AAAA,IAC3C,CAAC;AACD,SAAK,cAAc,IAAI,YAAY,UAAU,EAAE,SAAS,MAAM,UAAU,MAAM,QAAQ,EAAE,OAAO,QAAA,EAAQ,CAAG,CAAC;AAAA,EAC7G;AACF;AAlGE,qBAAgB,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;AADpB,IAAM,sBAAN;AAqGA,SAAS,4BAAwD;AACtE,SAAO,cAAc,0BAA0B,mBAAmB;AACpE;"}
@@ -0,0 +1,8 @@
1
+ import { FxTree } from './tree';
2
+ export { FxTree };
3
+ declare global {
4
+ interface HTMLElementTagNameMap {
5
+ 'fx-tree': FxTree;
6
+ }
7
+ }
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/tree/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 { defineFxTree } from "./tree.js";
2
+ import { FxTree } from "./tree.js";
3
+ defineFxTree();
4
+ export {
5
+ FxTree
6
+ };
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/tree/index.ts"],"sourcesContent":["import { FxTree, defineFxTree } from './tree';\n\nexport { FxTree };\n\ndefineFxTree();\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'fx-tree': FxTree;\n }\n}"],"names":[],"mappings":";;AAIA,aAAA;"}
@@ -0,0 +1,34 @@
1
+ import { FxElement } from '../../core/base';
2
+ /**
3
+ * <fx-tree> — Árvore hierárquica com expandir/recolher e seleção.
4
+ *
5
+ * Dados via atributo `data` (JSON):
6
+ * [{ label: 'Item', icon: '📁', children: [{ label: 'Filho' }] }]
7
+ *
8
+ * Atributos: data (JSON), expand-all (expande tudo), size (sm|md|lg).
9
+ * Eventos (composed): `select` (detail: { node }).
10
+ */
11
+ interface TreeNode {
12
+ label: string;
13
+ icon?: string;
14
+ children?: TreeNode[];
15
+ }
16
+ export declare class FxTree extends FxElement {
17
+ static styles: string;
18
+ static get observedAttributes(): string[];
19
+ private _expanded;
20
+ private _selected;
21
+ protected render(): void;
22
+ private _path;
23
+ private _renderNodes;
24
+ get data(): TreeNode[];
25
+ set data(v: TreeNode[]);
26
+ private _bind;
27
+ private _toggle;
28
+ private _findNode;
29
+ /** Expande ou recolhe todos os nós. */
30
+ setAllExpanded(open: boolean): void;
31
+ }
32
+ export declare function defineFxTree(): typeof FxTree;
33
+ export {};
34
+ //# sourceMappingURL=tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../src/components/tree/tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAK5C;;;;;;;;GAQG;AACH,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED,qBAAa,MAAO,SAAQ,SAAS;IACnC,OAAgB,MAAM,SA0CpB;IAEF,WAAoB,kBAAkB,IAAI,MAAM,EAAE,CAEjD;IAED,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,SAAS,CAAuB;cAErB,MAAM,IAAI,IAAI;IAKjC,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,YAAY;IAiBpB,IAAI,IAAI,IAAI,QAAQ,EAAE,CAOrB;IACD,IAAI,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAmD;IAEzE,OAAO,CAAC,KAAK;IA0Bb,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,SAAS;IAWjB,uCAAuC;IACvC,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;CAKpC;AAED,wBAAgB,YAAY,IAAI,OAAO,MAAM,CAE5C"}
@@ -0,0 +1,149 @@
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 _FxTree = class _FxTree extends FxElement {
6
+ constructor() {
7
+ super(...arguments);
8
+ this._expanded = /* @__PURE__ */ new Set();
9
+ this._selected = null;
10
+ }
11
+ static get observedAttributes() {
12
+ return ["data", "expand-all", "size"];
13
+ }
14
+ render() {
15
+ this.setTemplate(`<ul part="tree">${this._renderNodes(this.data, "")}</ul>`);
16
+ this._bind();
17
+ }
18
+ _path(i, parent) {
19
+ return parent ? `${parent}.${i}` : `${i}`;
20
+ }
21
+ _renderNodes(nodes, parent) {
22
+ const expandAll = this.hasAttr("expand-all");
23
+ return nodes.map((node, i) => {
24
+ const path = this._path(i, parent);
25
+ const hasChildren = Array.isArray(node.children) && node.children.length > 0;
26
+ const isOpen = expandAll || this._expanded.has(path);
27
+ const selected = this._selected === path ? " selected" : "";
28
+ const children = hasChildren ? `<ul class="children" ${isOpen ? "" : "hidden"}>${this._renderNodes(node.children, path)}</ul>` : "";
29
+ return `<li><span class="row${selected}" data-path="${path}" role="treeitem" tabindex="0"><span class="caret ${hasChildren ? isOpen ? "open" : "" : "leaf"}" data-toggle="${hasChildren ? path : ""}">▸</span>${node.icon ? `<span class="icon">${esc(node.icon)}</span>` : ""}<span class="label">${esc(node.label)}</span></span>${children}</li>`;
30
+ }).join("");
31
+ }
32
+ get data() {
33
+ try {
34
+ const parsed = JSON.parse(this.getAttr("data", "[]"));
35
+ return Array.isArray(parsed) ? parsed : [];
36
+ } catch {
37
+ return [];
38
+ }
39
+ }
40
+ set data(v) {
41
+ this.setAttribute("data", JSON.stringify(v));
42
+ }
43
+ _bind() {
44
+ this.root.querySelectorAll(".caret[data-toggle]").forEach((caret) => {
45
+ const path = caret.dataset.toggle;
46
+ if (!path) return;
47
+ caret.addEventListener("click", (e) => {
48
+ e.stopPropagation();
49
+ this._toggle(path, caret);
50
+ });
51
+ });
52
+ this.root.querySelectorAll(".row").forEach((row) => {
53
+ const path = row.dataset.path ?? "";
54
+ row.addEventListener("click", () => {
55
+ this._selected = path;
56
+ this.root.querySelectorAll(".row").forEach(
57
+ (r) => r.classList.toggle("selected", r === row)
58
+ );
59
+ this.dispatchEvent(new CustomEvent("select", {
60
+ bubbles: true,
61
+ composed: true,
62
+ detail: { node: this._findNode(path) }
63
+ }));
64
+ });
65
+ row.addEventListener("keydown", (e) => {
66
+ if (e.key === "Enter") row.click();
67
+ });
68
+ });
69
+ }
70
+ _toggle(path, caret) {
71
+ if (this._expanded.has(path)) this._expanded.delete(path);
72
+ else this._expanded.add(path);
73
+ const isOpen = this._expanded.has(path);
74
+ caret.classList.toggle("open", isOpen);
75
+ const li = caret.closest("li");
76
+ li?.querySelector(":scope > ul.children")?.toggleAttribute("hidden", !isOpen);
77
+ }
78
+ _findNode(path) {
79
+ let nodes = this.data;
80
+ let node;
81
+ for (const part of path.split(".")) {
82
+ node = nodes[Number(part)];
83
+ if (!node) return void 0;
84
+ nodes = node.children ?? [];
85
+ }
86
+ return node;
87
+ }
88
+ /** Expande ou recolhe todos os nós. */
89
+ setAllExpanded(open) {
90
+ if (open) this.setAttribute("expand-all", "");
91
+ else {
92
+ this.removeAttribute("expand-all");
93
+ this._expanded.clear();
94
+ }
95
+ this.render();
96
+ }
97
+ };
98
+ _FxTree.styles = css`
99
+ :host {
100
+ display: block;
101
+ font-family: var(--fx-font-family);
102
+ font-size: var(--fx-font-size);
103
+ }
104
+ ul { list-style: none; margin: 0; padding: 0; }
105
+ ul ul { padding-left: var(--fx-space-xl); }
106
+ li { margin: 2px 0; }
107
+ .row {
108
+ display: inline-flex;
109
+ align-items: center;
110
+ gap: var(--fx-space-xs);
111
+ padding: var(--fx-space-xs) var(--fx-space-sm);
112
+ border-radius: var(--fx-radius-sm);
113
+ color: var(--fx-text-default);
114
+ cursor: pointer;
115
+ user-select: none;
116
+ width: 100%;
117
+ box-sizing: border-box;
118
+ transition: background var(--fx-motion-duration-fast) var(--fx-motion-easing);
119
+ }
120
+ .row:hover { background: var(--fx-surface-surface-hover, rgba(0, 0, 0, 0.05)); }
121
+ .row.selected { background: color-mix(in srgb, var(--fx-color-primary) 12%, transparent); color: var(--fx-color-primary); font-weight: 600; }
122
+ .caret {
123
+ display: inline-flex;
124
+ align-items: center;
125
+ justify-content: center;
126
+ width: 16px;
127
+ min-width: 16px;
128
+ font-size: calc(var(--fx-font-size) - 2px);
129
+ color: var(--fx-text-muted);
130
+ cursor: pointer;
131
+ transition: transform var(--fx-motion-duration-fast) var(--fx-motion-easing);
132
+ user-select: none;
133
+ }
134
+ .caret.open { transform: rotate(90deg); }
135
+ .caret.leaf { visibility: hidden; }
136
+ .icon { line-height: 1; }
137
+ .children[hidden] { display: none; }
138
+ :host([size='sm']) .row { padding: 2px var(--fx-space-xs); font-size: calc(var(--fx-font-size) - 2px); }
139
+ :host([size='lg']) .row { padding: var(--fx-space-sm) var(--fx-space-md); font-size: calc(var(--fx-font-size) + 1px); }
140
+ `;
141
+ let FxTree = _FxTree;
142
+ function defineFxTree() {
143
+ return defineElement("fx-tree", FxTree);
144
+ }
145
+ export {
146
+ FxTree,
147
+ defineFxTree
148
+ };
149
+ //# sourceMappingURL=tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.js","sources":["../../../src/components/tree/tree.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-tree> — Árvore hierárquica com expandir/recolher e seleção.\n *\n * Dados via atributo `data` (JSON):\n * [{ label: 'Item', icon: '📁', children: [{ label: 'Filho' }] }]\n *\n * Atributos: data (JSON), expand-all (expande tudo), size (sm|md|lg).\n * Eventos (composed): `select` (detail: { node }).\n */\ninterface TreeNode {\n label: string;\n icon?: string;\n children?: TreeNode[];\n}\n\nexport class FxTree 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 ul { list-style: none; margin: 0; padding: 0; }\n ul ul { padding-left: var(--fx-space-xl); }\n li { margin: 2px 0; }\n .row {\n display: inline-flex;\n align-items: center;\n gap: var(--fx-space-xs);\n padding: var(--fx-space-xs) var(--fx-space-sm);\n border-radius: var(--fx-radius-sm);\n color: var(--fx-text-default);\n cursor: pointer;\n user-select: none;\n width: 100%;\n box-sizing: border-box;\n transition: background var(--fx-motion-duration-fast) var(--fx-motion-easing);\n }\n .row:hover { background: var(--fx-surface-surface-hover, rgba(0, 0, 0, 0.05)); }\n .row.selected { background: color-mix(in srgb, var(--fx-color-primary) 12%, transparent); color: var(--fx-color-primary); font-weight: 600; }\n .caret {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n min-width: 16px;\n font-size: calc(var(--fx-font-size) - 2px);\n color: var(--fx-text-muted);\n cursor: pointer;\n transition: transform var(--fx-motion-duration-fast) var(--fx-motion-easing);\n user-select: none;\n }\n .caret.open { transform: rotate(90deg); }\n .caret.leaf { visibility: hidden; }\n .icon { line-height: 1; }\n .children[hidden] { display: none; }\n :host([size='sm']) .row { padding: 2px var(--fx-space-xs); font-size: calc(var(--fx-font-size) - 2px); }\n :host([size='lg']) .row { padding: var(--fx-space-sm) var(--fx-space-md); font-size: calc(var(--fx-font-size) + 1px); }\n `;\n\n static override get observedAttributes(): string[] {\n return ['data', 'expand-all', 'size'];\n }\n\n private _expanded = new Set<string>();\n private _selected: string | null = null;\n\n protected override render(): void {\n this.setTemplate(`<ul part=\"tree\">${this._renderNodes(this.data, '')}</ul>`);\n this._bind();\n }\n\n private _path(i: number, parent: string): string {\n return parent ? `${parent}.${i}` : `${i}`;\n }\n\n private _renderNodes(nodes: TreeNode[], parent: string): string {\n const expandAll = this.hasAttr('expand-all');\n return nodes\n .map((node, i) => {\n const path = this._path(i, parent);\n const hasChildren = Array.isArray(node.children) && node.children.length > 0;\n const isOpen = expandAll || this._expanded.has(path);\n const selected = this._selected === path ? ' selected' : '';\n const children = hasChildren\n ? `<ul class=\"children\" ${isOpen ? '' : 'hidden'}>${this._renderNodes(node.children!, path)}</ul>`\n : '';\n return `<li><span class=\"row${selected}\" data-path=\"${path}\" role=\"treeitem\" tabindex=\"0\"><span class=\"caret ${hasChildren ? (isOpen ? 'open' : '') : 'leaf'}\" data-toggle=\"${hasChildren ? path : ''}\">▸</span>${node.icon ? `<span class=\"icon\">${esc(node.icon)}</span>` : ''}<span class=\"label\">${esc(node.label)}</span></span>${children}</li>`;\n })\n .join('');\n }\n\n\n get data(): TreeNode[] {\n try {\n const parsed = JSON.parse(this.getAttr('data', '[]'));\n return Array.isArray(parsed) ? parsed : [];\n } catch {\n return [];\n }\n }\n set data(v: TreeNode[]) { this.setAttribute('data', JSON.stringify(v)); }\n\n private _bind(): void {\n this.root.querySelectorAll<HTMLElement>('.caret[data-toggle]').forEach((caret) => {\n const path = caret.dataset.toggle;\n if (!path) return;\n caret.addEventListener('click', (e) => {\n e.stopPropagation();\n this._toggle(path, caret);\n });\n });\n this.root.querySelectorAll<HTMLElement>('.row').forEach((row) => {\n const path = row.dataset.path ?? '';\n row.addEventListener('click', () => {\n this._selected = path;\n this.root.querySelectorAll<HTMLElement>('.row').forEach((r) =>\n r.classList.toggle('selected', r === row),\n );\n this.dispatchEvent(new CustomEvent('select', {\n bubbles: true, composed: true, detail: { node: this._findNode(path) },\n }));\n });\n row.addEventListener('keydown', (e) => {\n if ((e as KeyboardEvent).key === 'Enter') row.click();\n });\n });\n }\n\n private _toggle(path: string, caret: HTMLElement): void {\n if (this._expanded.has(path)) this._expanded.delete(path);\n else this._expanded.add(path);\n const isOpen = this._expanded.has(path);\n caret.classList.toggle('open', isOpen);\n const li = caret.closest('li');\n li?.querySelector<HTMLElement>(':scope > ul.children')?.toggleAttribute('hidden', !isOpen);\n }\n\n private _findNode(path: string): TreeNode | undefined {\n let nodes = this.data;\n let node: TreeNode | undefined;\n for (const part of path.split('.')) {\n node = nodes[Number(part)];\n if (!node) return undefined;\n nodes = node.children ?? [];\n }\n return node;\n }\n\n /** Expande ou recolhe todos os nós. */\n setAllExpanded(open: boolean): void {\n if (open) this.setAttribute('expand-all', '');\n else { this.removeAttribute('expand-all'); this._expanded.clear(); }\n this.render();\n }\n}\n\nexport function defineFxTree(): typeof FxTree {\n return defineElement('fx-tree', FxTree);\n}\n"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export declare abstract class FxElement extends HTMLElement {
13
13
  protected readonly root: ShadowRoot;
14
14
  constructor();
15
15
  /** Chamado quando um atributo observado muda. */
16
- protected attributeChangedCallback(): void;
16
+ protected attributeChangedCallback(_name: string, _oldValue: string | null, _newValue: string | null): void;
17
17
  /** Chamado quando o elemento é anexado ao DOM. */
18
18
  protected connectedCallback(): void;
19
19
  /** Chamado quando o elemento é removido do DOM (limpeza de recursos). */
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/core/base.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,8BAAsB,SAAU,SAAQ,WAAW;IACjD,iEAAiE;IACjE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM;IAE3B,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;;IAOpC,iDAAiD;IACjD,SAAS,CAAC,wBAAwB,IAAI,IAAI;IAI1C,kDAAkD;IAClD,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAInC,yEAAyE;IACzE,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAItC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIxC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAK,GAAG,MAAM;IAItD,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI;IAKrD,iDAAiD;IACjD,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKzC,wCAAwC;IACxC,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI;CAClC"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/core/base.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,8BAAsB,SAAU,SAAQ,WAAW;IACjD,iEAAiE;IACjE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM;IAE3B,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;;IAOpC,iDAAiD;IACjD,SAAS,CAAC,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAI3G,kDAAkD;IAClD,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAInC,yEAAyE;IACzE,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAItC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIxC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAK,GAAG,MAAM;IAItD,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI;IAKrD,iDAAiD;IACjD,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKzC,wCAAwC;IACxC,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI;CAClC"}
package/dist/core/base.js CHANGED
@@ -7,7 +7,7 @@ const _FxElement = class _FxElement extends HTMLElement {
7
7
  this.root = this.attachShadow({ mode: "open" });
8
8
  }
9
9
  /** Chamado quando um atributo observado muda. */
10
- attributeChangedCallback() {
10
+ attributeChangedCallback(_name, _oldValue, _newValue) {
11
11
  if (this.isConnected) this.render();
12
12
  }
13
13
  /** Chamado quando o elemento é anexado ao DOM. */
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sources":["../../src/core/base.ts"],"sourcesContent":["/**\n * Infraestrutura base de Web Component do FenixUI.\n *\n * Todo componente estende `FxElement`, que:\n * - cria o Shadow Root (isolamento de estrutura e CSS);\n * - injeta o CSS (tokens via `var(--fx-*)`) + template em cada render;\n * - re-renderiza quando atributos observados mudam.\n */\n\nexport abstract class FxElement extends HTMLElement {\n /** CSS isolado no Shadow DOM. Deve usar apenas `var(--fx-*)`. */\n static styles: string = '';\n\n static get observedAttributes(): string[] {\n return [];\n }\n\n protected readonly root: ShadowRoot;\n\n constructor() {\n super();\n this.root = this.attachShadow({ mode: 'open' });\n }\n\n /** Chamado quando um atributo observado muda. */\n protected attributeChangedCallback(): void {\n if (this.isConnected) this.render();\n }\n\n /** Chamado quando o elemento é anexado ao DOM. */\n protected connectedCallback(): void {\n this.render();\n }\n\n /** Chamado quando o elemento é removido do DOM (limpeza de recursos). */\n protected disconnectedCallback(): void {\n /* noop — sobrescreva para limpar observers/listeners. */\n }\n\n protected hasAttr(name: string): boolean {\n return this.hasAttribute(name);\n }\n\n protected getAttr(name: string, fallback = ''): string {\n return this.getAttribute(name) ?? fallback;\n }\n\n protected toggleAttr(name: string, on: boolean): void {\n if (on) this.setAttribute(name, '');\n else this.removeAttribute(name);\n }\n\n /** Injeta `<style>` + template no Shadow DOM. */\n protected setTemplate(html: string): void {\n const styles = (this.constructor as typeof FxElement).styles;\n this.root.innerHTML = `<style>${styles}</style>${html}`;\n }\n\n /** Implementado por cada componente. */\n protected abstract render(): void;\n}"],"names":[],"mappings":"AASO,MAAe,aAAf,MAAe,mBAAkB,YAAY;AAAA,EAIlD,WAAW,qBAA+B;AACxC,WAAO,CAAA;AAAA,EACT;AAAA,EAIA,cAAc;AACZ,UAAA;AACA,SAAK,OAAO,KAAK,aAAa,EAAE,MAAM,QAAQ;AAAA,EAChD;AAAA;AAAA,EAGU,2BAAiC;AACzC,QAAI,KAAK,YAAa,MAAK,OAAA;AAAA,EAC7B;AAAA;AAAA,EAGU,oBAA0B;AAClC,SAAK,OAAA;AAAA,EACP;AAAA;AAAA,EAGU,uBAA6B;AAAA,EAEvC;AAAA,EAEU,QAAQ,MAAuB;AACvC,WAAO,KAAK,aAAa,IAAI;AAAA,EAC/B;AAAA,EAEU,QAAQ,MAAc,WAAW,IAAY;AACrD,WAAO,KAAK,aAAa,IAAI,KAAK;AAAA,EACpC;AAAA,EAEU,WAAW,MAAc,IAAmB;AACpD,QAAI,GAAI,MAAK,aAAa,MAAM,EAAE;AAAA,QAC7B,MAAK,gBAAgB,IAAI;AAAA,EAChC;AAAA;AAAA,EAGU,YAAY,MAAoB;AACxC,UAAM,SAAU,KAAK,YAAiC;AACtD,SAAK,KAAK,YAAY,UAAU,MAAM,WAAW,IAAI;AAAA,EACvD;AAIF;AAjDE,WAAO,SAAiB;AAFnB,IAAe,YAAf;"}
1
+ {"version":3,"file":"base.js","sources":["../../src/core/base.ts"],"sourcesContent":["/**\n * Infraestrutura base de Web Component do FenixUI.\n *\n * Todo componente estende `FxElement`, que:\n * - cria o Shadow Root (isolamento de estrutura e CSS);\n * - injeta o CSS (tokens via `var(--fx-*)`) + template em cada render;\n * - re-renderiza quando atributos observados mudam.\n */\n\nexport abstract class FxElement extends HTMLElement {\n /** CSS isolado no Shadow DOM. Deve usar apenas `var(--fx-*)`. */\n static styles: string = '';\n\n static get observedAttributes(): string[] {\n return [];\n }\n\n protected readonly root: ShadowRoot;\n\n constructor() {\n super();\n this.root = this.attachShadow({ mode: 'open' });\n }\n\n /** Chamado quando um atributo observado muda. */\n protected attributeChangedCallback(_name: string, _oldValue: string | null, _newValue: string | null): void {\n if (this.isConnected) this.render();\n }\n\n /** Chamado quando o elemento é anexado ao DOM. */\n protected connectedCallback(): void {\n this.render();\n }\n\n /** Chamado quando o elemento é removido do DOM (limpeza de recursos). */\n protected disconnectedCallback(): void {\n /* noop — sobrescreva para limpar observers/listeners. */\n }\n\n protected hasAttr(name: string): boolean {\n return this.hasAttribute(name);\n }\n\n protected getAttr(name: string, fallback = ''): string {\n return this.getAttribute(name) ?? fallback;\n }\n\n protected toggleAttr(name: string, on: boolean): void {\n if (on) this.setAttribute(name, '');\n else this.removeAttribute(name);\n }\n\n /** Injeta `<style>` + template no Shadow DOM. */\n protected setTemplate(html: string): void {\n const styles = (this.constructor as typeof FxElement).styles;\n this.root.innerHTML = `<style>${styles}</style>${html}`;\n }\n\n /** Implementado por cada componente. */\n protected abstract render(): void;\n}"],"names":[],"mappings":"AASO,MAAe,aAAf,MAAe,mBAAkB,YAAY;AAAA,EAIlD,WAAW,qBAA+B;AACxC,WAAO,CAAA;AAAA,EACT;AAAA,EAIA,cAAc;AACZ,UAAA;AACA,SAAK,OAAO,KAAK,aAAa,EAAE,MAAM,QAAQ;AAAA,EAChD;AAAA;AAAA,EAGU,yBAAyB,OAAe,WAA0B,WAAgC;AAC1G,QAAI,KAAK,YAAa,MAAK,OAAA;AAAA,EAC7B;AAAA;AAAA,EAGU,oBAA0B;AAClC,SAAK,OAAA;AAAA,EACP;AAAA;AAAA,EAGU,uBAA6B;AAAA,EAEvC;AAAA,EAEU,QAAQ,MAAuB;AACvC,WAAO,KAAK,aAAa,IAAI;AAAA,EAC/B;AAAA,EAEU,QAAQ,MAAc,WAAW,IAAY;AACrD,WAAO,KAAK,aAAa,IAAI,KAAK;AAAA,EACpC;AAAA,EAEU,WAAW,MAAc,IAAmB;AACpD,QAAI,GAAI,MAAK,aAAa,MAAM,EAAE;AAAA,QAC7B,MAAK,gBAAgB,IAAI;AAAA,EAChC;AAAA;AAAA,EAGU,YAAY,MAAoB;AACxC,UAAM,SAAU,KAAK,YAAiC;AACtD,SAAK,KAAK,YAAY,UAAU,MAAM,WAAW,IAAI;AAAA,EACvD;AAIF;AAjDE,WAAO,SAAiB;AAFnB,IAAe,YAAf;"}
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/docs/app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,EAAiB,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAsE5B,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmC9C;AAipCD,eAAO,MAAM,iBAAiB,QAAO,OAAO,CAAC,IAAI,CAAgB,CAAC"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/docs/app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,EAAiB,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAsE5B,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmC9C;AAmwCD,eAAO,MAAM,iBAAiB,QAAO,OAAO,CAAC,IAAI,CAAgB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Documentação do componente <fx-avatar>.
3
+ */
4
+ import type { ComponentDoc } from '../types';
5
+ export declare const avatarDoc: ComponentDoc;
6
+ //# sourceMappingURL=avatar.doc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/avatar.doc.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,SAAS,EAAE,YA8BvB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Documentação do componente <fx-breadcrumb>.
3
+ */
4
+ import type { ComponentDoc } from '../types';
5
+ export declare const breadcrumbDoc: ComponentDoc;
6
+ //# sourceMappingURL=breadcrumb.doc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumb.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/breadcrumb.doc.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,aAAa,EAAE,YAuB3B,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Documentação do componente <fx-card>.
3
+ */
4
+ import type { ComponentDoc } from '../types';
5
+ export declare const cardDoc: ComponentDoc;
6
+ //# sourceMappingURL=card.doc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/card.doc.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,OAAO,EAAE,YA2BrB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Documentação do componente <fx-carousel>.
3
+ */
4
+ import type { ComponentDoc } from '../types';
5
+ export declare const carouselDoc: ComponentDoc;
6
+ //# sourceMappingURL=carousel.doc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carousel.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/carousel.doc.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,WAAW,EAAE,YA4BzB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Documentação do componente <fx-chip>.
3
+ */
4
+ import type { ComponentDoc } from '../types';
5
+ export declare const chipDoc: ComponentDoc;
6
+ //# sourceMappingURL=chip.doc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chip.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/chip.doc.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,OAAO,EAAE,YAiCrB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Documentação do componente <fx-confirmpopup>.
3
+ */
4
+ import type { ComponentDoc } from '../types';
5
+ export declare const confirmpopupDoc: ComponentDoc;
6
+ //# sourceMappingURL=confirmpopup.doc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirmpopup.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/confirmpopup.doc.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,eAAe,EAAE,YA8B7B,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Documentação do componente <fx-empty-state>.
3
+ */
4
+ import type { ComponentDoc } from '../types';
5
+ export declare const emptyStateDoc: ComponentDoc;
6
+ //# sourceMappingURL=empty-state.doc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-state.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/empty-state.doc.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,aAAa,EAAE,YAyB3B,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Documentação do componente <fx-fileupload>.
3
+ */
4
+ import type { ComponentDoc } from '../types';
5
+ export declare const fileuploadDoc: ComponentDoc;
6
+ //# sourceMappingURL=fileupload.doc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileupload.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/fileupload.doc.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,aAAa,EAAE,YAgE3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAgC7C,eAAO,MAAM,aAAa,EAAE,YAAY,EA8BvC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CA8BnE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAiD7C,eAAO,MAAM,aAAa,EAAE,YAAY,EA+CvC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CA+CnE,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Documentação do componente <fx-menu>.
3
+ */
4
+ import type { ComponentDoc } from '../types';
5
+ export declare const menuDoc: ComponentDoc;
6
+ //# sourceMappingURL=menu.doc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/menu.doc.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,OAAO,EAAE,YA2BrB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Documentação do componente <fx-password-strength>.
3
+ */
4
+ import type { ComponentDoc } from '../types';
5
+ export declare const passwordStrengthDoc: ComponentDoc;
6
+ //# sourceMappingURL=password-strength.doc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"password-strength.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/password-strength.doc.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,mBAAmB,EAAE,YAuBjC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Documentação do componente <fx-popover>.
3
+ */
4
+ import type { ComponentDoc } from '../types';
5
+ export declare const popoverDoc: ComponentDoc;
6
+ //# sourceMappingURL=popover.doc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/popover.doc.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,UAAU,EAAE,YAgCxB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Documentação do componente <fx-rating>.
3
+ */
4
+ import type { ComponentDoc } from '../types';
5
+ export declare const ratingDoc: ComponentDoc;
6
+ //# sourceMappingURL=rating.doc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rating.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/rating.doc.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,SAAS,EAAE,YA6BvB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Documentação do componente <fx-slider>.
3
+ */
4
+ import type { ComponentDoc } from '../types';
5
+ export declare const sliderDoc: ComponentDoc;
6
+ //# sourceMappingURL=slider.doc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/slider.doc.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,SAAS,EAAE,YAqCvB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Documentação do componente <fx-stepper>.
3
+ */
4
+ import type { ComponentDoc } from '../types';
5
+ export declare const stepperDoc: ComponentDoc;
6
+ //# sourceMappingURL=stepper.doc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepper.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/stepper.doc.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,UAAU,EAAE,YA2BxB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Documentação do componente <fx-timeline>.
3
+ */
4
+ import type { ComponentDoc } from '../types';
5
+ export declare const timelineDoc: ComponentDoc;
6
+ //# sourceMappingURL=timeline.doc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/timeline.doc.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,WAAW,EAAE,YAwBzB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Documentação do componente <fx-toggle-button-group>.
3
+ */
4
+ import type { ComponentDoc } from '../types';
5
+ export declare const toggleButtonGroupDoc: ComponentDoc;
6
+ //# sourceMappingURL=toggle-button-group.doc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle-button-group.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/toggle-button-group.doc.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,oBAAoB,EAAE,YA0BlC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Documentação do componente <fx-tree>.
3
+ */
4
+ import type { ComponentDoc } from '../types';
5
+ export declare const treeDoc: ComponentDoc;
6
+ //# sourceMappingURL=tree.doc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/tree.doc.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,OAAO,EAAE,YA0BrB,CAAC"}
Binary file