@seedgrid/fe-components 2026.4.18 → 2026.4.20
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.
- package/dist/ai/seedgrid-components.manifest.json +5231 -3622
- package/dist/commons/dismissSgToast.meta.d.ts +4 -0
- package/dist/commons/dismissSgToast.meta.d.ts.map +1 -0
- package/dist/commons/dismissSgToast.meta.js +69 -0
- package/dist/commons/dismissSgWhistle.meta.d.ts +4 -0
- package/dist/commons/dismissSgWhistle.meta.d.ts.map +1 -0
- package/dist/commons/dismissSgWhistle.meta.js +69 -0
- package/dist/commons/subscribeSgToasts.meta.d.ts +4 -0
- package/dist/commons/subscribeSgToasts.meta.d.ts.map +1 -0
- package/dist/commons/subscribeSgToasts.meta.js +71 -0
- package/dist/commons/subscribeSgWhistles.meta.d.ts +4 -0
- package/dist/commons/subscribeSgWhistles.meta.d.ts.map +1 -0
- package/dist/commons/subscribeSgWhistles.meta.js +71 -0
- package/dist/commons/toast.meta.d.ts +4 -0
- package/dist/commons/toast.meta.d.ts.map +1 -0
- package/dist/commons/toast.meta.js +138 -0
- package/dist/commons/whistle.meta.d.ts +4 -0
- package/dist/commons/whistle.meta.d.ts.map +1 -0
- package/dist/commons/whistle.meta.js +166 -0
- package/dist/environment/useSgEnvironment.meta.d.ts +4 -0
- package/dist/environment/useSgEnvironment.meta.d.ts.map +1 -0
- package/dist/environment/useSgEnvironment.meta.js +96 -0
- package/dist/environment/useSgNamespaceProvider.meta.d.ts +4 -0
- package/dist/environment/useSgNamespaceProvider.meta.d.ts.map +1 -0
- package/dist/environment/useSgNamespaceProvider.meta.js +62 -0
- package/dist/environment/useSgPersistence.meta.d.ts +4 -0
- package/dist/environment/useSgPersistence.meta.d.ts.map +1 -0
- package/dist/environment/useSgPersistence.meta.js +111 -0
- package/dist/environment/useSgPersistentState.meta.d.ts +4 -0
- package/dist/environment/useSgPersistentState.meta.d.ts.map +1 -0
- package/dist/environment/useSgPersistentState.meta.js +114 -0
- package/dist/gadgets/clock/themes/useSgClockThemeResolver.meta.d.ts +4 -0
- package/dist/gadgets/clock/themes/useSgClockThemeResolver.meta.d.ts.map +1 -0
- package/dist/gadgets/clock/themes/useSgClockThemeResolver.meta.js +83 -0
- package/dist/gadgets/clock/useSgTime.meta.d.ts +4 -0
- package/dist/gadgets/clock/useSgTime.meta.d.ts.map +1 -0
- package/dist/gadgets/clock/useSgTime.meta.js +83 -0
- package/dist/i18n/useComponentsI18n.meta.d.ts +4 -0
- package/dist/i18n/useComponentsI18n.meta.d.ts.map +1 -0
- package/dist/i18n/useComponentsI18n.meta.js +76 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dismissSgToast.meta.d.ts","sourceRoot":"","sources":["../../src/commons/dismissSgToast.meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE9D,eAAO,MAAM,MAAM,EAAE,QA2CpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WAyBrB,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
export const sgMeta = {
|
|
2
|
+
version: "0.1",
|
|
3
|
+
componentId: "hook.dismiss-toast",
|
|
4
|
+
package: "@seedgrid/fe-components",
|
|
5
|
+
exportName: "dismissSgToast",
|
|
6
|
+
slug: "dismiss-sg-toast",
|
|
7
|
+
displayName: "dismissSgToast",
|
|
8
|
+
category: "hook",
|
|
9
|
+
subcategory: "notification",
|
|
10
|
+
description: "Funcao para fechar/remover um toast especifico ou todos os toasts. Complementa a funcao toast() para controle programatico.",
|
|
11
|
+
tags: ["hook", "toast", "notification", "dismiss"],
|
|
12
|
+
capabilities: ["dismiss-specific", "dismiss-all", "programmatic-control"],
|
|
13
|
+
fieldSemantics: ["dismissal", "notificationControl", "cleanup"],
|
|
14
|
+
props: [
|
|
15
|
+
{
|
|
16
|
+
name: "id",
|
|
17
|
+
type: "SgToastId | undefined",
|
|
18
|
+
description: "ID do toast a fechar. Se undefined, fecha todos os toasts.",
|
|
19
|
+
semanticRole: "data",
|
|
20
|
+
bindable: false
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
states: ["dismissed", "all-dismissed"],
|
|
24
|
+
examples: [
|
|
25
|
+
{
|
|
26
|
+
id: "dismiss-one",
|
|
27
|
+
title: "Fechar um toast especifico",
|
|
28
|
+
file: "apps/showcase/src/app/components/toasts/samples/dismiss-one.tsx.sample",
|
|
29
|
+
kind: "sample"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
id: "dismiss-all",
|
|
33
|
+
title: "Fechar todos os toasts",
|
|
34
|
+
file: "apps/showcase/src/app/components/toasts/samples/dismiss-all.tsx.sample",
|
|
35
|
+
kind: "sample"
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
showcase: {
|
|
39
|
+
route: "/components/toasts",
|
|
40
|
+
hasPlayground: true,
|
|
41
|
+
hasPropsTable: true
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
export const aiHints = {
|
|
45
|
+
version: "0.1",
|
|
46
|
+
preferredUseCases: [
|
|
47
|
+
"Fechar um toast especifico quando o usuario clica em uma acao.",
|
|
48
|
+
"Limpar todos os toasts quando o usuario sai da pagina ou sessao.",
|
|
49
|
+
"Controlar o ciclo de vida de toasts programaticamente."
|
|
50
|
+
],
|
|
51
|
+
avoidUseCases: [
|
|
52
|
+
"Fechar toasts cuja duracao ja expirou; o sistema faz isso automaticamente.",
|
|
53
|
+
"Usar sem ter disparado um toast antes; valide o ID."
|
|
54
|
+
],
|
|
55
|
+
synonyms: ["dismiss toast", "close notification", "clear toast"],
|
|
56
|
+
relatedEntityFields: ["dismiss", "close", "cleanup"],
|
|
57
|
+
compositionHints: [
|
|
58
|
+
"Chamar apos uma acao do usuario.",
|
|
59
|
+
"Usar em cleanup de componentes para fechar toasts orphos.",
|
|
60
|
+
"Guardar o ID retornado por toast() para dismissSgToast(id) posterior."
|
|
61
|
+
],
|
|
62
|
+
rankingSignals: {
|
|
63
|
+
freeText: 0.7,
|
|
64
|
+
structuredChoice: 0.5,
|
|
65
|
+
date: 0,
|
|
66
|
+
number: 0.2,
|
|
67
|
+
denseLayout: 0.3
|
|
68
|
+
}
|
|
69
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dismissSgWhistle.meta.d.ts","sourceRoot":"","sources":["../../src/commons/dismissSgWhistle.meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE9D,eAAO,MAAM,MAAM,EAAE,QA2CpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WAyBrB,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
export const sgMeta = {
|
|
2
|
+
version: "0.1",
|
|
3
|
+
componentId: "hook.dismiss-whistle",
|
|
4
|
+
package: "@seedgrid/fe-components",
|
|
5
|
+
exportName: "dismissSgWhistle",
|
|
6
|
+
slug: "dismiss-sg-whistle",
|
|
7
|
+
displayName: "dismissSgWhistle",
|
|
8
|
+
category: "hook",
|
|
9
|
+
subcategory: "notification",
|
|
10
|
+
description: "Funcao para fechar/remover um whistle especifico ou todos os whistles. Complementa sgWhistle() para controle programatico.",
|
|
11
|
+
tags: ["hook", "whistle", "notification", "dismiss"],
|
|
12
|
+
capabilities: ["dismiss-specific", "dismiss-all", "programmatic-control"],
|
|
13
|
+
fieldSemantics: ["dismissal", "notificationControl", "cleanup"],
|
|
14
|
+
props: [
|
|
15
|
+
{
|
|
16
|
+
name: "id",
|
|
17
|
+
type: "SgWhistleId | undefined",
|
|
18
|
+
description: "ID do whistle a fechar. Se undefined, fecha todos os whistles.",
|
|
19
|
+
semanticRole: "data",
|
|
20
|
+
bindable: false
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
states: ["dismissed", "all-dismissed"],
|
|
24
|
+
examples: [
|
|
25
|
+
{
|
|
26
|
+
id: "dismiss-one",
|
|
27
|
+
title: "Fechar um whistle especifico",
|
|
28
|
+
file: "apps/showcase/src/app/components/whistles/samples/dismiss-one.tsx.sample",
|
|
29
|
+
kind: "sample"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
id: "dismiss-all",
|
|
33
|
+
title: "Fechar todos os whistles",
|
|
34
|
+
file: "apps/showcase/src/app/components/whistles/samples/dismiss-all.tsx.sample",
|
|
35
|
+
kind: "sample"
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
showcase: {
|
|
39
|
+
route: "/components/whistles",
|
|
40
|
+
hasPlayground: true,
|
|
41
|
+
hasPropsTable: true
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
export const aiHints = {
|
|
45
|
+
version: "0.1",
|
|
46
|
+
preferredUseCases: [
|
|
47
|
+
"Fechar um whistle especifico quando o usuario clica em uma acao.",
|
|
48
|
+
"Limpar todos os whistles quando o usuario sai da pagina ou sessao.",
|
|
49
|
+
"Controlar o ciclo de vida de whistles programaticamente."
|
|
50
|
+
],
|
|
51
|
+
avoidUseCases: [
|
|
52
|
+
"Fechar whistles cuja duracao ja expirou; o sistema faz isso automaticamente.",
|
|
53
|
+
"Usar sem ter disparado um whistle antes; valide o ID."
|
|
54
|
+
],
|
|
55
|
+
synonyms: ["dismiss whistle", "close notification", "clear alert"],
|
|
56
|
+
relatedEntityFields: ["dismiss", "close", "cleanup"],
|
|
57
|
+
compositionHints: [
|
|
58
|
+
"Chamar apos uma acao do usuario.",
|
|
59
|
+
"Usar em cleanup de componentes para fechar whistles orphos.",
|
|
60
|
+
"Guardar o ID retornado por sgWhistle() para dismissSgWhistle(id) posterior."
|
|
61
|
+
],
|
|
62
|
+
rankingSignals: {
|
|
63
|
+
freeText: 0.7,
|
|
64
|
+
structuredChoice: 0.5,
|
|
65
|
+
date: 0,
|
|
66
|
+
number: 0.2,
|
|
67
|
+
denseLayout: 0.3
|
|
68
|
+
}
|
|
69
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscribeSgToasts.meta.d.ts","sourceRoot":"","sources":["../../src/commons/subscribeSgToasts.meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE9D,eAAO,MAAM,MAAM,EAAE,QA4CpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WA0BrB,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export const sgMeta = {
|
|
2
|
+
version: "0.1",
|
|
3
|
+
componentId: "hook.subscribe-toasts",
|
|
4
|
+
package: "@seedgrid/fe-components",
|
|
5
|
+
exportName: "subscribeSgToasts",
|
|
6
|
+
slug: "subscribe-sg-toasts",
|
|
7
|
+
displayName: "subscribeSgToasts",
|
|
8
|
+
category: "hook",
|
|
9
|
+
subcategory: "notification",
|
|
10
|
+
description: "Funcao para se inscrever em mudancas de toasts. Permite monitorar e reagir quando novos toasts sao criados ou removidos.",
|
|
11
|
+
tags: ["hook", "toast", "subscription", "reactive"],
|
|
12
|
+
capabilities: ["subscribe", "listen", "reactive-updates"],
|
|
13
|
+
fieldSemantics: ["subscription", "reactiveUpdates", "toastMonitoring"],
|
|
14
|
+
props: [
|
|
15
|
+
{
|
|
16
|
+
name: "listener",
|
|
17
|
+
type: "(toasts: SgToastRecord[]) => void",
|
|
18
|
+
required: true,
|
|
19
|
+
description: "Callback chamado quando toasts mudam. Recebe lista snapshot de toasts atual.",
|
|
20
|
+
semanticRole: "event",
|
|
21
|
+
bindable: false
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
states: ["subscribed", "unsubscribed"],
|
|
25
|
+
examples: [
|
|
26
|
+
{
|
|
27
|
+
id: "basic",
|
|
28
|
+
title: "Monitorar mudancas de toasts",
|
|
29
|
+
file: "apps/showcase/src/app/components/toasts/samples/subscribe.tsx.sample",
|
|
30
|
+
kind: "sample"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
id: "in-effect",
|
|
34
|
+
title: "Usar em useEffect",
|
|
35
|
+
file: "apps/showcase/src/app/components/toasts/samples/subscribe-effect.tsx.sample",
|
|
36
|
+
kind: "sample"
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
showcase: {
|
|
40
|
+
route: "/components/toasts",
|
|
41
|
+
hasPlayground: false,
|
|
42
|
+
hasPropsTable: true
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
export const aiHints = {
|
|
46
|
+
version: "0.1",
|
|
47
|
+
preferredUseCases: [
|
|
48
|
+
"Renderizar lista customizada de toasts.",
|
|
49
|
+
"Implementar analytics ou logging de notificacoes.",
|
|
50
|
+
"Sincronizar estado de toasts com componente nao-React.",
|
|
51
|
+
"Reagir quando um toast especifico aparece (ex: loading → success)."
|
|
52
|
+
],
|
|
53
|
+
avoidUseCases: [
|
|
54
|
+
"Controlar exibicao de toasts; use SgToastHost para isso.",
|
|
55
|
+
"Modificar toasts dentro do listener; cria efeitos colaterais."
|
|
56
|
+
],
|
|
57
|
+
synonyms: ["subscribe", "listen to toasts", "toast observer"],
|
|
58
|
+
relatedEntityFields: ["notification", "reactive", "subscription"],
|
|
59
|
+
compositionHints: [
|
|
60
|
+
"Usar em useEffect com cleanup para unsubscribe.",
|
|
61
|
+
"Guardar o unsubscribe retornado para limpeza.",
|
|
62
|
+
"Combinar com toast() e dismissSgToast() para controle completo."
|
|
63
|
+
],
|
|
64
|
+
rankingSignals: {
|
|
65
|
+
freeText: 0.6,
|
|
66
|
+
structuredChoice: 0.5,
|
|
67
|
+
date: 0.3,
|
|
68
|
+
number: 0.2,
|
|
69
|
+
denseLayout: 0.4
|
|
70
|
+
}
|
|
71
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscribeSgWhistles.meta.d.ts","sourceRoot":"","sources":["../../src/commons/subscribeSgWhistles.meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE9D,eAAO,MAAM,MAAM,EAAE,QA4CpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WA0BrB,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export const sgMeta = {
|
|
2
|
+
version: "0.1",
|
|
3
|
+
componentId: "hook.subscribe-whistles",
|
|
4
|
+
package: "@seedgrid/fe-components",
|
|
5
|
+
exportName: "subscribeSgWhistles",
|
|
6
|
+
slug: "subscribe-sg-whistles",
|
|
7
|
+
displayName: "subscribeSgWhistles",
|
|
8
|
+
category: "hook",
|
|
9
|
+
subcategory: "notification",
|
|
10
|
+
description: "Funcao para se inscrever em mudancas de whistles. Permite monitorar e reagir quando novos whistles sao criados ou removidos.",
|
|
11
|
+
tags: ["hook", "whistle", "subscription", "reactive"],
|
|
12
|
+
capabilities: ["subscribe", "listen", "reactive-updates"],
|
|
13
|
+
fieldSemantics: ["subscription", "reactiveUpdates", "whistleMonitoring"],
|
|
14
|
+
props: [
|
|
15
|
+
{
|
|
16
|
+
name: "listener",
|
|
17
|
+
type: "(whistles: SgWhistleRecord[]) => void",
|
|
18
|
+
required: true,
|
|
19
|
+
description: "Callback chamado quando whistles mudam. Recebe lista snapshot de whistles atual.",
|
|
20
|
+
semanticRole: "event",
|
|
21
|
+
bindable: false
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
states: ["subscribed", "unsubscribed"],
|
|
25
|
+
examples: [
|
|
26
|
+
{
|
|
27
|
+
id: "basic",
|
|
28
|
+
title: "Monitorar mudancas de whistles",
|
|
29
|
+
file: "apps/showcase/src/app/components/whistles/samples/subscribe.tsx.sample",
|
|
30
|
+
kind: "sample"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
id: "in-effect",
|
|
34
|
+
title: "Usar em useEffect",
|
|
35
|
+
file: "apps/showcase/src/app/components/whistles/samples/subscribe-effect.tsx.sample",
|
|
36
|
+
kind: "sample"
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
showcase: {
|
|
40
|
+
route: "/components/whistles",
|
|
41
|
+
hasPlayground: false,
|
|
42
|
+
hasPropsTable: true
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
export const aiHints = {
|
|
46
|
+
version: "0.1",
|
|
47
|
+
preferredUseCases: [
|
|
48
|
+
"Renderizar lista customizada de whistles.",
|
|
49
|
+
"Implementar analytics ou logging de notificacoes.",
|
|
50
|
+
"Sincronizar estado de whistles com componente nao-React.",
|
|
51
|
+
"Reagir quando um whistle especifico aparece (ex: loading → success)."
|
|
52
|
+
],
|
|
53
|
+
avoidUseCases: [
|
|
54
|
+
"Controlar exibicao de whistles; use SgWhistleHost para isso.",
|
|
55
|
+
"Modificar whistles dentro do listener; cria efeitos colaterais."
|
|
56
|
+
],
|
|
57
|
+
synonyms: ["subscribe", "listen to whistles", "whistle observer"],
|
|
58
|
+
relatedEntityFields: ["notification", "reactive", "subscription"],
|
|
59
|
+
compositionHints: [
|
|
60
|
+
"Usar em useEffect com cleanup para unsubscribe.",
|
|
61
|
+
"Guardar o unsubscribe retornado para limpeza.",
|
|
62
|
+
"Combinar com sgWhistle() e dismissSgWhistle() para controle completo."
|
|
63
|
+
],
|
|
64
|
+
rankingSignals: {
|
|
65
|
+
freeText: 0.7,
|
|
66
|
+
structuredChoice: 0.6,
|
|
67
|
+
date: 0.3,
|
|
68
|
+
number: 0.2,
|
|
69
|
+
denseLayout: 0.4
|
|
70
|
+
}
|
|
71
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast.meta.d.ts","sourceRoot":"","sources":["../../src/commons/toast.meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE9D,eAAO,MAAM,MAAM,EAAE,QA6GpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WA4BrB,CAAC"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
export const sgMeta = {
|
|
2
|
+
version: "0.1",
|
|
3
|
+
componentId: "hook.toast",
|
|
4
|
+
package: "@seedgrid/fe-components",
|
|
5
|
+
exportName: "toast",
|
|
6
|
+
slug: "toast",
|
|
7
|
+
displayName: "toast",
|
|
8
|
+
category: "hook",
|
|
9
|
+
subcategory: "notification",
|
|
10
|
+
description: "Funcao para disparar notificacoes toast. Oferece tipos predefinidos (success, error, warning, info, loading, default) com duracao customizavel, acoes e estilo.",
|
|
11
|
+
tags: ["hook", "toast", "notification", "alert"],
|
|
12
|
+
capabilities: ["type-support", "custom-styling", "actions", "promises", "dismiss"],
|
|
13
|
+
fieldSemantics: ["notification", "userFeedback", "statusMessage"],
|
|
14
|
+
props: [
|
|
15
|
+
{
|
|
16
|
+
name: "type",
|
|
17
|
+
type: "SgToastType",
|
|
18
|
+
required: true,
|
|
19
|
+
description: "Tipo de toast (success, error, warning, info, loading, default).",
|
|
20
|
+
semanticRole: "appearance",
|
|
21
|
+
bindable: false
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: "title",
|
|
25
|
+
type: "ReactNode",
|
|
26
|
+
required: true,
|
|
27
|
+
description: "Titulo ou mensagem principal do toast.",
|
|
28
|
+
semanticRole: "label",
|
|
29
|
+
bindable: true
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: "options.id",
|
|
33
|
+
type: "string",
|
|
34
|
+
description: "ID unico para referenciar o toast.",
|
|
35
|
+
semanticRole: "data",
|
|
36
|
+
bindable: false
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: "options.description",
|
|
40
|
+
type: "ReactNode",
|
|
41
|
+
description: "Descricao ou mensagem secundaria.",
|
|
42
|
+
semanticRole: "label",
|
|
43
|
+
bindable: true
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: "options.duration",
|
|
47
|
+
type: "number",
|
|
48
|
+
default: 3000,
|
|
49
|
+
description: "Duracao em milissegundos antes de auto-fechar (0 = permanente).",
|
|
50
|
+
semanticRole: "behavior",
|
|
51
|
+
bindable: true
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
name: "options.action",
|
|
55
|
+
type: "SgToastAction",
|
|
56
|
+
description: "Acao customizada (label e onClick).",
|
|
57
|
+
semanticRole: "event",
|
|
58
|
+
bindable: false
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: "options.closeButton",
|
|
62
|
+
type: "boolean",
|
|
63
|
+
default: true,
|
|
64
|
+
description: "Mostrar botao de fechar.",
|
|
65
|
+
semanticRole: "appearance",
|
|
66
|
+
bindable: true
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: "options.className",
|
|
70
|
+
type: "string",
|
|
71
|
+
description: "Classe CSS customizada.",
|
|
72
|
+
semanticRole: "appearance",
|
|
73
|
+
bindable: true
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
name: "options.style",
|
|
77
|
+
type: "CSSProperties",
|
|
78
|
+
description: "Estilos inline customizados.",
|
|
79
|
+
semanticRole: "appearance",
|
|
80
|
+
bindable: false
|
|
81
|
+
}
|
|
82
|
+
],
|
|
83
|
+
states: ["success", "error", "warning", "info", "loading", "default"],
|
|
84
|
+
examples: [
|
|
85
|
+
{
|
|
86
|
+
id: "basic",
|
|
87
|
+
title: "Toast simples",
|
|
88
|
+
file: "apps/showcase/src/app/components/toasts/samples/basic.tsx.sample",
|
|
89
|
+
kind: "sample"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
id: "with-action",
|
|
93
|
+
title: "Toast com acao",
|
|
94
|
+
file: "apps/showcase/src/app/components/toasts/samples/with-action.tsx.sample",
|
|
95
|
+
kind: "sample"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
id: "promise",
|
|
99
|
+
title: "Toast com promise",
|
|
100
|
+
file: "apps/showcase/src/app/components/toasts/samples/promise.tsx.sample",
|
|
101
|
+
kind: "sample"
|
|
102
|
+
}
|
|
103
|
+
],
|
|
104
|
+
showcase: {
|
|
105
|
+
route: "/components/toasts",
|
|
106
|
+
hasPlayground: true,
|
|
107
|
+
hasPropsTable: true
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
export const aiHints = {
|
|
111
|
+
version: "0.1",
|
|
112
|
+
preferredUseCases: [
|
|
113
|
+
"Notificar sucesso de operacoes (save, delete, submit).",
|
|
114
|
+
"Comunicar erros e problemas ao usuario.",
|
|
115
|
+
"Exibir avisos e informacoes nao-bloqueantes.",
|
|
116
|
+
"Mostrar progresso de operacoes async com tipo 'loading'."
|
|
117
|
+
],
|
|
118
|
+
avoidUseCases: [
|
|
119
|
+
"Dados que requerem confirmacao explícita; use SgDialog ou SgConfirmationDialog.",
|
|
120
|
+
"Mensagens persistentes que o usuario deve entender; use SgBanner ou SgAlert.",
|
|
121
|
+
"Feedback de validacao de formulario; use erros inline nos campos."
|
|
122
|
+
],
|
|
123
|
+
synonyms: ["toast notification", "notification", "snackbar"],
|
|
124
|
+
relatedEntityFields: ["success", "error", "notification", "feedback"],
|
|
125
|
+
compositionHints: [
|
|
126
|
+
"Envolver a arvore com SgToastHost para exibir toasts.",
|
|
127
|
+
"Usar com try-catch para disparar toast de erro.",
|
|
128
|
+
"Combinar com promise para loading → success/error automático.",
|
|
129
|
+
"Usar subscribeSgToasts para monitorar toasts programaticamente."
|
|
130
|
+
],
|
|
131
|
+
rankingSignals: {
|
|
132
|
+
freeText: 0.9,
|
|
133
|
+
structuredChoice: 0.6,
|
|
134
|
+
date: 0.3,
|
|
135
|
+
number: 0.3,
|
|
136
|
+
denseLayout: 0.5
|
|
137
|
+
}
|
|
138
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whistle.meta.d.ts","sourceRoot":"","sources":["../../src/commons/whistle.meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE9D,eAAO,MAAM,MAAM,EAAE,QAyIpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WA4BrB,CAAC"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
export const sgMeta = {
|
|
2
|
+
version: "0.1",
|
|
3
|
+
componentId: "hook.whistle",
|
|
4
|
+
package: "@seedgrid/fe-components",
|
|
5
|
+
exportName: "sgWhistle",
|
|
6
|
+
slug: "sg-whistle",
|
|
7
|
+
displayName: "sgWhistle",
|
|
8
|
+
category: "hook",
|
|
9
|
+
subcategory: "notification",
|
|
10
|
+
description: "Funcao para disparar notificacoes whistle (banners/alertas). Oferece severidades, duracao customizavel, acoes, icones e estilos customizados.",
|
|
11
|
+
tags: ["hook", "whistle", "notification", "banner", "alert"],
|
|
12
|
+
capabilities: ["severity-support", "custom-styling", "actions", "promises", "dismiss"],
|
|
13
|
+
fieldSemantics: ["notification", "userAlert", "bannerMessage"],
|
|
14
|
+
props: [
|
|
15
|
+
{
|
|
16
|
+
name: "options.message",
|
|
17
|
+
type: "string",
|
|
18
|
+
required: true,
|
|
19
|
+
description: "Mensagem principal do whistle.",
|
|
20
|
+
semanticRole: "label",
|
|
21
|
+
bindable: true
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: "options.severity",
|
|
25
|
+
type: "SgWhistleSeverity",
|
|
26
|
+
default: "default",
|
|
27
|
+
description: "Severidade (default, success, info, warning, error, loading).",
|
|
28
|
+
semanticRole: "appearance",
|
|
29
|
+
bindable: true
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: "options.title",
|
|
33
|
+
type: "string",
|
|
34
|
+
description: "Titulo opcional do whistle.",
|
|
35
|
+
semanticRole: "label",
|
|
36
|
+
bindable: true
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: "options.id",
|
|
40
|
+
type: "string",
|
|
41
|
+
description: "ID unico para referenciar o whistle.",
|
|
42
|
+
semanticRole: "data",
|
|
43
|
+
bindable: false
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: "options.icon",
|
|
47
|
+
type: "ReactNode",
|
|
48
|
+
description: "Icone customizado.",
|
|
49
|
+
semanticRole: "appearance",
|
|
50
|
+
bindable: false
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: "options.duration",
|
|
54
|
+
type: "number",
|
|
55
|
+
description: "Duracao em milissegundos (0 = permanente, padrao = permanente).",
|
|
56
|
+
semanticRole: "behavior",
|
|
57
|
+
bindable: true
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: "options.dismissible",
|
|
61
|
+
type: "boolean",
|
|
62
|
+
default: true,
|
|
63
|
+
description: "Permitir fechar manualmente.",
|
|
64
|
+
semanticRole: "behavior",
|
|
65
|
+
bindable: true
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
name: "options.borderStyle",
|
|
69
|
+
type: "SgWhistleBorderStyle",
|
|
70
|
+
default: "solid",
|
|
71
|
+
description: "Estilo da borda (solid, soft, left-accent, full-accent, none).",
|
|
72
|
+
semanticRole: "appearance",
|
|
73
|
+
bindable: true
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
name: "options.opacity",
|
|
77
|
+
type: "number",
|
|
78
|
+
description: "Opacidade (0-1).",
|
|
79
|
+
semanticRole: "appearance",
|
|
80
|
+
bindable: true
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
name: "options.action",
|
|
84
|
+
type: "SgWhistleAction",
|
|
85
|
+
description: "Acao customizada (label e onClick).",
|
|
86
|
+
semanticRole: "event",
|
|
87
|
+
bindable: false
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
name: "options.className",
|
|
91
|
+
type: "string",
|
|
92
|
+
description: "Classe CSS customizada.",
|
|
93
|
+
semanticRole: "appearance",
|
|
94
|
+
bindable: true
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
name: "options.style",
|
|
98
|
+
type: "CSSProperties",
|
|
99
|
+
description: "Estilos inline customizados.",
|
|
100
|
+
semanticRole: "appearance",
|
|
101
|
+
bindable: false
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
name: "options.onClose",
|
|
105
|
+
type: "() => void",
|
|
106
|
+
description: "Callback quando o whistle e fechado.",
|
|
107
|
+
semanticRole: "event",
|
|
108
|
+
bindable: false
|
|
109
|
+
}
|
|
110
|
+
],
|
|
111
|
+
states: ["default", "success", "info", "warning", "error", "loading"],
|
|
112
|
+
examples: [
|
|
113
|
+
{
|
|
114
|
+
id: "basic",
|
|
115
|
+
title: "Whistle simples",
|
|
116
|
+
file: "apps/showcase/src/app/components/whistles/samples/basic.tsx.sample",
|
|
117
|
+
kind: "sample"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
id: "with-action",
|
|
121
|
+
title: "Whistle com acao",
|
|
122
|
+
file: "apps/showcase/src/app/components/whistles/samples/with-action.tsx.sample",
|
|
123
|
+
kind: "sample"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
id: "promise",
|
|
127
|
+
title: "Whistle com promise",
|
|
128
|
+
file: "apps/showcase/src/app/components/whistles/samples/promise.tsx.sample",
|
|
129
|
+
kind: "sample"
|
|
130
|
+
}
|
|
131
|
+
],
|
|
132
|
+
showcase: {
|
|
133
|
+
route: "/components/whistles",
|
|
134
|
+
hasPlayground: true,
|
|
135
|
+
hasPropsTable: true
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
export const aiHints = {
|
|
139
|
+
version: "0.1",
|
|
140
|
+
preferredUseCases: [
|
|
141
|
+
"Alertas persistentes que o usuario precisa ver (warning, error).",
|
|
142
|
+
"Mensagens que ocupam espaco mas nao bloqueiam a interacao.",
|
|
143
|
+
"Status de operacoes async com duracao customizavel.",
|
|
144
|
+
"Feedback com multiplas acoes para o usuario."
|
|
145
|
+
],
|
|
146
|
+
avoidUseCases: [
|
|
147
|
+
"Notificacoes rapidas que desaparecem automaticamente; use toast().",
|
|
148
|
+
"Informacoes que requerem confirmacao; use SgDialog.",
|
|
149
|
+
"Erros que bloqueiam a pagina; use tratamento de erro apropriado."
|
|
150
|
+
],
|
|
151
|
+
synonyms: ["whistle", "banner", "alert", "notification banner"],
|
|
152
|
+
relatedEntityFields: ["alert", "warning", "notification", "status"],
|
|
153
|
+
compositionHints: [
|
|
154
|
+
"Envolver a arvore com SgWhistleHost para exibir whistles.",
|
|
155
|
+
"Usar com try-catch para disparar whistle de erro.",
|
|
156
|
+
"Combinar com promise para loading → success/error automático.",
|
|
157
|
+
"Usar subscribeSgWhistles para monitorar whistles programaticamente."
|
|
158
|
+
],
|
|
159
|
+
rankingSignals: {
|
|
160
|
+
freeText: 0.85,
|
|
161
|
+
structuredChoice: 0.7,
|
|
162
|
+
date: 0.4,
|
|
163
|
+
number: 0.4,
|
|
164
|
+
denseLayout: 0.6
|
|
165
|
+
}
|
|
166
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSgEnvironment.meta.d.ts","sourceRoot":"","sources":["../../src/environment/useSgEnvironment.meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE9D,eAAO,MAAM,MAAM,EAAE,QAuEpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WAwBrB,CAAC"}
|