@seedgrid/fe-components 2026.10.1 → 2026.10.2

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.
@@ -3043,15 +3043,15 @@
3043
3043
  },
3044
3044
  {
3045
3045
  "name": "rows",
3046
- "type": "SgDatatableRow[]",
3046
+ "type": "number",
3047
3047
  "required": false,
3048
- "description": "Linhas exibidas na tabela.",
3049
- "semanticRole": "value",
3048
+ "description": "Linhas por pagina quando a paginacao esta ativa (os dados vao em value).",
3049
+ "semanticRole": "behavior",
3050
3050
  "bindable": true
3051
3051
  },
3052
3052
  {
3053
3053
  "name": "selectionMode",
3054
- "type": "string",
3054
+ "type": "\"single\" | \"multiple\"",
3055
3055
  "required": false,
3056
3056
  "description": "Modo de selecao de linhas.",
3057
3057
  "semanticRole": "behavior",
@@ -4038,7 +4038,7 @@
4038
4038
  },
4039
4039
  {
4040
4040
  "name": "onChange",
4041
- "type": "(value: number | null) => void",
4041
+ "type": "(value: string) => void",
4042
4042
  "required": false,
4043
4043
  "description": "Callback com o valor numerico atual.",
4044
4044
  "semanticRole": "event",
@@ -4354,7 +4354,7 @@
4354
4354
  },
4355
4355
  {
4356
4356
  "name": "onChange",
4357
- "type": "(value: number | null) => void",
4357
+ "type": "(value: string) => void",
4358
4358
  "required": false,
4359
4359
  "description": "Callback com o valor monetario normalizado.",
4360
4360
  "semanticRole": "event",
@@ -4718,7 +4718,7 @@
4718
4718
  },
4719
4719
  {
4720
4720
  "name": "onChange",
4721
- "type": "(value: string | null) => void",
4721
+ "type": "(value: string) => void",
4722
4722
  "required": false,
4723
4723
  "description": "Callback com a data selecionada ou digitada.",
4724
4724
  "semanticRole": "event",
@@ -7418,7 +7418,7 @@
7418
7418
  },
7419
7419
  {
7420
7420
  "name": "selectionMode",
7421
- "type": "string",
7421
+ "type": "\"single\" | \"multiple\"",
7422
7422
  "required": false,
7423
7423
  "description": "Modo de selecao nas listas.",
7424
7424
  "semanticRole": "behavior",
@@ -7900,7 +7900,7 @@
7900
7900
  },
7901
7901
  {
7902
7902
  "name": "size",
7903
- "type": "string",
7903
+ "type": "\"sm\" | \"md\" | \"lg\" | \"xl\"",
7904
7904
  "required": false,
7905
7905
  "description": "Tamanho visual do controle.",
7906
7906
  "semanticRole": "appearance",
@@ -7908,7 +7908,7 @@
7908
7908
  },
7909
7909
  {
7910
7910
  "name": "onChange",
7911
- "type": "(value: number | null) => void",
7911
+ "type": "(value: number) => void",
7912
7912
  "required": false,
7913
7913
  "description": "Callback de mudanca.",
7914
7914
  "semanticRole": "event",
@@ -8476,7 +8476,7 @@
8476
8476
  },
8477
8477
  {
8478
8478
  "name": "height",
8479
- "type": "number | string",
8479
+ "type": "number",
8480
8480
  "required": false,
8481
8481
  "description": "Altura do editor.",
8482
8482
  "semanticRole": "appearance",
@@ -8484,7 +8484,7 @@
8484
8484
  },
8485
8485
  {
8486
8486
  "name": "onSave",
8487
- "type": "(meta: SgTextEditorSaveMeta) => void",
8487
+ "type": "(file: File, meta: SgTextEditorSaveMeta) => void",
8488
8488
  "required": false,
8489
8489
  "description": "Callback de persistencia do conteudo.",
8490
8490
  "semanticRole": "event",
@@ -9393,7 +9393,7 @@
9393
9393
  },
