@seedgrid/fe-components 2026.8.5 → 2026.8.7

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 (63) hide show
  1. package/dist/ai/seedgrid-components.manifest.json +330 -148
  2. package/dist/commons/SgSkeleton.meta.js +3 -3
  3. package/dist/commons/SgToastHost.meta.js +1 -1
  4. package/dist/commons/SgToaster.meta.js +1 -1
  5. package/dist/commons/SgWhistleHost.meta.d.ts.map +1 -1
  6. package/dist/commons/SgWhistleHost.meta.js +1 -0
  7. package/dist/commons/SgWhistler.d.ts +10 -0
  8. package/dist/commons/SgWhistler.d.ts.map +1 -1
  9. package/dist/commons/SgWhistler.js +8 -4
  10. package/dist/commons/SgWhistler.meta.d.ts.map +1 -1
  11. package/dist/commons/SgWhistler.meta.js +1 -0
  12. package/dist/commons/dismissSgToast.meta.js +3 -3
  13. package/dist/commons/dismissSgWhistle.meta.js +3 -3
  14. package/dist/commons/subscribeSgToasts.meta.js +3 -3
  15. package/dist/commons/subscribeSgWhistles.meta.js +3 -3
  16. package/dist/commons/toast.meta.d.ts.map +1 -1
  17. package/dist/commons/toast.meta.js +32 -11
  18. package/dist/commons/whistle.meta.d.ts.map +1 -1
  19. package/dist/commons/whistle.meta.js +27 -9
  20. package/dist/digits/fade-digit/SgFadeDigit.meta.js +1 -1
  21. package/dist/digits/matrix-digit/SgMatrixDigit.meta.js +1 -1
  22. package/dist/digits/roller3d-digit/SgRoller3DDigit.meta.js +1 -1
  23. package/dist/digits/segment-digit/SgSegmentDigit.meta.js +1 -1
  24. package/dist/digits/seven-segment-digit/SgSevenSegmentDigit.meta.js +1 -1
  25. package/dist/environment/useSgEnvironment.meta.js +6 -6
  26. package/dist/environment/useSgNamespaceProvider.meta.js +2 -2
  27. package/dist/environment/useSgPersistence.meta.js +6 -6
  28. package/dist/environment/useSgPersistentState.meta.d.ts.map +1 -1
  29. package/dist/environment/useSgPersistentState.meta.js +15 -9
  30. package/dist/gadgets/calendar/SgCalendar.meta.js +1 -1
  31. package/dist/gadgets/clock/themes/useSgClockThemeResolver.meta.d.ts.map +1 -1
  32. package/dist/gadgets/clock/themes/useSgClockThemeResolver.meta.js +24 -17
  33. package/dist/gadgets/clock/useSgTime.meta.js +3 -3
  34. package/dist/gadgets/qr-code/SgQRCode.meta.js +1 -1
  35. package/dist/gadgets/string-animator/SgStringAnimator.meta.js +1 -1
  36. package/dist/i18n/en-US.d.ts.map +1 -1
  37. package/dist/i18n/en-US.js +1 -0
  38. package/dist/i18n/es.d.ts.map +1 -1
  39. package/dist/i18n/es.js +1 -0
  40. package/dist/i18n/fr.d.ts.map +1 -1
  41. package/dist/i18n/fr.js +1 -0
  42. package/dist/i18n/pt-BR.d.ts.map +1 -1
  43. package/dist/i18n/pt-BR.js +1 -0
  44. package/dist/i18n/pt-PT.d.ts.map +1 -1
  45. package/dist/i18n/pt-PT.js +1 -0
  46. package/dist/i18n/useComponentsI18n.meta.js +6 -6
  47. package/dist/inputs/SgYearPartSelector.d.ts.map +1 -1
  48. package/dist/inputs/SgYearPartSelector.js +5 -19
  49. package/dist/layout/SgCarousel.meta.js +1 -1
  50. package/dist/layout/SgExpandablePanel.meta.d.ts.map +1 -1
  51. package/dist/layout/SgExpandablePanel.meta.js +5 -1
  52. package/dist/layout/SgGrid.meta.js +3 -3
  53. package/dist/layout/SgMenu.meta.d.ts.map +1 -1
  54. package/dist/layout/SgMenu.meta.js +39 -3
  55. package/dist/layout/SgStack.meta.js +3 -3
  56. package/dist/sandbox.cjs +38 -38
  57. package/dist/wizard/SgWizard.d.ts +12 -0
  58. package/dist/wizard/SgWizard.d.ts.map +1 -1
  59. package/dist/wizard/SgWizard.js +11 -2
  60. package/dist/wizard/SgWizard.meta.d.ts.map +1 -1
  61. package/dist/wizard/SgWizard.meta.js +11 -1
  62. package/dist/wizard/SgWizardPage.meta.js +1 -1
  63. package/package.json +3 -3
@@ -10788,9 +10788,9 @@
10788
10788
  ],
