@seedgrid/fe-components 2026.4.11 → 2026.4.13

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 (261) hide show
  1. package/dist/ai/seedgrid-components.manifest.json +12888 -0
  2. package/dist/ai-meta/types.d.ts +58 -0
  3. package/dist/ai-meta/types.d.ts.map +1 -0
  4. package/dist/ai-meta/types.js +1 -0
  5. package/dist/buttons/SgButton.meta.d.ts +4 -0
  6. package/dist/buttons/SgButton.meta.d.ts.map +1 -0
  7. package/dist/buttons/SgButton.meta.js +139 -0
  8. package/dist/buttons/SgFloatActionButton.meta.d.ts +4 -0
  9. package/dist/buttons/SgFloatActionButton.meta.d.ts.map +1 -0
  10. package/dist/buttons/SgFloatActionButton.meta.js +132 -0
  11. package/dist/buttons/SgSplitButton.meta.d.ts +4 -0
  12. package/dist/buttons/SgSplitButton.meta.d.ts.map +1 -0
  13. package/dist/buttons/SgSplitButton.meta.js +132 -0
  14. package/dist/commons/SgAvatar.meta.d.ts +4 -0
  15. package/dist/commons/SgAvatar.meta.d.ts.map +1 -0
  16. package/dist/commons/SgAvatar.meta.js +123 -0
  17. package/dist/commons/SgAvatarGroup.meta.d.ts +4 -0
  18. package/dist/commons/SgAvatarGroup.meta.d.ts.map +1 -0
  19. package/dist/commons/SgAvatarGroup.meta.js +46 -0
  20. package/dist/commons/SgBadge.meta.d.ts +4 -0
  21. package/dist/commons/SgBadge.meta.d.ts.map +1 -0
  22. package/dist/commons/SgBadge.meta.js +132 -0
  23. package/dist/commons/SgBadgeOverlay.meta.d.ts +4 -0
  24. package/dist/commons/SgBadgeOverlay.meta.d.ts.map +1 -0
  25. package/dist/commons/SgBadgeOverlay.meta.js +46 -0
  26. package/dist/commons/SgSkeleton.meta.d.ts +4 -0
  27. package/dist/commons/SgSkeleton.meta.d.ts.map +1 -0
  28. package/dist/commons/SgSkeleton.meta.js +114 -0
  29. package/dist/commons/SgToastHost.meta.d.ts +4 -0
  30. package/dist/commons/SgToastHost.meta.d.ts.map +1 -0
  31. package/dist/commons/SgToastHost.meta.js +46 -0
  32. package/dist/commons/SgToaster.meta.d.ts +4 -0
  33. package/dist/commons/SgToaster.meta.d.ts.map +1 -0
  34. package/dist/commons/SgToaster.meta.js +48 -0
  35. package/dist/commons/SgWhistleHost.meta.d.ts +4 -0
  36. package/dist/commons/SgWhistleHost.meta.d.ts.map +1 -0
  37. package/dist/commons/SgWhistleHost.meta.js +46 -0
  38. package/dist/digits/discard-digit/SgDiscardDigit.meta.d.ts +4 -0
  39. package/dist/digits/discard-digit/SgDiscardDigit.meta.d.ts.map +1 -0
  40. package/dist/digits/discard-digit/SgDiscardDigit.meta.js +48 -0
  41. package/dist/digits/fade-digit/SgFadeDigit.meta.d.ts +4 -0
  42. package/dist/digits/fade-digit/SgFadeDigit.meta.d.ts.map +1 -0
  43. package/dist/digits/fade-digit/SgFadeDigit.meta.js +48 -0
  44. package/dist/digits/flip-digit/SgFlipDigit.meta.d.ts +4 -0
  45. package/dist/digits/flip-digit/SgFlipDigit.meta.d.ts.map +1 -0
  46. package/dist/digits/flip-digit/SgFlipDigit.meta.js +48 -0
  47. package/dist/digits/matrix-digit/SgMatrixDigit.meta.d.ts +4 -0
  48. package/dist/digits/matrix-digit/SgMatrixDigit.meta.d.ts.map +1 -0
  49. package/dist/digits/matrix-digit/SgMatrixDigit.meta.js +48 -0
  50. package/dist/digits/neon-digit/SgNeonDigit.meta.d.ts +4 -0
  51. package/dist/digits/neon-digit/SgNeonDigit.meta.d.ts.map +1 -0
  52. package/dist/digits/neon-digit/SgNeonDigit.meta.js +48 -0
  53. package/dist/digits/roller3d-digit/SgRoller3DDigit.meta.d.ts +4 -0
  54. package/dist/digits/roller3d-digit/SgRoller3DDigit.meta.d.ts.map +1 -0
  55. package/dist/digits/roller3d-digit/SgRoller3DDigit.meta.js +48 -0
  56. package/dist/digits/segment-digit/SgSegmentDigit.meta.d.ts +4 -0
  57. package/dist/digits/segment-digit/SgSegmentDigit.meta.d.ts.map +1 -0
  58. package/dist/digits/segment-digit/SgSegmentDigit.meta.js +48 -0
  59. package/dist/digits/seven-segment-digit/SgSevenSegmentDigit.meta.d.ts +4 -0
  60. package/dist/digits/seven-segment-digit/SgSevenSegmentDigit.meta.d.ts.map +1 -0
  61. package/dist/digits/seven-segment-digit/SgSevenSegmentDigit.meta.js +48 -0
  62. package/dist/environment/SgEnvironmentProvider.meta.d.ts +4 -0
  63. package/dist/environment/SgEnvironmentProvider.meta.d.ts.map +1 -0
  64. package/dist/environment/SgEnvironmentProvider.meta.js +53 -0
  65. package/dist/gadgets/calendar/SgCalendar.meta.d.ts +4 -0
  66. package/dist/gadgets/calendar/SgCalendar.meta.d.ts.map +1 -0
  67. package/dist/gadgets/calendar/SgCalendar.meta.js +51 -0
  68. package/dist/gadgets/clock/SgClock.meta.d.ts +4 -0
  69. package/dist/gadgets/clock/SgClock.meta.d.ts.map +1 -0
  70. package/dist/gadgets/clock/SgClock.meta.js +50 -0
  71. package/dist/gadgets/clock/SgTimeProvider.meta.d.ts +4 -0
  72. package/dist/gadgets/clock/SgTimeProvider.meta.d.ts.map +1 -0
  73. package/dist/gadgets/clock/SgTimeProvider.meta.js +49 -0
  74. package/dist/gadgets/clock/themes/SgClockThemePicker.meta.d.ts +4 -0
  75. package/dist/gadgets/clock/themes/SgClockThemePicker.meta.d.ts.map +1 -0
  76. package/dist/gadgets/clock/themes/SgClockThemePicker.meta.js +56 -0
  77. package/dist/gadgets/clock/themes/SgClockThemePreview.meta.d.ts +4 -0
  78. package/dist/gadgets/clock/themes/SgClockThemePreview.meta.d.ts.map +1 -0
  79. package/dist/gadgets/clock/themes/SgClockThemePreview.meta.js +50 -0
  80. package/dist/gadgets/clock/themes/SgClockThemeProvider.meta.d.ts +4 -0
  81. package/dist/gadgets/clock/themes/SgClockThemeProvider.meta.d.ts.map +1 -0
  82. package/dist/gadgets/clock/themes/SgClockThemeProvider.meta.js +51 -0
  83. package/dist/gadgets/gauge/SgLinearGauge.meta.d.ts +4 -0
  84. package/dist/gadgets/gauge/SgLinearGauge.meta.d.ts.map +1 -0
  85. package/dist/gadgets/gauge/SgLinearGauge.meta.js +57 -0
  86. package/dist/gadgets/gauge/SgRadialGauge.meta.d.ts +4 -0
  87. package/dist/gadgets/gauge/SgRadialGauge.meta.d.ts.map +1 -0
  88. package/dist/gadgets/gauge/SgRadialGauge.meta.js +57 -0
  89. package/dist/gadgets/qr-code/SgQRCode.meta.d.ts +4 -0
  90. package/dist/gadgets/qr-code/SgQRCode.meta.d.ts.map +1 -0
  91. package/dist/gadgets/qr-code/SgQRCode.meta.js +48 -0
  92. package/dist/gadgets/string-animator/SgStringAnimator.meta.d.ts +4 -0
  93. package/dist/gadgets/string-animator/SgStringAnimator.meta.d.ts.map +1 -0
  94. package/dist/gadgets/string-animator/SgStringAnimator.meta.js +48 -0
  95. package/dist/i18n/SgComponentsI18nProvider.meta.d.ts +4 -0
  96. package/dist/i18n/SgComponentsI18nProvider.meta.d.ts.map +1 -0
  97. package/dist/i18n/SgComponentsI18nProvider.meta.js +50 -0
  98. package/dist/index.d.ts +4 -6
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +2 -3
  101. package/dist/inputs/SgAutocomplete.meta.d.ts +4 -0
  102. package/dist/inputs/SgAutocomplete.meta.d.ts.map +1 -0
  103. package/dist/inputs/SgAutocomplete.meta.js +52 -0
  104. package/dist/inputs/SgCheckboxGroup.meta.d.ts +4 -0
  105. package/dist/inputs/SgCheckboxGroup.meta.d.ts.map +1 -0
  106. package/dist/inputs/SgCheckboxGroup.meta.js +51 -0
  107. package/dist/inputs/SgCombobox.meta.d.ts +4 -0
  108. package/dist/inputs/SgCombobox.meta.d.ts.map +1 -0
  109. package/dist/inputs/SgCombobox.meta.js +52 -0
  110. package/dist/inputs/SgDatatable.meta.d.ts +4 -0
  111. package/dist/inputs/SgDatatable.meta.d.ts.map +1 -0
  112. package/dist/inputs/SgDatatable.meta.js +51 -0
  113. package/dist/inputs/SgInputBirthDate.meta.d.ts +4 -0
  114. package/dist/inputs/SgInputBirthDate.meta.d.ts.map +1 -0
  115. package/dist/inputs/SgInputBirthDate.meta.js +80 -0
  116. package/dist/inputs/SgInputCNPJ.meta.d.ts +4 -0
  117. package/dist/inputs/SgInputCNPJ.meta.d.ts.map +1 -0
  118. package/dist/inputs/SgInputCNPJ.meta.js +81 -0
  119. package/dist/inputs/SgInputCPF.meta.d.ts +4 -0
  120. package/dist/inputs/SgInputCPF.meta.d.ts.map +1 -0
  121. package/dist/inputs/SgInputCPF.meta.js +80 -0
  122. package/dist/inputs/SgInputCPFCNPJ.meta.d.ts +4 -0
  123. package/dist/inputs/SgInputCPFCNPJ.meta.d.ts.map +1 -0
  124. package/dist/inputs/SgInputCPFCNPJ.meta.js +80 -0
  125. package/dist/inputs/SgInputCurrency.meta.d.ts +4 -0
  126. package/dist/inputs/SgInputCurrency.meta.d.ts.map +1 -0
  127. package/dist/inputs/SgInputCurrency.meta.js +136 -0
  128. package/dist/inputs/SgInputDate.meta.d.ts +4 -0
  129. package/dist/inputs/SgInputDate.meta.d.ts.map +1 -0
  130. package/dist/inputs/SgInputDate.meta.js +136 -0
  131. package/dist/inputs/SgInputEmail.meta.d.ts +4 -0
  132. package/dist/inputs/SgInputEmail.meta.d.ts.map +1 -0
  133. package/dist/inputs/SgInputEmail.meta.js +81 -0
  134. package/dist/inputs/SgInputNumber.meta.d.ts +4 -0
  135. package/dist/inputs/SgInputNumber.meta.d.ts.map +1 -0
  136. package/dist/inputs/SgInputNumber.meta.js +137 -0
  137. package/dist/inputs/SgInputOTP.js +1 -1
  138. package/dist/inputs/SgInputOTP.meta.d.ts +4 -0
  139. package/dist/inputs/SgInputOTP.meta.d.ts.map +1 -0
  140. package/dist/inputs/SgInputOTP.meta.js +80 -0
  141. package/dist/inputs/SgInputPassword.meta.d.ts +4 -0
  142. package/dist/inputs/SgInputPassword.meta.d.ts.map +1 -0
  143. package/dist/inputs/SgInputPassword.meta.js +81 -0
  144. package/dist/inputs/SgInputPhone.meta.d.ts +4 -0
  145. package/dist/inputs/SgInputPhone.meta.d.ts.map +1 -0
  146. package/dist/inputs/SgInputPhone.meta.js +80 -0
  147. package/dist/inputs/SgInputPostalCode.meta.d.ts +4 -0
  148. package/dist/inputs/SgInputPostalCode.meta.d.ts.map +1 -0
  149. package/dist/inputs/SgInputPostalCode.meta.js +81 -0
  150. package/dist/inputs/SgInputText.meta.d.ts +4 -0
  151. package/dist/inputs/SgInputText.meta.d.ts.map +1 -0
  152. package/dist/inputs/SgInputText.meta.js +138 -0
  153. package/dist/inputs/SgInputTextarea.meta.d.ts +4 -0
  154. package/dist/inputs/SgInputTextarea.meta.d.ts.map +1 -0
  155. package/dist/inputs/SgInputTextarea.meta.js +136 -0
  156. package/dist/inputs/SgOrderList.meta.d.ts +4 -0
  157. package/dist/inputs/SgOrderList.meta.d.ts.map +1 -0
  158. package/dist/inputs/SgOrderList.meta.js +51 -0
  159. package/dist/inputs/SgPickList.meta.d.ts +4 -0
  160. package/dist/inputs/SgPickList.meta.d.ts.map +1 -0
  161. package/dist/inputs/SgPickList.meta.js +51 -0
  162. package/dist/inputs/SgRadioGroup.meta.d.ts +4 -0
  163. package/dist/inputs/SgRadioGroup.meta.d.ts.map +1 -0
  164. package/dist/inputs/SgRadioGroup.meta.js +51 -0
  165. package/dist/inputs/SgRating.meta.d.ts +4 -0
  166. package/dist/inputs/SgRating.meta.d.ts.map +1 -0
  167. package/dist/inputs/SgRating.meta.js +51 -0
  168. package/dist/inputs/SgSlider.meta.d.ts +4 -0
  169. package/dist/inputs/SgSlider.meta.d.ts.map +1 -0
  170. package/dist/inputs/SgSlider.meta.js +51 -0
  171. package/dist/inputs/SgStepperInput.meta.d.ts +4 -0
  172. package/dist/inputs/SgStepperInput.meta.d.ts.map +1 -0
  173. package/dist/inputs/SgStepperInput.meta.js +51 -0
  174. package/dist/inputs/SgTextEditor.meta.d.ts +4 -0
  175. package/dist/inputs/SgTextEditor.meta.d.ts.map +1 -0
  176. package/dist/inputs/SgTextEditor.meta.js +51 -0
  177. package/dist/inputs/SgToggleSwitch.meta.d.ts +4 -0
  178. package/dist/inputs/SgToggleSwitch.meta.d.ts.map +1 -0
  179. package/dist/inputs/SgToggleSwitch.meta.js +51 -0
  180. package/dist/layout/SgAccordion.meta.d.ts +4 -0
  181. package/dist/layout/SgAccordion.meta.d.ts.map +1 -0
  182. package/dist/layout/SgAccordion.meta.js +131 -0
  183. package/dist/layout/SgBreadcrumb.meta.d.ts +4 -0
  184. package/dist/layout/SgBreadcrumb.meta.d.ts.map +1 -0
  185. package/dist/layout/SgBreadcrumb.meta.js +125 -0
  186. package/dist/layout/SgCard.meta.d.ts +4 -0
  187. package/dist/layout/SgCard.meta.d.ts.map +1 -0
  188. package/dist/layout/SgCard.meta.js +132 -0
  189. package/dist/layout/SgCarousel.meta.d.ts +4 -0
  190. package/dist/layout/SgCarousel.meta.d.ts.map +1 -0
  191. package/dist/layout/SgCarousel.meta.js +50 -0
  192. package/dist/layout/SgDockLayout.meta.d.ts +4 -0
  193. package/dist/layout/SgDockLayout.meta.d.ts.map +1 -0
  194. package/dist/layout/SgDockLayout.meta.js +47 -0
  195. package/dist/layout/SgDockScreen.meta.d.ts +4 -0
  196. package/dist/layout/SgDockScreen.meta.d.ts.map +1 -0
  197. package/dist/layout/SgDockScreen.meta.js +49 -0
  198. package/dist/layout/SgDockZone.meta.d.ts +4 -0
  199. package/dist/layout/SgDockZone.meta.d.ts.map +1 -0
  200. package/dist/layout/SgDockZone.meta.js +43 -0
  201. package/dist/layout/SgExpandablePanel.meta.d.ts +4 -0
  202. package/dist/layout/SgExpandablePanel.meta.d.ts.map +1 -0
  203. package/dist/layout/SgExpandablePanel.meta.js +50 -0
  204. package/dist/layout/SgGrid.meta.d.ts +4 -0
  205. package/dist/layout/SgGrid.meta.d.ts.map +1 -0
  206. package/dist/layout/SgGrid.meta.js +124 -0
  207. package/dist/layout/SgGroupBox.meta.d.ts +4 -0
  208. package/dist/layout/SgGroupBox.meta.d.ts.map +1 -0
  209. package/dist/layout/SgGroupBox.meta.js +99 -0
  210. package/dist/layout/SgMenu.meta.d.ts +4 -0
  211. package/dist/layout/SgMenu.meta.d.ts.map +1 -0
  212. package/dist/layout/SgMenu.meta.js +137 -0
  213. package/dist/layout/SgPageControl.meta.d.ts +4 -0
  214. package/dist/layout/SgPageControl.meta.d.ts.map +1 -0
  215. package/dist/layout/SgPageControl.meta.js +50 -0
  216. package/dist/layout/SgPageControlPage.meta.d.ts +4 -0
  217. package/dist/layout/SgPageControlPage.meta.d.ts.map +1 -0
  218. package/dist/layout/SgPageControlPage.meta.js +47 -0
  219. package/dist/layout/SgPanel.meta.d.ts +4 -0
  220. package/dist/layout/SgPanel.meta.d.ts.map +1 -0
  221. package/dist/layout/SgPanel.meta.js +140 -0
  222. package/dist/layout/SgScreen.meta.d.ts +4 -0
  223. package/dist/layout/SgScreen.meta.d.ts.map +1 -0
  224. package/dist/layout/SgScreen.meta.js +113 -0
  225. package/dist/layout/SgStack.meta.d.ts +4 -0
  226. package/dist/layout/SgStack.meta.d.ts.map +1 -0
  227. package/dist/layout/SgStack.meta.js +126 -0
  228. package/dist/layout/SgToolBar.meta.d.ts +4 -0
  229. package/dist/layout/SgToolBar.meta.d.ts.map +1 -0
  230. package/dist/layout/SgToolBar.meta.js +131 -0
  231. package/dist/layout/SgToolbarIconButton.meta.d.ts +4 -0
  232. package/dist/layout/SgToolbarIconButton.meta.d.ts.map +1 -0
  233. package/dist/layout/SgToolbarIconButton.meta.js +48 -0
  234. package/dist/layout/SgTreeView.meta.d.ts +4 -0
  235. package/dist/layout/SgTreeView.meta.d.ts.map +1 -0
  236. package/dist/layout/SgTreeView.meta.js +132 -0
  237. package/dist/layout/menu-logic.d.ts.map +1 -1
  238. package/dist/layout/menu-logic.js +1 -3
  239. package/dist/menus/SgDockMenu.meta.d.ts +4 -0
  240. package/dist/menus/SgDockMenu.meta.d.ts.map +1 -0
  241. package/dist/menus/SgDockMenu.meta.js +135 -0
  242. package/dist/overlay/SgConfirmationDialog.meta.d.ts +4 -0
  243. package/dist/overlay/SgConfirmationDialog.meta.d.ts.map +1 -0
  244. package/dist/overlay/SgConfirmationDialog.meta.js +128 -0
  245. package/dist/overlay/SgDialog.meta.d.ts +4 -0
  246. package/dist/overlay/SgDialog.meta.d.ts.map +1 -0
  247. package/dist/overlay/SgDialog.meta.js +130 -0
  248. package/dist/overlay/SgPopup.meta.d.ts +4 -0
  249. package/dist/overlay/SgPopup.meta.d.ts.map +1 -0
  250. package/dist/overlay/SgPopup.meta.js +129 -0
  251. package/dist/sandbox.cjs +31 -31
  252. package/dist/wizard/SgWizard.meta.d.ts +4 -0
  253. package/dist/wizard/SgWizard.meta.d.ts.map +1 -0
  254. package/dist/wizard/SgWizard.meta.js +50 -0
  255. package/dist/wizard/SgWizardPage.meta.d.ts +4 -0
  256. package/dist/wizard/SgWizardPage.meta.d.ts.map +1 -0
  257. package/dist/wizard/SgWizardPage.meta.js +44 -0
  258. package/package.json +2 -2
  259. package/dist/inputs/SgInputSelect.d.ts +0 -18
  260. package/dist/inputs/SgInputSelect.d.ts.map +0 -1
  261. package/dist/inputs/SgInputSelect.js +0 -139