9394
9394
  {
9395
9395
  "name": "position",
9396
- "type": "\"bottom-right\" | \"bottom-left\" | \"top-right\" | \"top-left\"",
9396
+ "type": "\"left-top\" | \"left-center\" | \"left-bottom\" | \"center-top\" | \"center-bottom\" | \"right-top\" | \"right-center\" | \"right-bottom\"",
9397
9397
  "required": false,
9398
9398
  "default": "bottom-right",
9399
9399
  "description": "Posicao do FAB na area visivel.",
@@ -9410,7 +9410,7 @@
9410
9410
  },
9411
9411
  {
9412
9412
  "name": "severity",
9413
- "type": "\"primary\" | \"secondary\" | \"success\" | \"info\" | \"warning\" | \"help\" | \"danger\"",
9413
+ "type": "\"primary\" | \"secondary\" | \"success\" | \"info\" | \"warning\" | \"help\" | \"danger\" | \"plain\"",
9414
9414
  "required": false,
9415
9415
  "default": "primary",
9416
9416
  "description": "Peso visual da acao flutuante.",
@@ -9659,7 +9659,7 @@
9659
9659
  "props": [
9660
9660
  {
9661
9661
  "name": "label",
9662
- "type": "ReactNode",
9662
+ "type": "string",
9663
9663
  "required": false,
9664
9664
  "description": "Conteudo textual principal da acao.",
9665
9665
  "semanticRole": "label",
@@ -13019,7 +13019,7 @@
13019
13019
  },
13020
13020
  {
13021
13021
  "name": "activeIndex",
13022
- "type": "number[]",
13022
+ "type": "number | number[]",
13023
13023
  "required": false,
13024
13024
  "description": "Estado controlado dos paineis abertos.",
13025
13025
  "semanticRole": "value",
@@ -13027,7 +13027,7 @@
13027
13027
  },
13028
13028
  {
13029
13029
  "name": "defaultActiveIndex",
13030
- "type": "number[]",
13030
+ "type": "number | number[]",
13031
13031
  "required": false,
13032
13032
  "description": "Estado inicial dos paineis abertos.",
13033
13033
  "semanticRole": "behavior",
@@ -13465,7 +13465,7 @@
13465
13465
  },
13466
13466
  {
13467
13467
  "name": "onClick",
13468
- "type": "() => void",
13468
+ "type": "React.MouseEventHandler<HTMLElement>",
13469
13469
  "required": false,
13470
13470
  "description": "Callback disparado quando o card e acionado.",
13471
13471
  "semanticRole": "event",
@@ -14979,7 +14979,7 @@
14979
14979
  },
14980
14980
  {
14981
14981
  "name": "menuVariantStyle",
14982
- "type": "\"panel\" | \"tiered\" | \"mega-horizontal\" | \"mega-vertical\"",
14982
+ "type": "\"panel\" | \"tiered\" | \"mega-horizontal\" | \"mega-vertical\" | \"PanelMenu\" | \"Tiered\" | \"MegaMenuHorizontal\" | \"MegaMenuVertical\"",
14983
14983
  "required": false,
14984
14984
  "default": "panel",
14985
14985
  "description": "Variante visual e comportamental do menu.",
@@ -15427,7 +15427,7 @@
15427
15427
  },
15428
15428
  {
15429
15429
  "name": "onActivePageIdChange",
15430
- "type": "(pageId: string, context: object) => void",
15430
+ "type": "(pageId: string, context: { index: number; page: SgPageControlPageProps }) => void",
15431
15431
  "required": false,
15432
15432
  "description": "Callback disparado quando a pagina ativa muda.",
15433
15433
  "semanticRole": "event",
@@ -15769,7 +15769,7 @@
15769
15769
  },
15770
15770
  {
15771
15771
  "name": "width",
15772
- "type": "number | string",
15772
+ "type": "number | `${number}%`",
15773
15773
  "required": false,
15774
15774
  "description": "Largura do painel quando dockado ou usado em composicoes controladas.",
15775
15775
  "semanticRole": "behavior",
@@ -15777,7 +15777,7 @@
15777
15777
  },
15778
15778
  {
15779
15779
  "name": "height",
15780
- "type": "number | string",
15780
+ "type": "number | `${number}%`",
15781
15781
  "required": false,
15782
15782
  "description": "Altura do painel quando dockado ou usado em composicoes controladas.",
15783
15783
  "semanticRole": "behavior",
@@ -20011,7 +20011,7 @@
20011
20011
  },
20012
20012
  {
20013
20013
  "name": "stringAnimatorStyle",
20014
- "type": "\"roller3d\" | \"flip\" | \"neon\" | \"fade\" | \"matrix\" | \"discard\" | \"segment\" | \"sevenSegment\"",
20014
+ "type": "\"roller3d\" | \"flip\" | \"neon\" | \"fade\" | \"discard\" | \"matrix\"",
20015
20015
  "required": false,
20016
20016
  "default": "roller3d",
20017
20017
  "description": "Estilo visual usado na transicao.",
@@ -20020,7 +20020,7 @@
20020
20020
  },
20021
20021
  {
20022
20022
  "name": "alignTo",
20023
- "type": "\"left\" | \"center\" | \"right\"",
20023
+ "type": "\"left\" | \"right\"",
20024
20024
  "required": false,
20025
20025
  "default": "left",
20026
20026
  "description": "Alinhamento do texto animado.",
@@ -29,7 +29,7 @@ export const sgMeta = {
29
29
  },
30
30
  {
31
31
  name: "position",
32
- type: '"bottom-right" | "bottom-left" | "top-right" | "top-left"',
32
+ type: "\"left-top\" | \"left-center\" | \"left-bottom\" | \"center-top\" | \"center-bottom\" | \"right-top\" | \"right-center\" | \"right-bottom\"",
33
33
  default: "bottom-right",
34
34
  description: "Posicao do FAB na area visivel.",
35
35
  semanticRole: "behavior",
@@ -44,7 +44,7 @@ export const sgMeta = {
44
44
  },
45
45
  {
46
46
  name: "severity",
47
- type: '"primary" | "secondary" | "success" | "info" | "warning" | "help" | "danger"',
47
+ type: "\"primary\" | \"secondary\" | \"success\" | \"info\" | \"warning\" | \"help\" | \"danger\" | \"plain\"",
48
48
  default: "primary",
49
49
  description: "Peso visual da acao flutuante.",
50
50
  semanticRole: "appearance",
@@ -14,7 +14,7 @@ export const sgMeta = {
14
14
  props: [
15
15
  {
16
16
  name: "label",
17
- type: "ReactNode",
17
+ type: "string",
18
18
  description: "Conteudo textual principal da acao.",
19
19
  semanticRole: "label",
20
20
  bindable: true
@@ -14,8 +14,8 @@ export const sgMeta = {
14
14
  props: [
15
15
  { name: "sourceString", type: "string", required: true, description: "Texto inicial da animacao.", semanticRole: "value", bindable: true },
16
16
  { name: "targetString", type: "string", required: true, description: "Texto final da animacao.", semanticRole: "value", bindable: true },
17
- { name: "stringAnimatorStyle", type: '"roller3d" | "flip" | "neon" | "fade" | "matrix" | "discard" | "segment" | "sevenSegment"', default: "roller3d", description: "Estilo visual usado na transicao.", semanticRole: "appearance", bindable: true },
18
- { name: "alignTo", type: '"left" | "center" | "right"', default: "left", description: "Alinhamento do texto animado.", semanticRole: "appearance", bindable: true },
17
+ { name: "stringAnimatorStyle", type: "\"roller3d\" | \"flip\" | \"neon\" | \"fade\" | \"discard\" | \"matrix\"", default: "roller3d", description: "Estilo visual usado na transicao.", semanticRole: "appearance", bindable: true },
18
+ { name: "alignTo", type: "\"left\" | \"right\"", default: "left", description: "Alinhamento do texto animado.", semanticRole: "appearance", bindable: true },
19
19
  { name: "fontSize", type: "number", default: 28, description: "Escala visual do display.", semanticRole: "appearance", bindable: true }
20
20
  ],
21
21
  states: ["idle", "animating", "completed"],
@@ -14,8 +14,8 @@ export const sgMeta = {
14
14
  props: [
15
15
  { name: "id", type: "string", description: "Identificador da tabela usado para DOM e persistencia do layout de colunas.", semanticRole: "data", bindable: true },
16
16
  { name: "columns", type: "SgDatatableColumn[]", description: "Definicao das colunas da tabela.", semanticRole: "data", bindable: true },
17
- { name: "rows", type: "SgDatatableRow[]", description: "Linhas exibidas na tabela.", semanticRole: "value", bindable: true },
18
- { name: "selectionMode", type: "string", description: "Modo de selecao de linhas.", semanticRole: "behavior", bindable: true },
17
+ { name: "rows", type: "number", description: "Linhas por pagina quando a paginacao esta ativa (os dados vao em value).", semanticRole: "behavior", bindable: true },
18
+ { name: "selectionMode", type: "\"single\" | \"multiple\"", description: "Modo de selecao de linhas.", semanticRole: "behavior", bindable: true },
19
19
  { name: "loading", type: "boolean", default: false, description: "Indica estado de carregamento.", semanticRole: "appearance", bindable: true },
20
20
  { name: "paginator", type: "boolean", default: false, description: "Ativa paginacao.", semanticRole: "behavior", bindable: true },
21
21
  { name: "onPage", type: "(event: SgDatatablePageEvent) => void", description: "Callback de paginacao.", semanticRole: "event", bindable: false },
@@ -51,7 +51,7 @@ export const sgMeta = {
51
51
  },
52
52
  {
53
53
  name: "onChange",
54
- type: "(value: number | null) => void",
54
+ type: "(value: string) => void",
55
55
  description: "Callback com o valor monetario normalizado.",
56
56
  semanticRole: "event",
57
57
  bindable: false
@@ -73,7 +73,7 @@ export const sgMeta = {
73
73
  },
74
74
  {
75
75
  name: "onChange",
76
- type: "(value: string | null) => void",
76
+ type: "(value: string) => void",
77
77
  description: "Callback com a data selecionada ou digitada.",
78
78
  semanticRole: "event",
79
79
  bindable: false
@@ -59,7 +59,7 @@ export const sgMeta = {
59
59
  },
60
60
  {
61
61
  name: "onChange",
62
- type: "(value: number | null) => void",
62
+ type: "(value: string) => void",
63
63
  description: "Callback com o valor numerico atual.",
64
64
  semanticRole: "event",
65
65
  bindable: false
@@ -14,7 +14,7 @@ export const sgMeta = {
14
14
  props: [
15
15
  { name: "id", type: "string", description: "Identificador unico do componente.", semanticRole: "data", bindable: false },
16
16
  { name: "value", type: "SgPickListValue", description: "Estado atual das listas.", semanticRole: "value", bindable: true },
17
- { name: "selectionMode", type: "string", description: "Modo de selecao nas listas.", semanticRole: "behavior", bindable: true },
17
+ { name: "selectionMode", type: "\"single\" | \"multiple\"", description: "Modo de selecao nas listas.", semanticRole: "behavior", bindable: true },
18
18
  { name: "disabled", type: "boolean", default: false, description: "Desabilita interacao.", semanticRole: "behavior", bindable: true },
19
19
  { name: "onChange", type: "(event: SgPickListChangeEvent) => void", description: "Callback ao mover itens.", semanticRole: "event", bindable: false }
20
20
  ],
@@ -17,8 +17,8 @@ export const sgMeta = {
17
17
  { name: "value", type: "number", description: "Nota atual.", semanticRole: "value", bindable: true },
18
18
  { name: "readOnly", type: "boolean", default: false, description: "Impede alteracao da nota.", semanticRole: "behavior", bindable: true },
19
19
  { name: "disabled", type: "boolean", default: false, description: "Desabilita interacao.", semanticRole: "behavior", bindable: true },
20
- { name: "size", type: "string", description: "Tamanho visual do controle.", semanticRole: "appearance", bindable: true },
21
- { name: "onChange", type: "(value: number | null) => void", description: "Callback de mudanca.", semanticRole: "event", bindable: false }
20
+ { name: "size", type: "\"sm\" | \"md\" | \"lg\" | \"xl\"", description: "Tamanho visual do controle.", semanticRole: "appearance", bindable: true },
21
+ { name: "onChange", type: "(value: number) => void", description: "Callback de mudanca.", semanticRole: "event", bindable: false }
22
22
  ],
23
23
  states: ["default", "disabled", "readOnly", "error"],
24
24
  showcase: { route: "/components/sg-rating", hasPlayground: true, hasPropsTable: true },
@@ -14,8 +14,8 @@ export const sgMeta = {
14
14
  props: [
15
15
  { name: "id", type: "string", description: "Identificador unico do editor.", semanticRole: "data", bindable: false },
16
16
  { name: "placeholder", type: "string", description: "Texto de ajuda inicial.", semanticRole: "appearance", bindable: true },
17
- { name: "height", type: "number | string", description: "Altura do editor.", semanticRole: "appearance", bindable: true },
18
- { name: "onSave", type: "(meta: SgTextEditorSaveMeta) => void", description: "Callback de persistencia do conteudo.", semanticRole: "event", bindable: false }
17
+ { name: "height", type: "number", description: "Altura do editor.", semanticRole: "appearance", bindable: true },
18
+ { name: "onSave", type: "(file: File, meta: SgTextEditorSaveMeta) => void", description: "Callback de persistencia do conteudo.", semanticRole: "event", bindable: false }
19
19
  ],
20
20
  states: ["default", "readOnly", "disabled", "error"],
21
21
  showcase: { route: "/components/sg-text-editor", hasPlayground: true, hasPropsTable: true },
@@ -46,14 +46,14 @@ export const sgMeta = {
46
46
  },
47
47
  {
48
48
  name: "activeIndex",
49
- type: "number[]",
49
+ type: "number | number[]",
50
50
  description: "Estado controlado dos paineis abertos.",
51
51
  semanticRole: "value",
52
52
  bindable: true
53
53
  },
54
54
  {
55
55
  name: "defaultActiveIndex",
56
- type: "number[]",
56
+ type: "number | number[]",
57
57
  description: "Estado inicial dos paineis abertos.",
58
58
  semanticRole: "behavior",
59
59
  bindable: true
@@ -68,7 +68,7 @@ export const sgMeta = {
68
68
  },
69
69
  {
70
70
  name: "onClick",
71
- type: "() => void",
71
+ type: "React.MouseEventHandler<HTMLElement>",
72
72
  description: "Callback disparado quando o card e acionado.",
73
73
  semanticRole: "event",
74
74
  bindable: false
@@ -37,7 +37,7 @@ export const sgMeta = {
37
37
  },
38
38
  {
39
39
  name: "menuVariantStyle",
40
- type: '"panel" | "tiered" | "mega-horizontal" | "mega-vertical"',
40
+ type: "\"panel\" | \"tiered\" | \"mega-horizontal\" | \"mega-vertical\" | \"PanelMenu\" | \"Tiered\" | \"MegaMenuHorizontal\" | \"MegaMenuVertical\"",
41
41
  default: "panel",
42
42
  description: "Variante visual e comportamental do menu.",
43
43
  semanticRole: "behavior",
@@ -20,7 +20,7 @@ export const sgMeta = {
20
20
  { name: "size", type: '"sm" | "md" | "lg"', default: "md", description: "Escala visual das abas.", semanticRole: "appearance", bindable: true },
21
21
  { name: "fullWidthTabs", type: "boolean", default: false, description: "Distribui as abas em larguras iguais a partir do tablet; no celular elas mantem a largura natural e a lista rola.", semanticRole: "appearance", bindable: true },
22
22
  { name: "mobilePageControl", type: '"scroll" | "select"', default: "scroll", description: "Comportamento no celular: rolagem horizontal das abas ou troca por um select nativo.", semanticRole: "behavior", bindable: true },
23
- { name: "onActivePageIdChange", type: "(pageId: string, context: object) => void", description: "Callback disparado quando a pagina ativa muda.", semanticRole: "event", bindable: false }
23
+ { name: "onActivePageIdChange", type: "(pageId: string, context: { index: number; page: SgPageControlPageProps }) => void", description: "Callback disparado quando a pagina ativa muda.", semanticRole: "event", bindable: false }
24
24
  ],
25
25
  states: ["default", "controlled", "keyboard-navigation"],
26
26
  examples: [
@@ -22,14 +22,14 @@ export const sgMeta = {
22
22
  },
23
23
  {
24
24
  name: "width",
25
- type: "number | string",
25
+ type: "number | `${number}%`",
26
26
  description: "Largura do painel quando dockado ou usado em composicoes controladas.",
27
27
  semanticRole: "behavior",
28
28
  bindable: true
29
29
  },
30
30
  {
31
31
  name: "height",
32
- type: "number | string",
32
+ type: "number | `${number}%`",
33
33
  description: "Altura do painel quando dockado ou usado em composicoes controladas.",
34
34
  semanticRole: "behavior",
35
35
  bindable: true
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seedgrid/fe-components",
3
- "version": "2026.10.1",
3
+ "version": "2026.10.2",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "repository": {
@@ -69,7 +69,7 @@
69
69
  "tailwindcss-animate": "^1.0.7",
70
70
  "postcss": "^8.4.45",
71
71
  "autoprefixer": "^10.4.20",
72
- "@seedgrid/fe-theme": "2026.10.1"
72
+ "@seedgrid/fe-theme": "2026.10.2"
73
73
  },
74
74
  "dependencies": {
75
75
  "@pqina/flip": "^1.8.4",
@@ -82,6 +82,6 @@
82
82
  "build:sandbox": "tsup --config tsup.sandbox.config.ts",
83
83
  "dev": "node scripts/build-style.mjs && tsc -p tsconfig.json --watch --preserveWatchOutput",
84
84
  "typecheck": "tsc -p tsconfig.json --noEmit",
85
- "test": "pnpm run build && node --test tests/i18n.test.mjs tests/rhf.test.mjs tests/rhf-components-contract.test.mjs tests/i18n-components-contract.test.mjs tests/providers-hooks.test.mjs tests/providers-hooks-dom.test.mjs tests/realtime-dom.test.mjs tests/commons.test.mjs tests/commons-dom.test.mjs tests/overlay.test.mjs tests/buttons-menus.test.mjs tests/buttons-menus-dom.test.mjs tests/menu-logic.test.mjs tests/inputs-i18n.test.mjs tests/inputs-dom.test.mjs tests/datatable-dom.test.mjs tests/period-resolver.test.mjs tests/year-part-resolver.test.mjs tests/gadgets.test.mjs tests/gadgets-dom.test.mjs tests/gauge-math.test.mjs tests/clock-theme-picker.test.mjs tests/wizard.test.mjs tests/wizard-logic.test.mjs tests/utils.test.mjs tests/ai-manifest-props-contract.test.mjs"
85
+ "test": "pnpm run build && node scripts/check-meta-types.mjs && node --test tests/i18n.test.mjs tests/rhf.test.mjs tests/rhf-components-contract.test.mjs tests/i18n-components-contract.test.mjs tests/providers-hooks.test.mjs tests/providers-hooks-dom.test.mjs tests/realtime-dom.test.mjs tests/commons.test.mjs tests/commons-dom.test.mjs tests/overlay.test.mjs tests/buttons-menus.test.mjs tests/buttons-menus-dom.test.mjs tests/menu-logic.test.mjs tests/inputs-i18n.test.mjs tests/inputs-dom.test.mjs tests/datatable-dom.test.mjs tests/period-resolver.test.mjs tests/year-part-resolver.test.mjs tests/gadgets.test.mjs tests/gadgets-dom.test.mjs tests/gauge-math.test.mjs tests/clock-theme-picker.test.mjs tests/wizard.test.mjs tests/wizard-logic.test.mjs tests/utils.test.mjs tests/ai-manifest-props-contract.test.mjs"
86
86
  }
87
87
  }