10789
10789
  "examples": [
10790
10790
  {
10791
- "id": "basic",
10792
- "title": "Basico",
10793
- "file": "apps/showcase/src/app/components/sg-skeleton/samples/basico.tsx.sample",
10791
+ "id": "basic-shapes",
10792
+ "title": "Formas basicas",
10793
+ "file": "apps/showcase/src/app/components/sg-skeleton/samples/basic-shapes.tsx.sample",
10794
10794
  "kind": "sample"
10795
10795
  },
10796
10796
  {
@@ -10954,9 +10954,9 @@
10954
10954
  ],
10955
10955
  "examples": [
10956
10956
  {
10957
- "id": "basic",
10958
- "title": "Basico",
10959
- "file": "apps/showcase/src/app/components/sg-toaster/samples/basico.tsx.sample",
10957
+ "id": "base-setup",
10958
+ "title": "Setup basico",
10959
+ "file": "apps/showcase/src/app/components/sg-toaster/samples/base-setup.tsx.sample",
10960
10960
  "kind": "sample"
10961
10961
  },
10962
10962
  {
@@ -11106,9 +11106,9 @@
11106
11106
  ],
11107
11107
  "examples": [
11108
11108
  {
11109
- "id": "basic",
11110
- "title": "Basico",
11111
- "file": "apps/showcase/src/app/components/sg-toast-host/samples/basico.tsx.sample",
11109
+ "id": "base-setup",
11110
+ "title": "Setup basico",
11111
+ "file": "apps/showcase/src/app/components/sg-toast-host/samples/base-setup.tsx.sample",
11112
11112
  "kind": "sample"
11113
11113
  },
11114
11114
  {
@@ -11206,6 +11206,15 @@
11206
11206
  "semanticRole": "behavior",
11207
11207
  "bindable": true
11208
11208
  },
11209
+ {
11210
+ "name": "duration",
11211
+ "type": "number",
11212
+ "required": false,
11213
+ "default": 4000,
11214
+ "description": "Duracao padrao dos whistles em milissegundos (mesmo default do SgToaster). Cada whistle sobrescreve com options.duration, que tem prioridade; use 0 (ou negativo) para que nada suma sozinho. Whistle 'loading' nunca expira.",
11215
+ "semanticRole": "behavior",
11216
+ "bindable": true
11217
+ },
11209
11218
  {
11210
11219
  "name": "newestOnTop",
11211
11220
  "type": "boolean",
@@ -11350,6 +11359,15 @@
11350
11359
  "semanticRole": "behavior",
11351
11360
  "bindable": true
11352
11361
  },
11362
+ {
11363
+ "name": "duration",
11364
+ "type": "number",
11365
+ "required": false,
11366
+ "default": 4000,
11367
+ "description": "Duracao padrao aplicada aos whistles deste host, em milissegundos (mesmo default do SgToastHost). Cada whistle sobrescreve com options.duration, que tem prioridade; use 0 (ou negativo) para que nada suma sozinho. Whistle 'loading' nunca expira. Com varios hosts montados, vale o do host ATIVO (o ultimo montado).",
11368
+ "semanticRole": "behavior",
11369
+ "bindable": true
11370
+ },
11353
11371
  {
11354
11372
  "name": "newestOnTop",
11355
11373
  "type": "boolean",
@@ -11519,8 +11537,7 @@
11519
11537
  {
11520
11538
  "name": "options.duration",
11521
11539
  "type": "number",
11522
- "default": 3000,
11523
- "description": "Duracao em milissegundos antes de auto-fechar (0 = permanente).",
11540
+ "description": "Duracao em milissegundos deste toast; tem PRIORIDADE sobre o host. Omitir NAO significa permanente: cai no `duration` do SgToaster/SgToastHost, cujo default e' 4000 (4s), igual ao par whistle/SgWhistleHost. Use 0 (ou negativo) para permanente, ate' o usuario fechar. Toast do tipo 'loading' nunca fecha sozinho, qualquer que seja o valor.",
11524
11541
  "semanticRole": "behavior",
11525
11542
  "bindable": true
11526
11543
  },
@@ -11564,26 +11581,44 @@
11564
11581
  ],
11565
11582
  "examples": [
11566
11583
  {
11567
- "id": "basic",
11568
- "title": "Toast simples",
11569
- "file": "apps/showcase/src/app/components/toasts/samples/basic.tsx.sample",
11584
+ "id": "base-setup",
11585
+ "title": "Setup basico (host + toast)",
11586
+ "file": "apps/showcase/src/app/components/sg-toaster/samples/base-setup.tsx.sample",
11570
11587
  "kind": "sample"
11571
11588
  },
11572
11589
  {
11573
- "id": "with-action",
11574
- "title": "Toast com acao",
11575
- "file": "apps/showcase/src/app/components/toasts/samples/with-action.tsx.sample",
11590
+ "id": "toast-types",
11591
+ "title": "Tipos de toast",
11592
+ "file": "apps/showcase/src/app/components/sg-toaster/samples/toast-types.tsx.sample",
11576
11593
  "kind": "sample"
11577
11594
  },
11578
11595
  {
11579
- "id": "promise",
11596
+ "id": "options-per-toast",
11597
+ "title": "Opcoes por toast (duration, etc.)",
11598
+ "file": "apps/showcase/src/app/components/sg-toaster/samples/options-per-toast.tsx.sample",
11599
+ "kind": "sample"
11600
+ },
11601
+ {
11602
+ "id": "actions-and-custom-toast",
11603
+ "title": "Acao e toast customizado",
11604
+ "file": "apps/showcase/src/app/components/sg-toaster/samples/actions-and-custom-toast.tsx.sample",
11605
+ "kind": "sample"
11606
+ },
11607
+ {
11608
+ "id": "loading-by-id-update-same-toast",
11609
+ "title": "Loading atualizado pelo id",
11610
+ "file": "apps/showcase/src/app/components/sg-toaster/samples/loading-by-id-update-same-toast.tsx.sample",
11611
+ "kind": "sample"
11612
+ },
11613
+ {
11614
+ "id": "toast-promise",
11580
11615
  "title": "Toast com promise",
11581
- "file": "apps/showcase/src/app/components/toasts/samples/promise.tsx.sample",
11616
+ "file": "apps/showcase/src/app/components/sg-toaster/samples/toast-promise.tsx.sample",
11582
11617
  "kind": "sample"
11583
11618
  }
11584
11619
  ],
11585
11620
  "showcase": {
11586
- "route": "/components/toasts",
11621
+ "route": "/components/sg-toaster",
11587
11622
  "hasPlayground": true,
11588
11623
  "hasPropsTable": true
11589
11624
  }
@@ -11673,18 +11708,18 @@
11673
11708
  {
11674
11709
  "id": "dismiss-one",
11675
11710
  "title": "Fechar um toast especifico",
11676
- "file": "apps/showcase/src/app/components/toasts/samples/dismiss-one.tsx.sample",
11711
+ "file": "apps/showcase/src/app/components/sg-toaster/samples/dismiss-one.tsx.sample",
11677
11712
  "kind": "sample"
11678
11713
  },
11679
11714
  {
11680
11715
  "id": "dismiss-all",
11681
11716
  "title": "Fechar todos os toasts",
11682
- "file": "apps/showcase/src/app/components/toasts/samples/dismiss-all.tsx.sample",
11717
+ "file": "apps/showcase/src/app/components/sg-toaster/samples/dismiss-all.tsx.sample",
11683
11718
  "kind": "sample"
11684
11719
  }
11685
11720
  ],
11686
11721
  "showcase": {
11687
- "route": "/components/toasts",
11722
+ "route": "/components/sg-toaster",
11688
11723
  "hasPlayground": true,
11689
11724
  "hasPropsTable": true
11690
11725
  }
@@ -11771,18 +11806,18 @@
11771
11806
  {
11772
11807
  "id": "basic",
11773
11808
  "title": "Monitorar mudancas de toasts",
11774
- "file": "apps/showcase/src/app/components/toasts/samples/subscribe.tsx.sample",
11809
+ "file": "apps/showcase/src/app/components/sg-toaster/samples/subscribe.tsx.sample",
11775
11810
  "kind": "sample"
11776
11811
  },
11777
11812
  {
11778
11813
  "id": "in-effect",
11779
11814
  "title": "Usar em useEffect",
11780
- "file": "apps/showcase/src/app/components/toasts/samples/subscribe-effect.tsx.sample",
11815
+ "file": "apps/showcase/src/app/components/sg-toaster/samples/subscribe-effect.tsx.sample",
11781
11816
  "kind": "sample"
11782
11817
  }
11783
11818
  ],
11784
11819
  "showcase": {
11785
- "route": "/components/toasts",
11820
+ "route": "/components/sg-toaster",
11786
11821
  "hasPlayground": false,
11787
11822
  "hasPropsTable": true
11788
11823
  }
@@ -11896,7 +11931,7 @@
11896
11931
  {
11897
11932
  "name": "options.duration",
11898
11933
  "type": "number",
11899
- "description": "Duracao em milissegundos (0 = permanente, padrao = permanente).",
11934
+ "description": "Duracao em milissegundos deste whistle; tem PRIORIDADE sobre o host. Omitir NAO significa permanente: cai no `duration` do SgWhistler/SgWhistleHost, cujo default e' 4000 (4s), igual ao par toast/SgToastHost. Use 0 (ou negativo) para permanente, ate' o usuario fechar no x — obrigatorio quando o aviso bloqueia uma acao ou carrega um botao de acao, porque sumir leva embora a informacao e o caminho de saida junto. Severidade 'loading' nunca expira sozinha.",
11900
11935
  "semanticRole": "behavior",
11901
11936
  "bindable": true
11902
11937
  },
@@ -11962,26 +11997,44 @@
11962
11997
  ],
