@seedgrid/fe-components 2026.4.18 → 2026.4.19

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 (41) hide show
  1. package/dist/ai/seedgrid-components.manifest.json +5231 -3622
  2. package/dist/commons/dismissSgToast.meta.d.ts +4 -0
  3. package/dist/commons/dismissSgToast.meta.d.ts.map +1 -0
  4. package/dist/commons/dismissSgToast.meta.js +69 -0
  5. package/dist/commons/dismissSgWhistle.meta.d.ts +4 -0
  6. package/dist/commons/dismissSgWhistle.meta.d.ts.map +1 -0
  7. package/dist/commons/dismissSgWhistle.meta.js +69 -0
  8. package/dist/commons/subscribeSgToasts.meta.d.ts +4 -0
  9. package/dist/commons/subscribeSgToasts.meta.d.ts.map +1 -0
  10. package/dist/commons/subscribeSgToasts.meta.js +71 -0
  11. package/dist/commons/subscribeSgWhistles.meta.d.ts +4 -0
  12. package/dist/commons/subscribeSgWhistles.meta.d.ts.map +1 -0
  13. package/dist/commons/subscribeSgWhistles.meta.js +71 -0
  14. package/dist/commons/toast.meta.d.ts +4 -0
  15. package/dist/commons/toast.meta.d.ts.map +1 -0
  16. package/dist/commons/toast.meta.js +138 -0
  17. package/dist/commons/whistle.meta.d.ts +4 -0
  18. package/dist/commons/whistle.meta.d.ts.map +1 -0
  19. package/dist/commons/whistle.meta.js +166 -0
  20. package/dist/environment/useSgEnvironment.meta.d.ts +4 -0
  21. package/dist/environment/useSgEnvironment.meta.d.ts.map +1 -0
  22. package/dist/environment/useSgEnvironment.meta.js +96 -0
  23. package/dist/environment/useSgNamespaceProvider.meta.d.ts +4 -0
  24. package/dist/environment/useSgNamespaceProvider.meta.d.ts.map +1 -0
  25. package/dist/environment/useSgNamespaceProvider.meta.js +62 -0
  26. package/dist/environment/useSgPersistence.meta.d.ts +4 -0
  27. package/dist/environment/useSgPersistence.meta.d.ts.map +1 -0
  28. package/dist/environment/useSgPersistence.meta.js +111 -0
  29. package/dist/environment/useSgPersistentState.meta.d.ts +4 -0
  30. package/dist/environment/useSgPersistentState.meta.d.ts.map +1 -0
  31. package/dist/environment/useSgPersistentState.meta.js +114 -0
  32. package/dist/gadgets/clock/themes/useSgClockThemeResolver.meta.d.ts +4 -0
  33. package/dist/gadgets/clock/themes/useSgClockThemeResolver.meta.d.ts.map +1 -0
  34. package/dist/gadgets/clock/themes/useSgClockThemeResolver.meta.js +83 -0
  35. package/dist/gadgets/clock/useSgTime.meta.d.ts +4 -0
  36. package/dist/gadgets/clock/useSgTime.meta.d.ts.map +1 -0
  37. package/dist/gadgets/clock/useSgTime.meta.js +83 -0
  38. package/dist/i18n/useComponentsI18n.meta.d.ts +4 -0
  39. package/dist/i18n/useComponentsI18n.meta.d.ts.map +1 -0
  40. package/dist/i18n/useComponentsI18n.meta.js +76 -0
  41. package/package.json +1 -1
@@ -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=dismissSgToast.meta.d.ts.map
@@ -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,4 @@
1
+ import type { SgAiHintsV0, SgMetaV0 } from "../ai-meta/types";
2
+ export declare const sgMeta: SgMetaV0;
3
+ export declare const aiHints: SgAiHintsV0;
4
+ //# sourceMappingURL=dismissSgWhistle.meta.d.ts.map
@@ -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,4 @@
1
+ import type { SgAiHintsV0, SgMetaV0 } from "../ai-meta/types";
2
+ export declare const sgMeta: SgMetaV0;
3
+ export declare const aiHints: SgAiHintsV0;
4
+ //# sourceMappingURL=subscribeSgToasts.meta.d.ts.map
@@ -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,4 @@
1
+ import type { SgAiHintsV0, SgMetaV0 } from "../ai-meta/types";
2
+ export declare const sgMeta: SgMetaV0;
3
+ export declare const aiHints: SgAiHintsV0;
4
+ //# sourceMappingURL=subscribeSgWhistles.meta.d.ts.map
@@ -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,4 @@
1
+ import type { SgAiHintsV0, SgMetaV0 } from "../ai-meta/types";
2
+ export declare const sgMeta: SgMetaV0;
3
+ export declare const aiHints: SgAiHintsV0;
4
+ //# sourceMappingURL=toast.meta.d.ts.map
@@ -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,4 @@
1
+ import type { SgAiHintsV0, SgMetaV0 } from "../ai-meta/types";
2
+ export declare const sgMeta: SgMetaV0;
3
+ export declare const aiHints: SgAiHintsV0;
4
+ //# sourceMappingURL=whistle.meta.d.ts.map
@@ -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,4 @@
1
+ import type { SgAiHintsV0, SgMetaV0 } from "../ai-meta/types";
2
+ export declare const sgMeta: SgMetaV0;
3
+ export declare const aiHints: SgAiHintsV0;
4
+ //# sourceMappingURL=useSgEnvironment.meta.d.ts.map
@@ -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"}