@@ -0,0 +1,80 @@
1
+ export const sgMeta = {
2
+ version: "0.1",
3
+ componentId: "form.input.cpfCnpj",
4
+ package: "@seedgrid/fe-components",
5
+ exportName: "SgInputCPFCNPJ",
6
+ slug: "sg-input-cpf-cnpj",
7
+ displayName: "SgInputCPFCNPJ",
8
+ category: "input",
9
+ subcategory: "document",
10
+ description: "Campo hibrido para CPF ou CNPJ com mascara e validacao automatica conforme o documento informado.",
11
+ tags: ["form", "document", "cpf", "cnpj", "hybrid", "rhf"],
12
+ capabilities: ["rhf", "mask", "validation", "cpf-cnpj", "clearable"],
13
+ fieldSemantics: ["cpfOrCnpj", "personOrCompanyDocument", "hybridDocument", "brazilianDocument"],
14
+ props: [
15
+ { name: "id", type: "string", required: true, description: "Identificador unico do campo.", semanticRole: "data", bindable: false },
16
+ { name: "name", type: "string", description: "Nome do campo em formularios.", semanticRole: "data", bindable: true },
17
+ { name: "label", type: "string", description: "Rotulo exibido ao usuario.", semanticRole: "label", bindable: true },
18
+ { name: "required", type: "boolean", default: false, description: "Marca o campo como obrigatorio.", semanticRole: "validation", bindable: true },
19
+ { name: "lengthMessage", type: "string", description: "Mensagem para comprimento invalido.", semanticRole: "validation", bindable: true },
20
+ { name: "invalidMessage", type: "string", description: "Mensagem para documento invalido.", semanticRole: "validation", bindable: true },
21
+ { name: "validateOnBlur", type: "boolean", default: true, description: "Executa validacao no blur.", semanticRole: "behavior", bindable: true },
22
+ { name: "validation", type: "(value: string) => string | null", description: "Validacao customizada adicional.", semanticRole: "validation", bindable: false },
23
+ { name: "onValidation", type: "(message: string | null) => void", description: "Callback para estado de validacao.", semanticRole: "event", bindable: false }
24
+ ],
25
+ states: ["default", "focused", "disabled", "readOnly", "error"],
26
+ examples: [
27
+ {
28
+ id: "basic",
29
+ title: "Basico",
30
+ file: "apps/showcase/src/app/components/sg-input-cpf-cnpj/samples/basico.tsx.sample",
31
+ kind: "sample"
32
+ },
33
+ {
34
+ id: "playground",
35
+ title: "Playground",
36
+ file: "apps/showcase/src/app/components/sg-input-cpf-cnpj/sg-input-cpf-cnpj.tsx.playground",
37
+ kind: "playground"
38
+ }
39
+ ],
40
+ showcase: {
41
+ route: "/components/sg-input-cpf-cnpj",
42
+ hasPlayground: true,
43
+ hasPropsTable: true
44
+ },
45
+ sdui: {
46
+ rendererType: "field.document.cpfCnpj",
47
+ acceptsDataBinding: true,
48
+ defaultProps: {
49
+ clearButton: true,
50
+ labelPosition: "float",
51
+ validateOnBlur: true
52
+ }
53
+ }
54
+ };
55
+ export const aiHints = {
56
+ version: "0.1",
57
+ preferredUseCases: [
58
+ "Campos unificados que aceitam CPF ou CNPJ no mesmo fluxo.",
59
+ "Cadastros onde a entidade pode ser pessoa fisica ou juridica.",
60
+ "Busca ou filtro por documento brasileiro sem tipo fixo."
61
+ ],
62
+ avoidUseCases: [
63
+ "Quando o dominio ja define apenas CPF; nesses casos prefira SgInputCPF.",
64
+ "Quando o dominio ja define apenas CNPJ; nesses casos prefira SgInputCNPJ.",
65
+ "Texto livre, telefone, email ou valores financeiros."
66
+ ],
67
+ synonyms: ["cpf cnpj", "documento misto", "hybrid document", "cpf or cnpj"],
68
+ relatedEntityFields: ["document", "cpfCnpj", "taxId", "personOrCompanyDocument"],
69
+ compositionHints: [
70
+ "Combinar com SgInputEmail e SgInputPhone em cadastros flexiveis.",
71
+ "Usar dentro de SgPanel em secoes de identificacao principal."
72
+ ],
73
+ rankingSignals: {
74
+ freeText: 0.1,
75
+ structuredChoice: 0,
76
+ date: 0,
77
+ number: 0.66,
78
+ denseLayout: 0.75
79
+ }
80
+ };
@@ -0,0 +1,4 @@
1
+ import type { SgAiHintsV0, SgMetaV0 } from "../ai-meta/types";
2
+ export declare const sgMeta: SgMetaV0;
3
+ export declare const aiHints: SgAiHintsV0;
4
+ //# sourceMappingURL=SgInputCurrency.meta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SgInputCurrency.meta.d.ts","sourceRoot":"","sources":["../../src/inputs/SgInputCurrency.meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE9D,eAAO,MAAM,MAAM,EAAE,QA8GpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WAyBrB,CAAC"}
@@ -0,0 +1,136 @@
1
+ export const sgMeta = {
2
+ version: "0.1",
3
+ componentId: "form.input.currency",
4
+ package: "@seedgrid/fe-components",
5
+ exportName: "SgInputCurrency",
6
+ slug: "sg-input-currency",
7
+ displayName: "SgInputCurrency",
8
+ category: "input",
9
+ subcategory: "currency",
10
+ description: "Campo monetario com formatacao de moeda, simbolo e validacao para precos, valores financeiros e totais.",
11
+ tags: ["form", "currency", "money", "price", "rhf"],
12
+ capabilities: ["rhf", "controlled", "currency-format", "symbol", "min-max", "validation"],
13
+ fieldSemantics: ["money", "currency", "price", "total", "financialAmount"],
14
+ props: [
15
+ {
16
+ name: "id",
17
+ type: "string",
18
+ required: true,
19
+ description: "Identificador unico do campo monetario.",
20
+ semanticRole: "data",
21
+ bindable: false
22
+ },
23
+ {
24
+ name: "name",
25
+ type: "string",
26
+ description: "Nome do campo para formularios.",
27
+ semanticRole: "data",
28
+ bindable: true
29
+ },
30
+ {
31
+ name: "label",
32
+ type: "string",
33
+ description: "Rotulo principal exibido ao usuario.",
34
+ semanticRole: "label",
35
+ bindable: true
36
+ },
37
+ {
38
+ name: "currency",
39
+ type: "string",
40
+ description: "Codigo ou configuracao de moeda usada na formatacao.",
41
+ semanticRole: "behavior",
42
+ bindable: true
43
+ },
44
+ {
45
+ name: "symbol",
46
+ type: "string",
47
+ description: "Simbolo monetario exibido no campo.",
48
+ semanticRole: "appearance",
49
+ bindable: true
50
+ },
51
+ {
52
+ name: "required",
53
+ type: "boolean",
54
+ default: false,
55
+ description: "Marca o campo como obrigatorio.",
56
+ semanticRole: "validation",
57
+ bindable: true
58
+ },
59
+ {
60
+ name: "min",
61
+ type: "number",
62
+ description: "Valor monetario minimo aceito.",
63
+ semanticRole: "validation",
64
+ bindable: true
65
+ },
66
+ {
67
+ name: "max",
68
+ type: "number",
69
+ description: "Valor monetario maximo aceito.",
70
+ semanticRole: "validation",
71
+ bindable: true
72
+ },
73
+ {
74
+ name: "onChange",
75
+ type: "(value: number | null) => void",
76
+ description: "Callback com o valor monetario normalizado.",
77
+ semanticRole: "event",
78
+ bindable: false
79
+ }
80
+ ],
81
+ states: ["default", "focused", "disabled", "readOnly", "error"],
82
+ examples: [
83
+ {
84
+ id: "basic",
85
+ title: "Basico",
86
+ file: "apps/showcase/src/app/components/sg-input-currency/samples/basico.tsx.sample",
87
+ kind: "sample"
88
+ },
89
+ {
90
+ id: "playground",
91
+ title: "Playground",
92
+ file: "apps/showcase/src/app/components/sg-input-currency/sg-input-currency.tsx.playground",
93
+ kind: "playground"
94
+ }
95
+ ],
96
+ showcase: {
97
+ route: "/components/sg-input-currency",
98
+ hasPlayground: true,
99
+ hasPropsTable: true
100
+ },
101
+ sdui: {
102
+ rendererType: "field.currency",
103
+ acceptsDataBinding: true,
104
+ defaultProps: {
105
+ clearButton: true,
106
+ labelPosition: "float",
107
+ currency: "BRL"
108
+ }
109
+ }
110
+ };
111
+ export const aiHints = {
112
+ version: "0.1",
113
+ preferredUseCases: [
114
+ "Captura de precos, totais, descontos e valores financeiros.",
115
+ "Campos monetarios que exigem formatacao de moeda e simbolo visual.",
116
+ "Entradas financeiras em formularios de venda, faturamento e cadastro."
117
+ ],
118
+ avoidUseCases: [
119
+ "Numeros genericos sem semantica monetaria; nesses casos prefira SgInputNumber.",
120
+ "Texto livre; nesses casos prefira SgInputText ou SgInputTextArea.",
121
+ "Datas e horas; nesses casos prefira SgInputDate."
122
+ ],
123
+ synonyms: ["currency input", "money field", "price input", "amount input"],
124
+ relatedEntityFields: ["price", "amount", "total", "subtotal", "discount", "fee"],
125
+ compositionHints: [
126
+ "Combinar com SgInputNumber para quantidades e com SgButton para acoes de submit.",
127
+ "Usar dentro de SgPanel em secoes financeiras ou comerciais."
128
+ ],
129
+ rankingSignals: {
130
+ freeText: 0,
131
+ structuredChoice: 0,
132
+ date: 0,
133
+ number: 0.85,
134
+ denseLayout: 0.7
135
+ }
136
+ };
@@ -0,0 +1,4 @@
1
+ import type { SgAiHintsV0, SgMetaV0 } from "../ai-meta/types";
2
+ export declare const sgMeta: SgMetaV0;
3
+ export declare const aiHints: SgAiHintsV0;
4
+ //# sourceMappingURL=SgInputDate.meta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SgInputDate.meta.d.ts","sourceRoot":"","sources":["../../src/inputs/SgInputDate.meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE9D,eAAO,MAAM,MAAM,EAAE,QA8GpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WAyBrB,CAAC"}
@@ -0,0 +1,136 @@
1
+ export const sgMeta = {
2
+ version: "0.1",
3
+ componentId: "form.input.date",
4
+ package: "@seedgrid/fe-components",
5
+ exportName: "SgInputDate",
6
+ slug: "sg-input-date",
7
+ displayName: "SgInputDate",
8
+ category: "input",
9
+ subcategory: "date",
10
+ description: "Campo de data com validacao de intervalo e suporte a selecao temporal para eventos, prazos e datas de referencia.",
11
+ tags: ["form", "date", "calendar", "rhf"],
12
+ capabilities: ["rhf", "controlled", "date-format", "min-max", "calendar-selection"],
13
+ fieldSemantics: ["date", "calendarDate", "deadline", "schedule", "referenceDate"],
14
+ props: [
15
+ {
16
+ name: "id",
17
+ type: "string",
18
+ required: true,
19
+ description: "Identificador unico do campo de data.",
20
+ semanticRole: "data",
21
+ bindable: false
22
+ },
23
+ {
24
+ name: "name",
25
+ type: "string",
26
+ description: "Nome do campo para formularios.",
27
+ semanticRole: "data",
28
+ bindable: true
29
+ },
30
+ {
31
+ name: "label",
32
+ type: "string",
33
+ description: "Rotulo principal exibido ao usuario.",
34
+ semanticRole: "label",
35
+ bindable: true
36
+ },
37
+ {
38
+ name: "required",
39
+ type: "boolean",
40
+ default: false,
41
+ description: "Marca o campo como obrigatorio.",
42
+ semanticRole: "validation",
43
+ bindable: true
44
+ },
45
+ {
46
+ name: "minDate",
47
+ type: "string | Date",
48
+ description: "Data minima permitida.",
49
+ semanticRole: "validation",
50
+ bindable: true
51
+ },
52
+ {
53
+ name: "maxDate",
54
+ type: "string | Date",
55
+ description: "Data maxima permitida.",
56
+ semanticRole: "validation",
57
+ bindable: true
58
+ },
59
+ {
60
+ name: "placeholder",
61
+ type: "string",
62
+ description: "Texto de apoio para orientar o preenchimento da data.",
63
+ semanticRole: "label",
64
+ bindable: true
65
+ },
66
+ {
67
+ name: "readOnly",
68
+ type: "boolean",
69
+ default: false,
70
+ description: "Impede edicao mantendo leitura e foco.",
71
+ semanticRole: "appearance",
72
+ bindable: true
73
+ },
74
+ {
75
+ name: "onChange",
76
+ type: "(value: string | null) => void",
77
+ description: "Callback com a data selecionada ou digitada.",
78
+ semanticRole: "event",
79
+ bindable: false
80
+ }
81
+ ],
82
+ states: ["default", "focused", "disabled", "readOnly", "error"],
83
+ examples: [
84
+ {
85
+ id: "basic",
86
+ title: "Basico",
87
+ file: "apps/showcase/src/app/components/sg-input-date/samples/basico.tsx.sample",
88
+ kind: "sample"
89
+ },
90
+ {
91
+ id: "playground",
92
+ title: "Playground",
93
+ file: "apps/showcase/src/app/components/sg-input-date/sg-input-date.tsx.playground",
94
+ kind: "playground"
95
+ }
96
+ ],
97
+ showcase: {
98
+ route: "/components/sg-input-date",
99
+ hasPlayground: true,
100
+ hasPropsTable: true
101
+ },
102
+ sdui: {
103
+ rendererType: "field.date",
104
+ acceptsDataBinding: true,
105
+ defaultProps: {
106
+ labelPosition: "float",
107
+ clearButton: true
108
+ }
109
+ }
110
+ };
111
+ export const aiHints = {
112
+ version: "0.1",
113
+ preferredUseCases: [
114
+ "Captura de datas de vencimento, agendamento, cadastro e referencia temporal.",
115
+ "Campos que exigem validacao de intervalo minimo e maximo de datas.",
116
+ "Selecao de data em formularios com contexto de calendario."
117
+ ],
118
+ avoidUseCases: [
119
+ "Texto livre ou descricoes; nesses casos prefira SgInputText ou SgInputTextArea.",
120
+ "Numeros ou valores monetarios; nesses casos prefira SgInputNumber ou SgInputCurrency.",
121
+ "Escolhas estruturadas sem contexto temporal; nesses casos prefira select ou combobox."
122
+ ],
123
+ synonyms: ["date input", "calendar field", "deadline input", "schedule date"],
124
+ relatedEntityFields: ["date", "startDate", "endDate", "deadline", "dueDate", "birthDate"],
125
+ compositionHints: [
126
+ "Combinar com SgButton para filtros por periodo e formulários com datas.",
127
+ "Usar dentro de SgPanel para blocos de agendamento ou dados temporais."
128
+ ],
129
+ rankingSignals: {
130
+ freeText: 0,
131
+ structuredChoice: 0.15,
132
+ date: 0.98,
133
+ number: 0,
134
+ denseLayout: 0.7
135
+ }
136
+ };
@@ -0,0 +1,4 @@
1
+ import type { SgAiHintsV0, SgMetaV0 } from "../ai-meta/types";
2
+ export declare const sgMeta: SgMetaV0;
3
+ export declare const aiHints: SgAiHintsV0;
4
+ //# sourceMappingURL=SgInputEmail.meta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SgInputEmail.meta.d.ts","sourceRoot":"","sources":["../../src/inputs/SgInputEmail.meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE9D,eAAO,MAAM,MAAM,EAAE,QAuDpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WAyBrB,CAAC"}
@@ -0,0 +1,81 @@
1
+ export const sgMeta = {
2
+ version: "0.1",
3
+ componentId: "form.input.email",
4
+ package: "@seedgrid/fe-components",
5
+ exportName: "SgInputEmail",
6
+ slug: "sg-input-email",
7
+ displayName: "SgInputEmail",
8
+ category: "input",
9
+ subcategory: "email",
10
+ description: "Campo especializado para email com validacao de formato, bloqueio opcional de dominios temporarios e integracao com formularios.",
11
+ tags: ["form", "email", "contact", "login", "rhf"],
12
+ capabilities: ["rhf", "controlled", "validation", "email-format", "blocked-domains", "clearable"],
13
+ fieldSemantics: ["email", "contactEmail", "loginEmail", "notificationEmail"],
14
+ props: [
15
+ { name: "id", type: "string", required: true, description: "Identificador unico do campo.", semanticRole: "data", bindable: false },
16
+ { name: "name", type: "string", description: "Nome do campo em formularios.", semanticRole: "data", bindable: true },
17
+ { name: "label", type: "string", description: "Rotulo exibido ao usuario.", semanticRole: "label", bindable: true },
18
+ { name: "required", type: "boolean", default: false, description: "Marca o campo como obrigatorio.", semanticRole: "validation", bindable: true },
19
+ { name: "invalidMessage", type: "string", description: "Mensagem para email invalido.", semanticRole: "validation", bindable: true },
20
+ { name: "blockFakeMail", type: "boolean", default: true, description: "Bloqueia dominios temporarios conhecidos.", semanticRole: "behavior", bindable: true },
21
+ { name: "blockedEmailDomains", type: "string[]", description: "Lista customizada de dominios bloqueados.", semanticRole: "data", bindable: true },
22
+ { name: "validateOnBlur", type: "boolean", default: true, description: "Executa validacao no blur.", semanticRole: "behavior", bindable: true },
23
+ { name: "onValidation", type: "(message: string | null) => void", description: "Callback para estado de validacao.", semanticRole: "event", bindable: false }
24
+ ],
25
+ states: ["default", "focused", "disabled", "readOnly", "error"],
26
+ examples: [
27
+ {
28
+ id: "basic",
29
+ title: "Basico",
30
+ file: "apps/showcase/src/app/components/sg-input-email/samples/basico.tsx.sample",
31
+ kind: "sample"
32
+ },
33
+ {
34
+ id: "playground",
35
+ title: "Playground",
36
+ file: "apps/showcase/src/app/components/sg-input-email/sg-input-email.tsx.playground",
37
+ kind: "playground"
38
+ }
39
+ ],
40
+ showcase: {
41
+ route: "/components/sg-input-email",
42
+ hasPlayground: true,
43
+ hasPropsTable: true
44
+ },
45
+ sdui: {
46
+ rendererType: "field.email",
47
+ acceptsDataBinding: true,
48
+ defaultProps: {
49
+ clearButton: true,
50
+ labelPosition: "float",
51
+ blockFakeMail: true,
52
+ validateOnBlur: true
53
+ }
54
+ }
55
+ };
56
+ export const aiHints = {
57
+ version: "0.1",
58
+ preferredUseCases: [
59
+ "Captura de email de contato, login ou notificacao.",
60
+ "Formularios com validacao de formato de email.",
61
+ "Campos que precisam bloquear dominios temporarios ou descartaveis."
62
+ ],
63
+ avoidUseCases: [
64
+ "Texto livre ou identificadores genericos; nesses casos prefira SgInputText.",
65
+ "Telefone ou outros contatos nao estruturados.",
66
+ "Senhas, OTPs ou selecoes estruturadas."
67
+ ],
68
+ synonyms: ["email", "email input", "mail field", "contact email"],
69
+ relatedEntityFields: ["email", "contactEmail", "login", "usernameEmail", "notificationEmail"],
70
+ compositionHints: [
71
+ "Combinar com SgInputPassword em autenticacao e login.",
72
+ "Usar com SgInputPhone e SgButton em formularios de contato."
73
+ ],
74
+ rankingSignals: {
75
+ freeText: 0.7,
76
+ structuredChoice: 0,
77
+ date: 0,
78
+ number: 0,
79
+ denseLayout: 0.7
80
+ }
81
+ };
@@ -0,0 +1,4 @@
1
+ import type { SgAiHintsV0, SgMetaV0 } from "../ai-meta/types";
2
+ export declare const sgMeta: SgMetaV0;
3
+ export declare const aiHints: SgAiHintsV0;
4
+ //# sourceMappingURL=SgInputNumber.meta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SgInputNumber.meta.d.ts","sourceRoot":"","sources":["../../src/inputs/SgInputNumber.meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE9D,eAAO,MAAM,MAAM,EAAE,QA+GpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WAyBrB,CAAC"}
@@ -0,0 +1,137 @@
1
+ export const sgMeta = {
2
+ version: "0.1",
3
+ componentId: "form.input.number",
4
+ package: "@seedgrid/fe-components",
5
+ exportName: "SgInputNumber",
6
+ slug: "sg-input-number",
7
+ displayName: "SgInputNumber",
8
+ category: "input",
9
+ subcategory: "number",
10
+ description: "Campo numerico com suporte a valores inteiros e decimais, validacao de limites e integracao com react-hook-form.",
11
+ tags: ["form", "number", "numeric", "rhf"],
12
+ capabilities: ["rhf", "controlled", "validation", "min-max", "decimal", "clearable"],
13
+ fieldSemantics: ["number", "integer", "decimal", "quantity", "measurement"],
14
+ props: [
15
+ {
16
+ name: "id",
17
+ type: "string",
18
+ required: true,
19
+ description: "Identificador unico do campo numerico.",
20
+ semanticRole: "data",
21
+ bindable: false
22
+ },
23
+ {
24
+ name: "name",
25
+ type: "string",
26
+ description: "Nome do campo para formularios.",
27
+ semanticRole: "data",
28
+ bindable: true
29
+ },
30
+ {
31
+ name: "label",
32
+ type: "string",
33
+ description: "Rotulo principal exibido ao usuario.",
34
+ semanticRole: "label",
35
+ bindable: true
36
+ },
37
+ {
38
+ name: "required",
39
+ type: "boolean",
40
+ default: false,
41
+ description: "Marca o campo como obrigatorio.",
42
+ semanticRole: "validation",
43
+ bindable: true
44
+ },
45
+ {
46
+ name: "min",
47
+ type: "number",
48
+ description: "Valor minimo aceito.",
49
+ semanticRole: "validation",
50
+ bindable: true
51
+ },
52
+ {
53
+ name: "max",
54
+ type: "number",
55
+ description: "Valor maximo aceito.",
56
+ semanticRole: "validation",
57
+ bindable: true
58
+ },
59
+ {
60
+ name: "decimals",
61
+ type: "number",
62
+ description: "Quantidade de casas decimais permitidas.",
63
+ semanticRole: "behavior",
64
+ bindable: true
65
+ },
66
+ {
67
+ name: "readOnly",
68
+ type: "boolean",
69
+ default: false,
70
+ description: "Impede edicao mantendo leitura e foco.",
71
+ semanticRole: "appearance",
72
+ bindable: true
73
+ },
74
+ {
75
+ name: "onChange",
76
+ type: "(value: number | null) => void",
77
+ description: "Callback com o valor numerico atual.",
78
+ semanticRole: "event",
79
+ bindable: false
80
+ }
81
+ ],
82
+ states: ["default", "focused", "disabled", "readOnly", "error"],
83
+ examples: [
84
+ {
85
+ id: "basic",
86
+ title: "Basico",
87
+ file: "apps/showcase/src/app/components/sg-input-number/samples/basico.tsx.sample",
88
+ kind: "sample"
89
+ },
90
+ {
91
+ id: "playground",
92
+ title: "Playground",
93
+ file: "apps/showcase/src/app/components/sg-input-number/sg-input-number.tsx.playground",
94
+ kind: "playground"
95
+ }
96
+ ],
97
+ showcase: {
98
+ route: "/components/sg-input-number",
99
+ hasPlayground: true,
100
+ hasPropsTable: true
101
+ },
102
+ sdui: {
103
+ rendererType: "field.number",
104
+ acceptsDataBinding: true,
105
+ defaultProps: {
106
+ clearButton: true,
107
+ labelPosition: "float",
108
+ validateOnBlur: true
109
+ }
110
+ }
111
+ };
112
+ export const aiHints = {
113
+ version: "0.1",
114
+ preferredUseCases: [
115
+ "Captura de quantidades, medidas, percentuais e outros valores numericos genericos.",
116
+ "Campos que exigem validacao numerica com limites minimos e maximos.",
117
+ "Entradas inteiras ou decimais em formularios CRUD."
118
+ ],
119
+ avoidUseCases: [
120
+ "Texto livre ou descricoes; nesses casos prefira SgInputText ou SgInputTextArea.",
121
+ "Valores monetarios; nesses casos prefira SgInputCurrency.",
122
+ "Datas e horas; nesses casos prefira SgInputDate."
123
+ ],
124
+ synonyms: ["number input", "numeric field", "quantity input", "decimal input"],
125
+ relatedEntityFields: ["quantity", "amount", "percentage", "weight", "height", "score"],
126
+ compositionHints: [
127
+ "Combinar com SgButton em formularios de calculo ou cadastro.",
128
+ "Usar dentro de SgPanel ou SgGroupBox para secoes de dados numericos."
129
+ ],
130
+ rankingSignals: {
131
+ freeText: 0,
132
+ structuredChoice: 0.1,
133
+ date: 0,
134
+ number: 0.95,
135
+ denseLayout: 0.75
136
+ }
137
+ };
@@ -438,7 +438,7 @@ const SgInputOTPBase = React.forwardRef(function SgInputOTPBase(props, ref) {
438
438
  }, [inputRef]);