11963
11998
  "examples": [
11964
11999
  {
11965
- "id": "basic",
11966
- "title": "Whistle simples",
11967
- "file": "apps/showcase/src/app/components/whistles/samples/basic.tsx.sample",
12000
+ "id": "base-setup",
12001
+ "title": "Setup basico (host + sgWhistle)",
12002
+ "file": "apps/showcase/src/app/components/sg-whistler/samples/base-setup.tsx.sample",
12003
+ "kind": "sample"
12004
+ },
12005
+ {
12006
+ "id": "severities-and-stack",
12007
+ "title": "Severidades e empilhamento",
12008
+ "file": "apps/showcase/src/app/components/sg-whistler/samples/severities-and-stack.tsx.sample",
12009
+ "kind": "sample"
12010
+ },
12011
+ {
12012
+ "id": "actions-border-opacity",
12013
+ "title": "Acao, borda e opacidade",
12014
+ "file": "apps/showcase/src/app/components/sg-whistler/samples/actions-border-opacity.tsx.sample",
11968
12015
  "kind": "sample"
11969
12016
  },
11970
12017
  {
11971
- "id": "with-action",
11972
- "title": "Whistle com acao",
11973
- "file": "apps/showcase/src/app/components/whistles/samples/with-action.tsx.sample",
12018
+ "id": "update-by-id",
12019
+ "title": "Substituir/atualizar pelo id",
12020
+ "file": "apps/showcase/src/app/components/sg-whistler/samples/update-by-id.tsx.sample",
12021
+ "kind": "sample"
12022
+ },
12023
+ {
12024
+ "id": "custom-renderer-and-colors",
12025
+ "title": "Renderer e cores customizados",
12026
+ "file": "apps/showcase/src/app/components/sg-whistler/samples/custom-renderer-and-colors.tsx.sample",
11974
12027
  "kind": "sample"
11975
12028
  },
11976
12029
  {
11977
12030
  "id": "promise",
11978
12031
  "title": "Whistle com promise",
11979
- "file": "apps/showcase/src/app/components/whistles/samples/promise.tsx.sample",
12032
+ "file": "apps/showcase/src/app/components/sg-whistler/samples/promise.tsx.sample",
11980
12033
  "kind": "sample"
11981
12034
  }
11982
12035
  ],
11983
12036
  "showcase": {
11984
- "route": "/components/whistles",
12037
+ "route": "/components/sg-whistler",
11985
12038
  "hasPlayground": true,
11986
12039
  "hasPropsTable": true
11987
12040
  }
