@wrrdev/fenix-ui 1.1.12 → 1.1.14

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 (115) hide show
  1. package/README.md +3 -3
  2. package/dist/components/autocomplete/autocomplete.d.ts +11 -5
  3. package/dist/components/autocomplete/autocomplete.d.ts.map +1 -1
  4. package/dist/components/autocomplete/autocomplete.js +18 -2
  5. package/dist/components/autocomplete/autocomplete.js.map +1 -1
  6. package/dist/components/button/button.d.ts +15 -0
  7. package/dist/components/button/button.d.ts.map +1 -1
  8. package/dist/components/button/button.js +20 -1
  9. package/dist/components/button/button.js.map +1 -1
  10. package/dist/components/card/card.d.ts +10 -0
  11. package/dist/components/card/card.d.ts.map +1 -1
  12. package/dist/components/card/card.js +18 -0
  13. package/dist/components/card/card.js.map +1 -1
  14. package/dist/components/checkbox/checkbox.d.ts +20 -4
  15. package/dist/components/checkbox/checkbox.d.ts.map +1 -1
  16. package/dist/components/checkbox/checkbox.js +39 -2
  17. package/dist/components/checkbox/checkbox.js.map +1 -1
  18. package/dist/components/datepicker/datepicker.d.ts +16 -2
  19. package/dist/components/datepicker/datepicker.d.ts.map +1 -1
  20. package/dist/components/datepicker/datepicker.js +46 -2
  21. package/dist/components/datepicker/datepicker.js.map +1 -1
  22. package/dist/components/fileupload/fileupload.d.ts +10 -2
  23. package/dist/components/fileupload/fileupload.d.ts.map +1 -1
  24. package/dist/components/fileupload/fileupload.js +17 -2
  25. package/dist/components/fileupload/fileupload.js.map +1 -1
  26. package/dist/components/floatlabel/floatlabel.d.ts +9 -3
  27. package/dist/components/floatlabel/floatlabel.d.ts.map +1 -1
  28. package/dist/components/floatlabel/floatlabel.js +22 -7
  29. package/dist/components/floatlabel/floatlabel.js.map +1 -1
  30. package/dist/components/input/input.d.ts +14 -7
  31. package/dist/components/input/input.d.ts.map +1 -1
  32. package/dist/components/input/input.js +18 -2
  33. package/dist/components/input/input.js.map +1 -1
  34. package/dist/components/knob/knob.d.ts +7 -3
  35. package/dist/components/knob/knob.d.ts.map +1 -1
  36. package/dist/components/knob/knob.js +4 -2
  37. package/dist/components/knob/knob.js.map +1 -1
  38. package/dist/components/multiselect/multiselect.d.ts +13 -3
  39. package/dist/components/multiselect/multiselect.d.ts.map +1 -1
  40. package/dist/components/multiselect/multiselect.js +27 -2
  41. package/dist/components/multiselect/multiselect.js.map +1 -1
  42. package/dist/components/radio/radio.d.ts +27 -4
  43. package/dist/components/radio/radio.d.ts.map +1 -1
  44. package/dist/components/radio/radio.js +67 -8
  45. package/dist/components/radio/radio.js.map +1 -1
  46. package/dist/components/rating/rating.d.ts +8 -4
  47. package/dist/components/rating/rating.d.ts.map +1 -1
  48. package/dist/components/rating/rating.js +5 -2
  49. package/dist/components/rating/rating.js.map +1 -1
  50. package/dist/components/select/select.d.ts +38 -4
  51. package/dist/components/select/select.d.ts.map +1 -1
  52. package/dist/components/select/select.js +109 -12
  53. package/dist/components/select/select.js.map +1 -1
  54. package/dist/components/slider/slider.d.ts +12 -6
  55. package/dist/components/slider/slider.d.ts.map +1 -1
  56. package/dist/components/slider/slider.js +10 -2
  57. package/dist/components/slider/slider.js.map +1 -1
  58. package/dist/components/switch/switch.d.ts +20 -4
  59. package/dist/components/switch/switch.d.ts.map +1 -1
  60. package/dist/components/switch/switch.js +40 -2
  61. package/dist/components/switch/switch.js.map +1 -1
  62. package/dist/components/textarea/textarea.d.ts +12 -5
  63. package/dist/components/textarea/textarea.d.ts.map +1 -1
  64. package/dist/components/textarea/textarea.js +12 -2
  65. package/dist/components/textarea/textarea.js.map +1 -1
  66. package/dist/components/toast/toast.d.ts +17 -5
  67. package/dist/components/toast/toast.d.ts.map +1 -1
  68. package/dist/components/toast/toast.js +161 -21
  69. package/dist/components/toast/toast.js.map +1 -1
  70. package/dist/components/toggle-button-group/toggle-button-group.d.ts +13 -5
  71. package/dist/components/toggle-button-group/toggle-button-group.d.ts.map +1 -1
  72. package/dist/components/toggle-button-group/toggle-button-group.js +19 -2
  73. package/dist/components/toggle-button-group/toggle-button-group.js.map +1 -1
  74. package/dist/core/base.d.ts +7 -0
  75. package/dist/core/base.d.ts.map +1 -1
  76. package/dist/core/base.js +4 -1
  77. package/dist/core/base.js.map +1 -1
  78. package/dist/core/form-element.d.ts +81 -0
  79. package/dist/core/form-element.d.ts.map +1 -0
  80. package/dist/core/form-element.js +129 -0
  81. package/dist/core/form-element.js.map +1 -0
  82. package/dist/core/presets.d.ts +8 -3
  83. package/dist/core/presets.d.ts.map +1 -1
  84. package/dist/core/presets.js +6 -17
  85. package/dist/core/presets.js.map +1 -1
  86. package/dist/core/types.d.ts +4 -0
  87. package/dist/core/types.d.ts.map +1 -1
  88. package/dist/docs/app.d.ts.map +1 -1
  89. package/dist/docs/componentes/autocomplete.doc.d.ts.map +1 -1
  90. package/dist/docs/componentes/card.doc.d.ts.map +1 -1
  91. package/dist/docs/componentes/checkbox.doc.d.ts.map +1 -1
  92. package/dist/docs/componentes/datepicker.doc.d.ts.map +1 -1
  93. package/dist/docs/componentes/fileupload.doc.d.ts.map +1 -1
  94. package/dist/docs/componentes/input.doc.d.ts.map +1 -1
  95. package/dist/docs/componentes/knob.doc.d.ts.map +1 -1
  96. package/dist/docs/componentes/multiselect.doc.d.ts.map +1 -1
  97. package/dist/docs/componentes/rating.doc.d.ts.map +1 -1
  98. package/dist/docs/componentes/select.doc.d.ts.map +1 -1
  99. package/dist/docs/componentes/slider.doc.d.ts.map +1 -1
  100. package/dist/docs/componentes/switch.doc.d.ts.map +1 -1
  101. package/dist/docs/componentes/textarea.doc.d.ts.map +1 -1
  102. package/dist/docs/componentes/toast.doc.d.ts.map +1 -1
  103. package/dist/docs/componentes/toggle-button-group.doc.d.ts.map +1 -1
  104. package/dist/docs/frameworks.d.ts +75 -0
  105. package/dist/docs/frameworks.d.ts.map +1 -0
  106. package/dist/docs/ui/code.d.ts +4 -0
  107. package/dist/docs/ui/code.d.ts.map +1 -1
  108. package/dist/fenix-ui.umd.min.js +233 -179
  109. package/dist/fenix-ui4.esm.js +773 -77
  110. package/dist/fenix-ui4.esm.js.map +1 -1
  111. package/dist/index.d.ts +1 -0
  112. package/dist/index.d.ts.map +1 -1
  113. package/dist/index.js +4 -1
  114. package/dist/index.js.map +1 -1
  115. package/package.json +1 -1