439
439
  const labelText = label ?? "";
440
440
  const firstSlotId = `${id}-slot-0`;
441
- return (_jsxs("div", { className: className, style: { width: toCssSize(width) }, children: [labelText ? (_jsxs("label", { htmlFor: firstSlotId, className: "mb-2 block text-sm font-medium text-foreground/80", children: [labelText, required ? (_jsx("span", { className: "ml-1 text-[hsl(var(--destructive))]", "aria-hidden": "true", children: "*" })) : null] })) : null, _jsx("div", { className: groupClassName ?? "inline-flex items-center gap-2", onFocusCapture: handleGroupFocusCapture, onBlurCapture: handleGroupBlurCapture, role: "group", "aria-label": labelText || t(i18n, "components.inputs.otp.group"), "aria-invalid": hasError || undefined, children: tokens.map((token, tokenIndex) => {
441
+ return (_jsxs("div", { className: className, style: { width: toCssSize(width) }, children: [labelText ? (_jsxs("label", { htmlFor: firstSlotId, className: "mb-2 block text-sm font-medium text-foreground/80", children: [labelText, required ? (_jsx("span", { className: "ml-1 text-[hsl(var(--destructive))]", "aria-hidden": "true", children: "*" })) : null] })) : null, _jsx("div", { className: groupClassName ? `inline-flex items-center gap-2 ${groupClassName}` : "inline-flex items-center gap-2", onFocusCapture: handleGroupFocusCapture, onBlurCapture: handleGroupBlurCapture, role: "group", "aria-label": labelText || t(i18n, "components.inputs.otp.group"), "aria-invalid": hasError || undefined, children: tokens.map((token, tokenIndex) => {
442
442
  if (token.type === "separator") {
443
443
  return (_jsx("span", { className: separatorClassName ??
444
444
  "select-none px-1 text-lg font-semibold leading-none text-foreground/60", "aria-hidden": "true", children: token.value }, `${id}-separator-${tokenIndex}`));
@@ -0,0 +1,4 @@
1
+ import type { SgAiHintsV0, SgMetaV0 } from "../ai-meta/types";
2
+ export declare const sgMeta: SgMetaV0;
3
+ export declare const aiHints: SgAiHintsV0;
4
+ //# sourceMappingURL=SgInputOTP.meta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SgInputOTP.meta.d.ts","sourceRoot":"","sources":["../../src/inputs/SgInputOTP.meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE9D,eAAO,MAAM,MAAM,EAAE,QAsDpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WAyBrB,CAAC"}