@@ -12072,18 +12125,18 @@
12072
12125
  {
12073
12126
  "id": "dismiss-one",
12074
12127
  "title": "Fechar um whistle especifico",
12075
- "file": "apps/showcase/src/app/components/whistles/samples/dismiss-one.tsx.sample",
12128
+ "file": "apps/showcase/src/app/components/sg-whistler/samples/dismiss-one.tsx.sample",
12076
12129
  "kind": "sample"
12077
12130
  },
12078
12131
  {
12079
12132
  "id": "dismiss-all",
12080
12133
  "title": "Fechar todos os whistles",
12081
- "file": "apps/showcase/src/app/components/whistles/samples/dismiss-all.tsx.sample",
12134
+ "file": "apps/showcase/src/app/components/sg-whistler/samples/dismiss-all.tsx.sample",
12082
12135
  "kind": "sample"
12083
12136
  }
12084
12137
  ],
12085
12138
  "showcase": {
12086
- "route": "/components/whistles",
12139
+ "route": "/components/sg-whistler",
12087
12140
  "hasPlayground": true,
12088
12141
  "hasPropsTable": true
12089
12142
  }
@@ -12170,18 +12223,18 @@
12170
12223
  {
12171
12224
  "id": "basic",
12172
12225
  "title": "Monitorar mudancas de whistles",
12173
- "file": "apps/showcase/src/app/components/whistles/samples/subscribe.tsx.sample",
12226
+ "file": "apps/showcase/src/app/components/sg-whistler/samples/subscribe.tsx.sample",
12174
12227
  "kind": "sample"
12175
12228
  },
12176
12229
  {
12177
12230
  "id": "in-effect",
12178
12231
  "title": "Usar em useEffect",
12179
- "file": "apps/showcase/src/app/components/whistles/samples/subscribe-effect.tsx.sample",
12232
+ "file": "apps/showcase/src/app/components/sg-whistler/samples/subscribe-effect.tsx.sample",
12180
12233
  "kind": "sample"
12181
12234
  }
12182
12235
  ],
12183
12236
  "showcase": {
12184
- "route": "/components/whistles",
12237
+ "route": "/components/sg-whistler",
12185
12238
  "hasPlayground": false,
12186
12239
  "hasPropsTable": true
12187
12240
  }
@@ -13922,9 +13975,9 @@
13922
13975
  ],