@@ -1,13 +1,14 @@
1
1
  import { configure } from "./theme.js";
2
+ const DEFAULT_PRESET = "ikki";
2
3
  const registry = /* @__PURE__ */ new Map();
3
4
  function register(preset) {
4
5
  registry.set(preset.name, preset);
5
6
  return preset;
6
7
  }
7
8
  const themePresets = {
8
- fenix: register({
9
- name: "fenix",
10
- label: "Fenix (padrão)",
9
+ ikki: register({
10
+ name: "ikki",
11
+ label: "Ikki (padrão)",
11
12
  tokens: { effect: { "focus-ring": "none" } }
12
13
  }),
13
14
  seiya: register({
@@ -69,19 +70,6 @@ const themePresets = {
69
70
  radius: { sm: "10px", md: "14px", lg: "20px" }
70
71
  }
71
72
  }),
72
- ikki: register({
73
- name: "ikki",
74
- label: "Ikki",
75
- tokens: {
76
- color: {
77
- primary: "#ea580c",
78
- secondary: "#fb923c",
79
- danger: "#dc2626",
80
- warning: "#f59e0b"
81
- },
82
- radius: { sm: "2px", md: "4px", lg: "6px" }
83
- }
84
- }),
85
73
  aiolia: register({
86
74
  name: "aiolia",
87
75
  label: "Aiolia",
@@ -106,11 +94,12 @@ function defineCustomPreset(name, label, tokens) {
106
94
  return register({ name, label, tokens });
107
95
  }
108
96
  function applyPreset(presetName, mode = "light") {
109
- const preset = registry.get(presetName) ?? registry.get("fenix");
97
+ const preset = registry.get(presetName) ?? registry.get(DEFAULT_PRESET);
110
98
  const state = configure({ theme: mode, tokens: preset.tokens });
111
99
  return { ...state, preset: preset.name };
112
100
  }
113
101
  export {
102
+ DEFAULT_PRESET,
114
103
  applyPreset,
115
104
  defineCustomPreset,
116
105
  listPresets,
@@ -1 +1 @@
1
- {"version":3,"file":"presets.js","sources":["../../src/core/presets.ts"],"sourcesContent":["/**\n * Presets de tema prontos para uso.\n *\n * Cada preset é um override parcial profundo sobre os tokens base.\n * Combina com o modo claro/escuro: `applyPreset('seiya', 'dark')`.\n */\n\nimport { configure } from './theme';\nimport { type DeepPartial, type FenixTokens } from './tokens';\n\nexport interface FenixPreset {\n /** Identificador usado em `applyPreset(name)`. */\n name: string;\n /** Rótulo amigável para UIs (documentação/seletor). */\n label: string;\n /** Override parcial de tokens aplicado sobre o tema base. */\n tokens: DeepPartial<FenixTokens>;\n}\n\nconst registry = new Map<string, FenixPreset>();\n\nfunction register(preset: FenixPreset): FenixPreset {\n registry.set(preset.name, preset);\n return preset;\n}\n\n/* ------------------------------------------------------------------ */\n/* Cavaleiros do Zodíaco ✨ */\n/* ------------------------------------------------------------------ */\n\nexport const themePresets = {\n\tfenix: register({\n\t\tname: \"fenix\",\n\t\tlabel: \"Fenix (padrão)\",\n\t\ttokens: { effect: { \"focus-ring\": \"none\" } },\n\t}),\n\tseiya: register({\n\t\tname: \"seiya\",\n\t\tlabel: \"Seiya\",\n\t\ttokens: {\n\t\t\tcolor: {\n\t\t\t\tprimary: \"#e11d48\",\n\t\t\t\tsecondary: \"#fb7185\",\n\t\t\t\tinfo: \"#f43f5e\",\n\t\t\t\tdanger: \"#be123c\",\n\t\t\t},\n\t\t\tradius: { sm: \"6px\", md: \"10px\", lg: \"16px\" },\n\t\t\teffect: {\n\t\t\t\t\"focus-ring\": \"none\",\n\t\t\t},\n\t\t},\n\t}),\n\tshiryu: register({\n\t\tname: \"shiryu\",\n\t\tlabel: \"Shiryu\",\n\t\ttokens: {\n\t\t\tcolor: {\n\t\t\t\tprimary: \"#0d9488\",\n\t\t\t\tsecondary: \"#2dd4bf\",\n\t\t\t\tsuccess: \"#059669\",\n\t\t\t\tinfo: \"#14b8a6\",\n\t\t\t},\n\t\t\tradius: { sm: \"4px\", md: \"8px\", lg: \"14px\" },\n\t\t\teffect: {\n\t\t\t\t\"focus-ring\": \"none\",\n\t\t\t},\n\t\t},\n\t}),\n\thyoga: register({\n\t\tname: \"hyoga\",\n\t\tlabel: \"Hyoga\",\n\t\ttokens: {\n\t\t\tcolor: {\n\t\t\t\tprimary: \"#0284c7\",\n\t\t\t\tsecondary: \"#38bdf8\",\n\t\t\t\tinfo: \"#06b6d4\",\n\t\t\t\tdanger: \"#e11d48\",\n\t\t\t},\n\t\t\tsurface: { surface: \"#f0f9ff\", \"surface-hover\": \"#e0f2fe\" },\n\t\t\tradius: { sm: \"8px\", md: \"12px\", lg: \"18px\" },\n\t\t},\n\t}),\n\tshun: register({\n\t\tname: \"shun\",\n\t\tlabel: \"Shun\",\n\t\ttokens: {\n\t\t\tcolor: {\n\t\t\t\tprimary: \"#db2777\",\n\t\t\t\tsecondary: \"#f472b6\",\n\t\t\t\tinfo: \"#ec4899\",\n\t\t\t\twarning: \"#c026d3\",\n\t\t\t},\n\t\t\tradius: { sm: \"10px\", md: \"14px\", lg: \"20px\" },\n\t\t},\n\t}),\n\tikki: register({\n\t\tname: \"ikki\",\n\t\tlabel: \"Ikki\",\n\t\ttokens: {\n\t\t\tcolor: {\n\t\t\t\tprimary: \"#ea580c\",\n\t\t\t\tsecondary: \"#fb923c\",\n\t\t\t\tdanger: \"#dc2626\",\n\t\t\t\twarning: \"#f59e0b\",\n\t\t\t},\n\t\t\tradius: { sm: \"2px\", md: \"4px\", lg: \"6px\" },\n\t\t},\n\t}),\n\taiolia: register({\n\t\tname: \"aiolia\",\n\t\tlabel: \"Aiolia\",\n\t\ttokens: {\n\t\t\tcolor: {\n\t\t\t\tprimary: \"#b45309\",\n\t\t\t\tsecondary: \"#f59e0b\",\n\t\t\t\twarning: \"#eab308\",\n\t\t\t\tinfo: \"#84cc16\",\n\t\t\t},\n\t\t\tradius: { sm: \"6px\", md: \"12px\", lg: \"20px\" },\n\t\t\teffect: {\n\t\t\t\t\"focus-ring\": \"none\",\n\t\t\t},\n\t\t},\n\t}),\n} as const;\n\n/** Lista todos os presets registrados (inclui os customizados). */\nexport function listPresets(): FenixPreset[] {\n return [...registry.values()];\n}\n\n/**\n * Registra um preset personalizado, tornando-o disponível em `applyPreset`.\n * Útil para o usuário criar seu próprio tema e reutilizá-lo na aplicação.\n */\nexport function defineCustomPreset(\n name: string,\n label: string,\n tokens: DeepPartial<FenixTokens>,\n): FenixPreset {\n return register({ name, label, tokens });\n}\n\n/**\n * Aplica um preset + modo de cor em runtime.\n * @returns o estado ativo ({ theme }) repassado por `configure`.\n */\nexport function applyPreset(\n presetName: string,\n mode: 'light' | 'dark' = 'light',\n): { theme: 'light' | 'dark'; preset: string } {\n const preset = registry.get(presetName) ?? registry.get('fenix')!;\n const state = configure({ theme: mode, tokens: preset.tokens });\n return { ...state, preset: preset.name };\n}"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"presets.js","sources":["../../src/core/presets.ts"],"sourcesContent":["/**\n * Presets de tema prontos para uso.\n *\n * Cada preset é um override parcial profundo sobre os tokens base.\n * Combina com o modo claro/escuro: `applyPreset('ikki', 'dark')`.\n *\n * `ikki` é o preset **padrão**: usa a identidade base (paleta indigo do tema\n * claro/escuro) e apenas desliga o anel de foco. Os demais presets trazem\n * paletas/raios próprios.\n */\n\nimport { configure } from './theme';\nimport { type DeepPartial, type FenixTokens } from './tokens';\n\n/** Nome do preset padrão (fallback de `applyPreset` e boot da documentação). */\nexport const DEFAULT_PRESET = 'ikki';\n\nexport interface FenixPreset {\n /** Identificador usado em `applyPreset(name)`. */\n name: string;\n /** Rótulo amigável para UIs (documentação/seletor). */\n label: string;\n /** Override parcial de tokens aplicado sobre o tema base. */\n tokens: DeepPartial<FenixTokens>;\n}\n\nconst registry = new Map<string, FenixPreset>();\n\nfunction register(preset: FenixPreset): FenixPreset {\n registry.set(preset.name, preset);\n return preset;\n}\n\n/* ------------------------------------------------------------------ */\n/* Cavaleiros do Zodíaco ✨ */\n/* ------------------------------------------------------------------ */\n\nexport const themePresets = {\n\tikki: register({\n\t\tname: \"ikki\",\n\t\tlabel: \"Ikki (padrão)\",\n\t\ttokens: { effect: { \"focus-ring\": \"none\" } },\n\t}),\n\tseiya: register({\n\t\tname: \"seiya\",\n\t\tlabel: \"Seiya\",\n\t\ttokens: {\n\t\t\tcolor: {\n\t\t\t\tprimary: \"#e11d48\",\n\t\t\t\tsecondary: \"#fb7185\",\n\t\t\t\tinfo: \"#f43f5e\",\n\t\t\t\tdanger: \"#be123c\",\n\t\t\t},\n\t\t\tradius: { sm: \"6px\", md: \"10px\", lg: \"16px\" },\n\t\t\teffect: {\n\t\t\t\t\"focus-ring\": \"none\",\n\t\t\t},\n\t\t},\n\t}),\n\tshiryu: register({\n\t\tname: \"shiryu\",\n\t\tlabel: \"Shiryu\",\n\t\ttokens: {\n\t\t\tcolor: {\n\t\t\t\tprimary: \"#0d9488\",\n\t\t\t\tsecondary: \"#2dd4bf\",\n\t\t\t\tsuccess: \"#059669\",\n\t\t\t\tinfo: \"#14b8a6\",\n\t\t\t},\n\t\t\tradius: { sm: \"4px\", md: \"8px\", lg: \"14px\" },\n\t\t\teffect: {\n\t\t\t\t\"focus-ring\": \"none\",\n\t\t\t},\n\t\t},\n\t}),\n\thyoga: register({\n\t\tname: \"hyoga\",\n\t\tlabel: \"Hyoga\",\n\t\ttokens: {\n\t\t\tcolor: {\n\t\t\t\tprimary: \"#0284c7\",\n\t\t\t\tsecondary: \"#38bdf8\",\n\t\t\t\tinfo: \"#06b6d4\",\n\t\t\t\tdanger: \"#e11d48\",\n\t\t\t},\n\t\t\tsurface: { surface: \"#f0f9ff\", \"surface-hover\": \"#e0f2fe\" },\n\t\t\tradius: { sm: \"8px\", md: \"12px\", lg: \"18px\" },\n\t\t},\n\t}),\n\tshun: register({\n\t\tname: \"shun\",\n\t\tlabel: \"Shun\",\n\t\ttokens: {\n\t\t\tcolor: {\n\t\t\t\tprimary: \"#db2777\",\n\t\t\t\tsecondary: \"#f472b6\",\n\t\t\t\tinfo: \"#ec4899\",\n\t\t\t\twarning: \"#c026d3\",\n\t\t\t},\n\t\t\tradius: { sm: \"10px\", md: \"14px\", lg: \"20px\" },\n\t\t},\n\t}),\n\taiolia: register({\n\t\tname: \"aiolia\",\n\t\tlabel: \"Aiolia\",\n\t\ttokens: {\n\t\t\tcolor: {\n\t\t\t\tprimary: \"#b45309\",\n\t\t\t\tsecondary: \"#f59e0b\",\n\t\t\t\twarning: \"#eab308\",\n\t\t\t\tinfo: \"#84cc16\",\n\t\t\t},\n\t\t\tradius: { sm: \"6px\", md: \"12px\", lg: \"20px\" },\n\t\t\teffect: {\n\t\t\t\t\"focus-ring\": \"none\",\n\t\t\t},\n\t\t},\n\t}),\n} as const;\n\n/** Lista todos os presets registrados (inclui os customizados). */\nexport function listPresets(): FenixPreset[] {\n return [...registry.values()];\n}\n\n/**\n * Registra um preset personalizado, tornando-o disponível em `applyPreset`.\n * Útil para o usuário criar seu próprio tema e reutilizá-lo na aplicação.\n */\nexport function defineCustomPreset(\n name: string,\n label: string,\n tokens: DeepPartial<FenixTokens>,\n): FenixPreset {\n return register({ name, label, tokens });\n}\n\n/**\n * Aplica um preset + modo de cor em runtime.\n * @returns o estado ativo ({ theme }) repassado por `configure`.\n */\nexport function applyPreset(\n presetName: string,\n mode: 'light' | 'dark' = 'light',\n): { theme: 'light' | 'dark'; preset: string } {\n // Preset desconhecido (ou o antigo nome \"fenix\") cai no padrão atual.\n const preset = registry.get(presetName) ?? registry.get(DEFAULT_PRESET)!;\n const state = configure({ theme: mode, tokens: preset.tokens });\n return { ...state, preset: preset.name };\n}"],"names":[],"mappings":";AAeO,MAAM,iBAAiB;AAW9B,MAAM,+BAAe,IAAA;AAErB,SAAS,SAAS,QAAkC;AAClD,WAAS,IAAI,OAAO,MAAM,MAAM;AAChC,SAAO;AACT;AAMO,MAAM,eAAe;AAAA,EAC3B,MAAM,SAAS;AAAA,IACd,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ,EAAE,QAAQ,EAAE,cAAc,SAAO;AAAA,EAAE,CAC3C;AAAA,EACD,OAAO,SAAS;AAAA,IACf,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,MACP,OAAO;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,QACX,MAAM;AAAA,QACN,QAAQ;AAAA,MAAA;AAAA,MAET,QAAQ,EAAE,IAAI,OAAO,IAAI,QAAQ,IAAI,OAAA;AAAA,MACrC,QAAQ;AAAA,QACP,cAAc;AAAA,MAAA;AAAA,IACf;AAAA,EACD,CACA;AAAA,EACD,QAAQ,SAAS;AAAA,IAChB,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,MACP,OAAO;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,QACX,SAAS;AAAA,QACT,MAAM;AAAA,MAAA;AAAA,MAEP,QAAQ,EAAE,IAAI,OAAO,IAAI,OAAO,IAAI,OAAA;AAAA,MACpC,QAAQ;AAAA,QACP,cAAc;AAAA,MAAA;AAAA,IACf;AAAA,EACD,CACA;AAAA,EACD,OAAO,SAAS;AAAA,IACf,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,MACP,OAAO;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,QACX,MAAM;AAAA,QACN,QAAQ;AAAA,MAAA;AAAA,MAET,SAAS,EAAE,SAAS,WAAW,iBAAiB,UAAA;AAAA,MAChD,QAAQ,EAAE,IAAI,OAAO,IAAI,QAAQ,IAAI,OAAA;AAAA,IAAO;AAAA,EAC7C,CACA;AAAA,EACD,MAAM,SAAS;AAAA,IACd,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,MACP,OAAO;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,QACX,MAAM;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,MAEV,QAAQ,EAAE,IAAI,QAAQ,IAAI,QAAQ,IAAI,OAAA;AAAA,IAAO;AAAA,EAC9C,CACA;AAAA,EACD,QAAQ,SAAS;AAAA,IAChB,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,MACP,OAAO;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,QACX,SAAS;AAAA,QACT,MAAM;AAAA,MAAA;AAAA,MAEP,QAAQ,EAAE,IAAI,OAAO,IAAI,QAAQ,IAAI,OAAA;AAAA,MACrC,QAAQ;AAAA,QACP,cAAc;AAAA,MAAA;AAAA,IACf;AAAA,EACD,CACA;AACF;AAGO,SAAS,cAA6B;AAC3C,SAAO,CAAC,GAAG,SAAS,QAAQ;AAC9B;AAMO,SAAS,mBACd,MACA,OACA,QACa;AACb,SAAO,SAAS,EAAE,MAAM,OAAO,QAAQ;AACzC;AAMO,SAAS,YACd,YACA,OAAyB,SACoB;AAE7C,QAAM,SAAS,SAAS,IAAI,UAAU,KAAK,SAAS,IAAI,cAAc;AACtE,QAAM,QAAQ,UAAU,EAAE,OAAO,MAAM,QAAQ,OAAO,QAAQ;AAC9D,SAAO,EAAE,GAAG,OAAO,QAAQ,OAAO,KAAA;AACpC;"}
@@ -28,6 +28,10 @@ export interface FxElementProps {
28
28
  full?: boolean;
29
29
  /** Texto/label do controle. */
30
30
  label?: string;
31
+ /** Nome do campo no FormData quando dentro de um <form>. */
32
+ name?: string;
33
+ /** Foca o controle interno ao entrar na tela (componentes de formulário). */
34
+ autofocus?: boolean;
31
35
  /** Texto de apoio/placeholder. */
32
36
  placeholder?: string;
33
37
  /** Valor do controle (string ou número). */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,6BAA6B;AAC7B,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAEvC,oEAAoE;AACpE,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAExC;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yDAAyD;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sEAAsE;IACtE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,4DAA4D;IAC5D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,6BAA6B;AAC7B,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAEvC,oEAAoE;AACpE,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAExC;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yDAAyD;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sEAAsE;IACtE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,4DAA4D;IAC5D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
@@ -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;AAEhE,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAY5B,OAAO,EAAa,aAAa,EAAE,MAAM,WAAW,CAAC;AAGrD,OAAO,EAAE,aAAa,EAAE,CAAC;AAkEzB,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmC9C;AA6pED,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;AAY5B,OAAO,EAAa,aAAa,EAAgB,MAAM,WAAW,CAAC;AAInE,OAAO,EAAE,aAAa,EAAE,CAAC;AAkEzB,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmC9C;AA6xED,eAAO,MAAM,iBAAiB,QAAO,OAAO,CAAC,IAAI,CAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/autocomplete.doc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,eAAe,EAAE,YAiG7B,CAAC"}
1
+ {"version":3,"file":"autocomplete.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/autocomplete.doc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,eAAe,EAAE,YAuG7B,CAAC"}
@@ -1 +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,YA4BrB,CAAC"}
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,YA8CrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/checkbox.doc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,WAAW,EAAE,YAwDzB,CAAC"}
1
+ {"version":3,"file":"checkbox.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/checkbox.doc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,WAAW,EAAE,YA8DzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"datepicker.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/datepicker.doc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,eAAO,MAAM,aAAa,EAAE,YAgK3B,CAAC"}
1
+ {"version":3,"file":"datepicker.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/datepicker.doc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,eAAO,MAAM,aAAa,EAAE,YAsK3B,CAAC"}
@@ -1 +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,YAmE3B,CAAC"}
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,YAoE3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"input.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/input.doc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,eAAO,MAAM,QAAQ,EAAE,YAmNtB,CAAC"}
1
+ {"version":3,"file":"input.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/input.doc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,eAAO,MAAM,QAAQ,EAAE,YA+NtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"knob.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/knob.doc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,OAAO,EAAE,YAiKrB,CAAC"}
1
+ {"version":3,"file":"knob.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/knob.doc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,OAAO,EAAE,YAuKrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"multiselect.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/multiselect.doc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,eAAO,MAAM,cAAc,EAAE,YAoI5B,CAAC"}
1
+ {"version":3,"file":"multiselect.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/multiselect.doc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,eAAO,MAAM,cAAc,EAAE,YA0I5B,CAAC"}
@@ -1 +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"}
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,YA8BvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"select.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/select.doc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,eAAO,MAAM,SAAS,EAAE,YAqIvB,CAAC"}
1
+ {"version":3,"file":"select.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/select.doc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,eAAO,MAAM,SAAS,EAAE,YAoKvB,CAAC"}
@@ -1 +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"}
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,YAsCvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"switch.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/switch.doc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,eAAO,MAAM,SAAS,EAAE,YA+CvB,CAAC"}
1
+ {"version":3,"file":"switch.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/switch.doc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,eAAO,MAAM,SAAS,EAAE,YA2DvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/textarea.doc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,WAAW,EAAE,YA2FzB,CAAC"}
1
+ {"version":3,"file":"textarea.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/textarea.doc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,WAAW,EAAE,YAuGzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"toast.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/toast.doc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,QAAQ,EAAE,YAsHtB,CAAC"}
1
+ {"version":3,"file":"toast.doc.d.ts","sourceRoot":"","sources":["../../../src/docs/componentes/toast.doc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,QAAQ,EAAE,YAkJtB,CAAC"}
@@ -1 +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"}
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,YA2BlC,CAAC"}
@@ -0,0 +1,75 @@
1
+ export type FrameworkId = 'html' | 'vue' | 'react' | 'angular' | 'svelte';
2
+ export declare const FRAMEWORKS: {
3
+ id: FrameworkId;
4
+ label: string;
5
+ }[];
6
+ export declare const FRAMEWORK_STORAGE_KEY = "fenix:doc:framework-tab";
7
+ export interface ParsedAttr {
8
+ name: string;
9
+ /** `true` = booleano presente sem valor (`disabled`, `clearable`…). */
10
+ value: string | true;
11
+ /** Aspas originais — JSON com `"` precisa continuar em aspas simples. */
12
+ quote?: '"' | "'";
13
+ }
14
+ /** Parse de atributos: aceita `name="x"`, `name='x'` e booleanos. */
15
+ export declare function parseAttrs(src: string): ParsedAttr[];
16
+ /** Extrai tag raiz + inner do 1º `<fx-*>` do HTML. */
17
+ export declare function splitTag(html: string): {
18
+ tag: string;
19
+ attrs: ParsedAttr[];
20
+ inner: string;
21
+ } | null;
22
+ export interface TagToken {
23
+ tag: string;
24
+ attrs: string;
25
+ selfClose: boolean;
26
+ close: boolean;
27
+ /** Índice do `<` no HTML original. */
28
+ start: number;
29
+ /** Índice logo após o `>`. */
30
+ end: number;
31
+ }
32
+ /**
33
+ * Scanner linear de tags (sem regex com backtracking).
34
+ *
35
+ * Atributos com JSON (`data='[{"a":1}]'`) quebravam o regex por causa das
36
+ * aspas aninhadas — o custo explodia e a página travava.
37
+ */
38
+ export declare function scanTags(html: string): TagToken[];
39
+ /** Imports dos subpaths dos componentes presentes no fragmento. */
40
+ export declare function importsForHtml(html: string, imports?: string[]): string[];
41
+ /**
42
+ * Gera as 5 versões de um FRAGMENTO HTML (um ou vários componentes) — é o
43
+ * caminho usado pelos modelos de formulário e pelos casos de uso da Home.
44
+ */
45
+ export declare function buildFragmentSnippets(opts: {
46
+ html: string;
47
+ imports?: string[];
48
+ /** Inclui handler de clique nos `fx-button` (playground). */
49
+ withClick?: boolean;
50
+ }): Record<FrameworkId, string>;
51
+ /** Compat: playground (um componente, já formatado). */
52
+ export declare function buildSnippets(opts: {
53
+ tag: string;
54
+ imports: string[];
55
+ prettyHtml: string;
56
+ rawHtml: string;
57
+ events?: {
58
+ name: string;
59
+ }[];
60
+ }): Record<FrameworkId, string>;
61
+ /** Compat: cards de caso de uso. */
62
+ export declare function buildSnippetsForHtml(opts: {
63
+ tag: string;
64
+ imports: string[];
65
+ html: string;
66
+ events?: {
67
+ name: string;
68
+ }[];
69
+ }): Record<FrameworkId, string>;
70
+ /** Bloco de abas (contrato: `.fw-tabs > button[data-fw]` + `.fw-pane[data-pane]`). */
71
+ export declare function frameworkTabsHtml(snippets: Record<FrameworkId, string>, active?: FrameworkId): string;
72
+ export declare function readSavedFramework(): FrameworkId;
73
+ /** Troca de abas + persistência em localStorage (mesmo padrão da sidebar). */
74
+ export declare function wireFrameworkTabs(root: ParentNode): void;
75
+ //# sourceMappingURL=frameworks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frameworks.d.ts","sourceRoot":"","sources":["../../src/docs/frameworks.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE1E,eAAO,MAAM,UAAU,EAAE;IAAE,EAAE,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAM1D,CAAC;AAEF,eAAO,MAAM,qBAAqB,4BAA4B,CAAC;AAE/D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,yEAAyE;IACzE,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;CACnB;AAED,qEAAqE;AACrE,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,EAAE,CAYpD;AA4DD,sDAAsD;AACtD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAUjG;AAyHD,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,CAwCjD;AAoCD,mEAAmE;AACnE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAQzE;AA6GD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAqB9B;AAED,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC7B,GAAG,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAE9B;AAED,oCAAoC;AACpC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC7B,GAAG,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAE9B;AAMD,sFAAsF;AACtF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,MAAM,GAAE,WAAoB,GAAG,MAAM,CAqB7G;AAED,wBAAgB,kBAAkB,IAAI,WAAW,CAQhD;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CA+CxD"}
@@ -4,6 +4,10 @@
4
4
  * light/dark automaticamente. O texto fora dos tokens passa por `esc`.
5
5
  */
6
6
  export declare function highlightCode(code: string): string;
7
+ /** Realce com cache + teto de tamanho (mantém o texto idêntico). */
8
+ export declare function highlightCached(code: string): string;
9
+ /** Liga os botões "Copiar" de todos os blocos dentro de `root` (idempotente). */
10
+ export declare function wireCodeCopy(root: ParentNode): void;
7
11
  /**
8
12
  * Bloco de código completo (contrato de DOM usado pelos testes):
9
13
  * `.code-block > .code-head > .copy-btn` + `pre > code`.
@@ -1 +1 @@
1
- {"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../../src/docs/ui/code.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAuBlD;AAuCD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO9C"}
1
+ {"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../../src/docs/ui/code.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA0BlD;AAyED,oEAAoE;AACpE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQpD;AAED,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAYnD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO9C"}