13923
13976
  "examples": [
13924
13977
  {
13925
- "id": "basic",
13926
- "title": "Basico",
13927
- "file": "apps/showcase/src/app/components/sg-carousel/samples/basico.tsx.sample",
13978
+ "id": "basico-horizontal",
13979
+ "title": "Basico horizontal",
13980
+ "file": "apps/showcase/src/app/components/sg-carousel/samples/basico-horizontal.tsx.sample",
13928
13981
  "kind": "sample"
13929
13982
  },
13930
13983
  {
@@ -14618,9 +14671,33 @@
14618
14671
  ],
14619
14672
  "examples": [
14620
14673
  {
14621
- "id": "basic",
14622
- "title": "Basico",
14623
- "file": "apps/showcase/src/app/components/sg-expandable-panel/samples/basico.tsx.sample",
14674
+ "id": "inline-controlado-resize",
14675
+ "title": "Inline controlado com resize",
14676
+ "file": "apps/showcase/src/app/components/sg-expandable-panel/samples/inline-controlado-resize.tsx.sample",
14677
+ "kind": "sample"
14678
+ },
14679
+ {
14680
+ "id": "overlay-comportamento",
14681
+ "title": "Comportamento em overlay",
14682
+ "file": "apps/showcase/src/app/components/sg-expandable-panel/samples/overlay-comportamento.tsx.sample",
14683
+ "kind": "sample"
14684
+ },
14685
+ {
14686
+ "id": "default-open-estilizacao",
14687
+ "title": "Aberto por padrao e estilizacao",
14688
+ "file": "apps/showcase/src/app/components/sg-expandable-panel/samples/default-open-estilizacao.tsx.sample",
14689
+ "kind": "sample"
14690
+ },
14691
+ {
14692
+ "id": "acessibilidade-fade",
14693
+ "title": "Acessibilidade e fade",
14694
+ "file": "apps/showcase/src/app/components/sg-expandable-panel/samples/acessibilidade-fade.tsx.sample",
14695
+ "kind": "sample"
14696
+ },
14697
+ {
14698
+ "id": "sem-backdrop-animation-none",
14699
+ "title": "Sem backdrop e sem animacao",
14700
+ "file": "apps/showcase/src/app/components/sg-expandable-panel/samples/sem-backdrop-animation-none.tsx.sample",
14624
14701
  "kind": "sample"
14625
14702
  },
14626
14703
  {
@@ -14792,9 +14869,9 @@
14792
14869
  ],
14793
14870
  "examples": [
14794
14871
  {
14795
- "id": "basic",
14796
- "title": "Basico",
14797
- "file": "apps/showcase/src/app/components/sg-grid/samples/basico.tsx.sample",
14872
+ "id": "columns-responsivo",
14873
+ "title": "Columns responsivo",
14874
+ "file": "apps/showcase/src/app/components/sg-grid/samples/columns-responsivo.tsx.sample",
14798
14875
  "kind": "sample"
14799
14876
  },
14800
14877
  {
@@ -15296,9 +15373,45 @@
15296
15373
  ],
15297
15374
  "examples": [
15298
15375
  {
15299
- "id": "basic",
15300
- "title": "Basico",
15301
- "file": "apps/showcase/src/app/components/sg-menu/samples/basico.tsx.sample",
15376
+ "id": "sidebar-fixa",
15377
+ "title": "Sidebar fixa",
15378
+ "file": "apps/showcase/src/app/components/sg-menu/samples/sidebar-fixa.tsx.sample",
15379
+ "kind": "sample"
15380
+ },
15381
+ {
15382
+ "id": "drawer-mobile",
15383
+ "title": "Drawer mobile",
15384
+ "file": "apps/showcase/src/app/components/sg-menu/samples/drawer-mobile.tsx.sample",
15385
+ "kind": "sample"
15386
+ },
15387
+ {
15388
+ "id": "panel-menu",
15389
+ "title": "Panel menu",
15390
+ "file": "apps/showcase/src/app/components/sg-menu/samples/panel-menu.tsx.sample",
15391
+ "kind": "sample"
15392
+ },
15393
+ {
15394
+ "id": "tiered",
15395
+ "title": "Menu em niveis",
15396
+ "file": "apps/showcase/src/app/components/sg-menu/samples/tiered.tsx.sample",
15397
+ "kind": "sample"
15398
+ },
15399
+ {
15400
+ "id": "mega-menu-horizontal",
15401
+ "title": "Mega menu horizontal",
15402
+ "file": "apps/showcase/src/app/components/sg-menu/samples/mega-menu-horizontal.tsx.sample",
15403
+ "kind": "sample"
15404
+ },
15405
+ {
15406
+ "id": "mega-menu-vertical",
15407
+ "title": "Mega menu vertical",
15408
+ "file": "apps/showcase/src/app/components/sg-menu/samples/mega-menu-vertical.tsx.sample",
15409
+ "kind": "sample"
15410
+ },
15411
+ {
15412
+ "id": "sidebar-dockable",
15413
+ "title": "Sidebar dockable",
15414
+ "file": "apps/showcase/src/app/components/sg-menu/samples/sidebar-dockable.tsx.sample",
15302
15415
  "kind": "sample"
15303
15416
  },
15304
15417
  {
@@ -16265,9 +16378,9 @@
16265
16378
  ],
16266
16379
  "examples": [
16267
16380
  {
16268
- "id": "basic",
16269
- "title": "Basico",
16270
- "file": "apps/showcase/src/app/components/sg-stack/samples/basico.tsx.sample",
16381
+ "id": "column-row",
16382
+ "title": "Column e row",
16383
+ "file": "apps/showcase/src/app/components/sg-stack/samples/column-row.tsx.sample",
16271
16384
  "kind": "sample"
16272
16385
  },
16273
16386
  {
@@ -17303,6 +17416,31 @@
17303
17416
  "semanticRole": "validation",
17304
17417
  "bindable": false
17305
17418
  },
17419
+ {
17420
+ "name": "onBeforeNext",
17421
+ "type": "(index: number) => boolean | Promise<boolean>",
17422
+ "required": false,
17423
+ "description": "Roda ao clicar em Proximo; devolver false (ou uma Promise<false>) impede o avanco. Enquanto e aguardado, o botao fica desabilitado.",
17424
+ "semanticRole": "validation",
17425
+ "bindable": false
17426
+ },
17427
+ {
17428
+ "name": "onBeforeFinish",
17429
+ "type": "(index: number) => boolean | Promise<boolean>",
17430
+ "required": false,
17431
+ "description": "Roda ao clicar em concluir; devolver false impede a finalizacao.",
17432
+ "semanticRole": "validation",
17433
+ "bindable": false
17434
+ },
17435
+ {
17436
+ "name": "nextDisabled",
17437
+ "type": "boolean",
17438
+ "required": false,
17439
+ "default": false,
17440
+ "description": "Desabilita o avanco de forma declarativa: o botao Proximo fica desabilitado e o stepper para de oferecer as etapas seguintes. Use quando o bloqueio JA e conhecido (ex.: uma checagem assincrona ja resolveu que a etapa nao pode avancar) — onBeforeNext/validateStep so agem no clique e deixam o botao com aparencia de clicavel. Nao afeta o botao da ultima etapa; para isso use onBeforeFinish.",
17441
+ "semanticRole": "behavior",
17442
+ "bindable": true
17443
+ },
17306
17444
  {
17307
17445
  "name": "onStepChange",
17308
17446
  "type": "(index: number) => void",
@@ -17323,16 +17461,6 @@
17323
17461
  "name": "labels",
17324
17462
  "type": "Partial<SgWizardLabels>",
17325
17463
  "required": false
17326
- },
17327
- {
17328
- "name": "onBeforeFinish",
17329
- "type": "((index: number) => boolean | Promise<boolean>)",
17330
- "required": false
17331
- },
17332
- {
17333
- "name": "onBeforeNext",
17334
- "type": "((index: number) => boolean | Promise<boolean>)",
17335
- "required": false
17336
17464
  }
17337
17465
  ],
17338
17466
  "states": [
@@ -17343,9 +17471,51 @@
17343
17471
  ],
17344
17472
  "examples": [
17345
17473
  {
17346
- "id": "auto-validation",
17347
- "title": "Auto validation",
17348
- "file": "apps/showcase/src/app/components/sg-wizard/samples/auto-validation.tsx.sample",
17474
+ "id": "validacao-automatica",
17475
+ "title": "Validacao automatica",
17476
+ "file": "apps/showcase/src/app/components/sg-wizard/samples/validacao-automatica.tsx.sample",
17477
+ "kind": "sample"
17478
+ },
17479
+ {
17480
+ "id": "validatestep",
17481
+ "title": "validateStep",
17482
+ "file": "apps/showcase/src/app/components/sg-wizard/samples/validatestep.tsx.sample",
17483
+ "kind": "sample"
17484
+ },
17485
+ {
17486
+ "id": "onbeforenext-async",
17487
+ "title": "onBeforeNext assincrono",
17488
+ "file": "apps/showcase/src/app/components/sg-wizard/samples/onbeforenext-async.tsx.sample",
17489
+ "kind": "sample"
17490
+ },
17491
+ {
17492
+ "id": "nextdisabled",
17493
+ "title": "Avanco bloqueado (nextDisabled)",
17494
+ "file": "apps/showcase/src/app/components/sg-wizard/samples/nextdisabled.tsx.sample",
17495
+ "kind": "sample"
17496
+ },
17497
+ {
17498
+ "id": "stepnavigation",
17499
+ "title": "stepNavigation",
17500
+ "file": "apps/showcase/src/app/components/sg-wizard/samples/stepnavigation.tsx.sample",
17501
+ "kind": "sample"
17502
+ },
17503
+ {
17504
+ "id": "stepper-numerado",
17505
+ "title": "Stepper numerado",
17506
+ "file": "apps/showcase/src/app/components/sg-wizard/samples/stepper-numerado.tsx.sample",
17507
+ "kind": "sample"
17508
+ },
17509
+ {
17510
+ "id": "stepper-com-icones",
17511
+ "title": "Stepper com icones",
17512
+ "file": "apps/showcase/src/app/components/sg-wizard/samples/stepper-com-icones.tsx.sample",
17513
+ "kind": "sample"
17514
+ },
17515
+ {
17516
+ "id": "labels-customizados",
17517
+ "title": "Labels customizados",
17518
+ "file": "apps/showcase/src/app/components/sg-wizard/samples/labels-customizados.tsx.sample",
17349
17519
  "kind": "sample"
17350
17520
  },
17351
17521
  {
@@ -17481,9 +17651,9 @@
17481
17651
  ],
17482
17652
  "examples": [
17483
17653
  {
17484
- "id": "auto-validation",
17485
- "title": "Auto validation",
17486
- "file": "apps/showcase/src/app/components/sg-wizard/samples/auto-validation.tsx.sample",
17654
+ "id": "validacao-automatica",
17655
+ "title": "Validacao automatica",
17656
+ "file": "apps/showcase/src/app/components/sg-wizard/samples/validacao-automatica.tsx.sample",
17487
17657
  "kind": "sample"
17488
17658
  }
17489
17659
  ],
@@ -17702,9 +17872,9 @@
17702
17872
  ],
17703
17873
  "examples": [
17704
17874
  {
17705
- "id": "basic",
17706
- "title": "Basico",
17707
- "file": "apps/showcase/src/app/components/gadgets/sg-calendar/samples/basico.tsx.sample",
17875
+ "id": "basico-mes-atual",
17876
+ "title": "Basico (mes atual)",
17877
+ "file": "apps/showcase/src/app/components/gadgets/sg-calendar/samples/basico-mes-atual.tsx.sample",
17708
17878
  "kind": "sample"
17709
17879
  },
17710
17880
  {
@@ -18164,9 +18334,9 @@
18164
18334
  ],
18165
18335
  "examples": [
18166
18336
  {
18167
- "id": "basic",
18168
- "title": "Acessar tempo sincronizado",
18169
- "file": "apps/showcase/src/app/components/hooks/use-sg-time/samples/basic.tsx.sample",
18337
+ "id": "uso-basico",
18338
+ "title": "Uso basico",
18339
+ "file": "apps/showcase/src/app/components/hooks/use-sg-time/samples/uso-basico.tsx.sample",
18170
18340
  "kind": "sample"
18171
18341
  }
18172
18342
  ],
@@ -18424,50 +18594,56 @@
18424
18594
  ],
18425
18595
  "props": [
18426
18596
  {
18427
- "name": "returns.resolveMode",
18428
- "type": "SgClockThemeResolveMode",
18429
- "description": "Modo de resolucao do tema (auto, light, dark, custom).",
18430
- "semanticRole": "behavior",
18431
- "bindable": true
18597
+ "name": "returns",
18598
+ "type": "SgClockThemeResolver | null",
18599
+ "description": "Resolvedor do SgClockThemeProvider mais proximo. Fora de um provider o hook devolve null — nao ha fallback implicito.",
18600
+ "semanticRole": "data",
18601
+ "bindable": false
18432
18602
  },
18433
18603
  {
18434
- "name": "returns.resolveTheme",
18435
- "type": "(themeId: string) => SgClockTheme | null",
18436
- "description": "Funcao para resolver um tema pelo ID.",
18604
+ "name": "returns.resolve",
18605
+ "type": "(id: string) => SgClockTheme | null",
18606
+ "description": "Resolve um tema pelo id. No modo fallback do provider, um id desconhecido cai no fallbackThemeId; no modo strict devolve null.",
18437
18607
  "semanticRole": "data",
18438
18608
  "bindable": false
18439
18609
  },
18440
18610
  {
18441
- "name": "returns.currentTheme",
18442
- "type": "SgClockTheme | null",
18443
- "description": "Tema atualmente ativo.",
18611
+ "name": "returns.list",
18612
+ "type": "() => SgClockTheme[]",
18613
+ "description": "Temas visiveis para esta arvore: os globais do registry mais os locais do provider, ordenados por `order`.",
18444
18614
  "semanticRole": "data",
18445
18615
  "bindable": false
18446
18616
  },
18447
18617
  {
18448
- "name": "returns.setResolveMode",
18449
- "type": "(mode: SgClockThemeResolveMode) => void",
18450
- "description": "Alterar modo de resolucao do tema.",
18618
+ "name": "returns.registerLocal",
18619
+ "type": "(theme: SgClockTheme) => void",
18620
+ "description": "Registra um tema apenas nesta arvore, sem tocar no registry global.",
18621
+ "semanticRole": "behavior",
18622
+ "bindable": false
18623
+ },
18624
+ {
18625
+ "name": "returns.registerManyLocal",
18626
+ "type": "(themes: SgClockTheme[]) => void",
18627
+ "description": "Mesma coisa que registerLocal, para uma lista.",
18451
18628
  "semanticRole": "behavior",
18452
18629
  "bindable": false
18453
18630
  }
18454
18631
  ],
18455
18632
  "states": [
18456
- "auto",
18457
- "light",
18458
- "dark",
18459
- "custom"
18633
+ "fallback",
18634
+ "strict",
18635
+ "sem-provider"
18460
18636
  ],
18461
18637
  "examples": [
18462
18638
  {
18463
18639
  "id": "basic",
18464
18640
  "title": "Resolver e alternar temas",
18465
- "file": "apps/showcase/src/app/components/hooks/use-sg-clock-theme-resolver/samples/basic.tsx.sample",
18641
+ "file": "apps/showcase/src/app/components/providers/sg-clock-theme-provider/samples/resolver-hook.tsx.sample",
18466
18642
  "kind": "sample"
18467
18643
  }
18468
18644
  ],
18469
18645
  "showcase": {
18470
- "route": "/components/hooks/use-sg-clock-theme-resolver",
18646
+ "route": "/components/providers/sg-clock-theme-provider",
18471
18647
  "hasPlayground": true,
18472
18648
  "hasPropsTable": true
18473
18649
  }
@@ -19531,9 +19707,9 @@
19531
19707
  ],
19532
19708
  "examples": [
19533
19709
  {
19534
- "id": "interactive",
19535
- "title": "Interativo",
19536
- "file": "apps/showcase/src/app/components/gadgets/sg-qr-code/samples/interativo.tsx.sample",
19710
+ "id": "interactive-example",
19711
+ "title": "Exemplo interativo",
19712
+ "file": "apps/showcase/src/app/components/gadgets/sg-qr-code/samples/interactive-example.tsx.sample",
19537
19713
  "kind": "sample"
19538
19714
  },
19539
19715
  {
@@ -19716,9 +19892,9 @@
19716
19892
  ],
19717
19893
  "examples": [
19718
19894
  {
19719
- "id": "roller3d",
19720
- "title": "Roller 3D",
19721
- "file": "apps/showcase/src/app/components/gadgets/sg-string-animator/samples/roller3d.tsx.sample",
19895
+ "id": "roller-3d",
19896
+ "title": "Roller 3D (numeros)",
19897
+ "file": "apps/showcase/src/app/components/gadgets/sg-string-animator/samples/roller-3d-numeros-right-aligned.tsx.sample",
19722
19898
  "kind": "sample"
19723
19899
  },
19724
19900
  {
@@ -20053,9 +20229,9 @@
20053
20229
  ],
20054
20230
  "examples": [
20055
20231
  {
20056
- "id": "basic",
20057
- "title": "Basico",
20058
- "file": "apps/showcase/src/app/components/digits/sg-fade-digit/samples/basico.tsx.sample",
20232
+ "id": "basico-0-9",
20233
+ "title": "Basico (0-9)",
20234
+ "file": "apps/showcase/src/app/components/digits/sg-fade-digit/samples/basico-0-9.tsx.sample",
20059
20235
  "kind": "sample"
20060
20236
  },
20061
20237
  {
@@ -20385,9 +20561,9 @@
20385
20561
  ],
20386
20562
  "examples": [
20387
20563
  {
20388
- "id": "basic",
20389
- "title": "Basico",
20390
- "file": "apps/showcase/src/app/components/digits/sg-matrix-digit/samples/basico.tsx.sample",
20564
+ "id": "basico-0-9",
20565
+ "title": "Basico (0-9)",
20566
+ "file": "apps/showcase/src/app/components/digits/sg-matrix-digit/samples/basico-0-9.tsx.sample",
20391
20567
  "kind": "sample"
20392
20568
  },
20393
20569
  {
@@ -20743,9 +20919,9 @@
20743
20919
  ],
20744
20920
  "examples": [
20745
20921
  {
20746
- "id": "basic",
20747
- "title": "Basico",
20748
- "file": "apps/showcase/src/app/components/digits/sg-roller3d-digit/samples/basico.tsx.sample",
20922
+ "id": "basico-0-9",
20923
+ "title": "Basico (0-9)",
20924
+ "file": "apps/showcase/src/app/components/digits/sg-roller3d-digit/samples/basico-0-9.tsx.sample",
20749
20925
  "kind": "sample"
20750
20926
  },
20751
20927
  {
@@ -20891,9 +21067,9 @@
20891
21067
  ],
20892
21068
  "examples": [
20893
21069
  {
20894
- "id": "basic",
20895
- "title": "Basico",
20896
- "file": "apps/showcase/src/app/components/digits/sg-segment-digit/samples/basico.tsx.sample",
21070
+ "id": "basico-0-9",
21071
+ "title": "Basico (0-9)",
21072
+ "file": "apps/showcase/src/app/components/digits/sg-segment-digit/samples/basico-0-9.tsx.sample",
20897
21073
  "kind": "sample"
20898
21074
  },
20899
21075
  {
@@ -21093,9 +21269,9 @@
21093
21269
  ],
21094
21270
  "examples": [
21095
21271
  {
21096
- "id": "basic",
21097
- "title": "Basico",
21098
- "file": "apps/showcase/src/app/components/digits/sg-seven-segment-digit/samples/basico.tsx.sample",
21272
+ "id": "basico-0-9",
21273
+ "title": "Basico (0-9)",
21274
+ "file": "apps/showcase/src/app/components/digits/sg-seven-segment-digit/samples/basico-0-9.tsx.sample",
21099
21275
  "kind": "sample"
21100
21276
  },
21101
21277
  {
@@ -21383,15 +21559,15 @@
21383
21559
  ],
21384
21560
  "examples": [
21385
21561
  {
21386
- "id": "basic",
21387
- "title": "Acessar config de ambiente",
21388
- "file": "apps/showcase/src/app/components/hooks/use-sg-environment/samples/basic.tsx.sample",
21562
+ "id": "default-sem-provider",
21563
+ "title": "Default sem provider",
21564
+ "file": "apps/showcase/src/app/components/hooks/use-sg-environment/samples/default-sem-provider.tsx.sample",
21389
21565
  "kind": "sample"
21390
21566
  },
21391
21567
  {
21392
- "id": "with-namespace",
21393
- "title": "Com namespace customizado",
21394
- "file": "apps/showcase/src/app/components/hooks/use-sg-environment/samples/with-namespace.tsx.sample",
21568
+ "id": "com-provider",
21569
+ "title": "Com provider",
21570
+ "file": "apps/showcase/src/app/components/hooks/use-sg-environment/samples/com-provider.tsx.sample",
21395
21571
  "kind": "sample"
21396
21572
  }
21397
21573
  ],
@@ -21482,12 +21658,12 @@
21482
21658
  {
21483
21659
  "id": "basic",
21484
21660
  "title": "Obter namespace atual",
21485
- "file": "apps/showcase/src/app/components/hooks/use-sg-namespace-provider/samples/basic.tsx.sample",
21661
+ "file": "apps/showcase/src/app/components/providers/sg-environment-provider/samples/namespace-provider-hook.tsx.sample",
21486
21662
  "kind": "sample"
21487
21663
  }
21488
21664
  ],
21489
21665
  "showcase": {
21490
- "route": "/components/hooks/use-sg-namespace-provider",
21666
+ "route": "/components/providers/sg-environment-provider",
21491
21667
  "hasPlayground": false,
21492
21668
  "hasPropsTable": true
21493
21669
  }
@@ -21615,15 +21791,15 @@
21615
21791
  ],
21616
21792
  "examples": [
21617
21793
  {
21618
- "id": "basic",
21619
- "title": "Carregar e salvar estado",
21620
- "file": "apps/showcase/src/app/components/hooks/use-sg-persistence/samples/basic.tsx.sample",
21794
+ "id": "uso-basico",
21795
+ "title": "Uso basico",
21796
+ "file": "apps/showcase/src/app/components/hooks/use-sg-persistence/samples/uso-basico.tsx.sample",
21621
21797
  "kind": "sample"
21622
21798
  },
21623
21799
  {
21624
- "id": "form-state",
21625
- "title": "Persistir estado de formulario",
21626
- "file": "apps/showcase/src/app/components/hooks/use-sg-persistence/samples/form-state.tsx.sample",
21800
+ "id": "quando-usar-vs-persistent-state",
21801
+ "title": "Quando usar vs useSgPersistentState",
21802
+ "file": "apps/showcase/src/app/components/hooks/use-sg-persistence/samples/quando-usar-vs-persistent-state.tsx.sample",
21627
21803
  "kind": "sample"
21628
21804
  }
21629
21805
  ],
@@ -21753,21 +21929,27 @@
21753
21929
  ],
21754
21930
  "examples": [
21755
21931
  {
21756
- "id": "basic",
21757
- "title": "Estado persistido simples",
21758
- "file": "apps/showcase/src/app/components/hooks/use-sg-persistent-state/samples/basic.tsx.sample",
21932
+ "id": "uso-basico",
21933
+ "title": "Uso basico",
21934
+ "file": "apps/showcase/src/app/components/hooks/use-sg-persistent-state/samples/uso-basico.tsx.sample",
21759
21935
  "kind": "sample"
21760
21936
  },
21761
21937
  {
21762
- "id": "with-serialization",
21763
- "title": "Com serializacao customizada",
21764
- "file": "apps/showcase/src/app/components/hooks/use-sg-persistent-state/samples/with-serialization.tsx.sample",
21938
+ "id": "serializacao-customizada",
21939
+ "title": "Serializacao customizada",
21940
+ "file": "apps/showcase/src/app/components/hooks/use-sg-persistent-state/samples/serialize-e-deserialize-customizados.tsx.sample",
21765
21941
  "kind": "sample"
21766
21942
  },
21767
21943
  {
21768
- "id": "form-state",
21769
- "title": "Estado persistido de formulario",
21770
- "file": "apps/showcase/src/app/components/hooks/use-sg-persistent-state/samples/form-state.tsx.sample",
21944
+ "id": "com-isolamento-por-namespace",
21945
+ "title": "Isolamento por namespace",
21946
+ "file": "apps/showcase/src/app/components/hooks/use-sg-persistent-state/samples/com-isolamento-por-namespace.tsx.sample",
21947
+ "kind": "sample"
21948
+ },
21949
+ {
21950
+ "id": "versionamento-de-estado",
21951
+ "title": "Versionamento de estado",
21952
+ "file": "apps/showcase/src/app/components/hooks/use-sg-persistent-state/samples/versionamento-de-estado.tsx.sample",
21771
21953
  "kind": "sample"
21772
21954
  }
21773
21955
  ],
@@ -21997,15 +22179,15 @@
21997
22179
  ],
21998
22180
  "examples": [
21999
22181
  {
22000
- "id": "basic",
22001
- "title": "Acessar locale e mensagens",
22002
- "file": "apps/showcase/src/app/components/hooks/use-components-i18n/samples/basic.tsx.sample",
22182
+ "id": "uso-basico",
22183
+ "title": "Uso basico",
22184
+ "file": "apps/showcase/src/app/components/hooks/use-components-i18n/samples/uso-basico.tsx.sample",
22003
22185
  "kind": "sample"
22004
22186
  },
22005
22187
  {
22006
- "id": "with-translation",
22007
- "title": "Usar para traducao de mensagens",
22008
- "file": "apps/showcase/src/app/components/hooks/use-components-i18n/samples/with-translation.tsx.sample",
22188
+ "id": "locale-aware",
22189
+ "title": "Componentes conscientes do locale",
22190
+ "file": "apps/showcase/src/app/components/hooks/use-components-i18n/samples/componentes-conscientes-do-locale.tsx.sample",
22009
22191
  "kind": "sample"
22010
22192
  }
22011
22193
  ],