@seedgrid/fe-components 2026.11.1 → 2026.11.3
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 +1527 -89
- package/dist/buttons/SgButton.d.ts +6 -2
- package/dist/buttons/SgButton.d.ts.map +1 -1
- package/dist/buttons/SgButton.js +2 -2
- package/dist/buttons/SgButton.meta.js +3 -3
- package/dist/buttons/SgFloatActionButton.d.ts +2 -2
- package/dist/buttons/SgFloatActionButton.d.ts.map +1 -1
- package/dist/buttons/SgFloatActionButton.js +7 -7
- package/dist/buttons/SgFloatActionButton.meta.js +2 -2
- package/dist/buttons/SgSplitButton.d.ts +2 -2
- package/dist/buttons/SgSplitButton.d.ts.map +1 -1
- package/dist/buttons/SgSplitButton.js +4 -4
- package/dist/buttons/SgSplitButton.meta.js +3 -3
- package/dist/commons/SgAvatar.d.ts +2 -2
- package/dist/commons/SgAvatar.d.ts.map +1 -1
- package/dist/commons/SgAvatar.js +3 -3
- package/dist/commons/SgBadge.d.ts +1 -1
- package/dist/commons/SgBadge.d.ts.map +1 -1
- package/dist/commons/SgBadge.js +3 -3
- package/dist/generated/compiledStyles.d.ts +1 -1
- package/dist/generated/compiledStyles.d.ts.map +1 -1
- package/dist/generated/compiledStyles.js +1 -1
- package/dist/i18n/en-US.d.ts.map +1 -1
- package/dist/i18n/en-US.js +55 -0
- package/dist/i18n/es.d.ts.map +1 -1
- package/dist/i18n/es.js +55 -0
- package/dist/i18n/fr.d.ts.map +1 -1
- package/dist/i18n/fr.js +55 -0
- package/dist/i18n/pt-BR.d.ts.map +1 -1
- package/dist/i18n/pt-BR.js +55 -0
- package/dist/i18n/pt-PT.d.ts.map +1 -1
- package/dist/i18n/pt-PT.js +55 -0
- package/dist/index.d.ts +12 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/inputs/SgAutocomplete.d.ts +1 -1
- package/dist/inputs/SgAutocomplete.d.ts.map +1 -1
- package/dist/inputs/SgAutocomplete.js +3 -3
- package/dist/inputs/SgCameraCapture.d.ts +25 -0
- package/dist/inputs/SgCameraCapture.d.ts.map +1 -0
- package/dist/inputs/SgCameraCapture.js +114 -0
- package/dist/inputs/SgCameraCapture.meta.d.ts +4 -0
- package/dist/inputs/SgCameraCapture.meta.d.ts.map +1 -0
- package/dist/inputs/SgCameraCapture.meta.js +63 -0
- package/dist/inputs/SgCheckboxGroup.d.ts +2 -2
- package/dist/inputs/SgCheckboxGroup.d.ts.map +1 -1
- package/dist/inputs/SgCheckboxGroup.js +12 -12
- package/dist/inputs/SgCombobox.js +5 -5
- package/dist/inputs/SgDatatable.js +11 -11
- package/dist/inputs/SgDatatable.meta.d.ts.map +1 -1
- package/dist/inputs/SgDatatable.meta.js +4 -1
- package/dist/inputs/SgFileUpload.d.ts +69 -0
- package/dist/inputs/SgFileUpload.d.ts.map +1 -0
- package/dist/inputs/SgFileUpload.js +234 -0
- package/dist/inputs/SgFileUpload.meta.d.ts +4 -0
- package/dist/inputs/SgFileUpload.meta.d.ts.map +1 -0
- package/dist/inputs/SgFileUpload.meta.js +71 -0
- package/dist/inputs/SgImageUpload.d.ts +20 -0
- package/dist/inputs/SgImageUpload.d.ts.map +1 -0
- package/dist/inputs/SgImageUpload.js +74 -0
- package/dist/inputs/SgImageUpload.meta.d.ts +4 -0
- package/dist/inputs/SgImageUpload.meta.d.ts.map +1 -0
- package/dist/inputs/SgImageUpload.meta.js +73 -0
- package/dist/inputs/SgInputCurrency.d.ts.map +1 -1
- package/dist/inputs/SgInputCurrency.js +6 -4
- package/dist/inputs/SgInputDate.d.ts.map +1 -1
- package/dist/inputs/SgInputDate.js +3 -4
- package/dist/inputs/SgInputDateTime.d.ts +29 -0
- package/dist/inputs/SgInputDateTime.d.ts.map +1 -0
- package/dist/inputs/SgInputDateTime.js +141 -0
- package/dist/inputs/SgInputDateTime.meta.d.ts +4 -0
- package/dist/inputs/SgInputDateTime.meta.d.ts.map +1 -0
- package/dist/inputs/SgInputDateTime.meta.js +73 -0
- package/dist/inputs/SgInputNumber.d.ts.map +1 -1
- package/dist/inputs/SgInputNumber.js +6 -4
- package/dist/inputs/SgInputText.d.ts.map +1 -1
- package/dist/inputs/SgInputText.js +6 -4
- package/dist/inputs/SgInputTextArea.d.ts.map +1 -1
- package/dist/inputs/SgInputTextArea.js +4 -2
- package/dist/inputs/SgMultiSelect.meta.js +1 -1
- package/dist/inputs/SgMultiSelectChips.meta.js +1 -1
- package/dist/inputs/SgMultiSelectDropdown.js +1 -1
- package/dist/inputs/SgOrderList.d.ts +3 -3
- package/dist/inputs/SgOrderList.d.ts.map +1 -1
- package/dist/inputs/SgOrderList.js +13 -13
- package/dist/inputs/SgOrderList.meta.js +1 -1
- package/dist/inputs/SgPeriodSelector.d.ts +1 -1
- package/dist/inputs/SgPeriodSelector.d.ts.map +1 -1
- package/dist/inputs/SgPeriodSelector.js +3 -3
- package/dist/inputs/SgPickList.d.ts +3 -3
- package/dist/inputs/SgPickList.d.ts.map +1 -1
- package/dist/inputs/SgPickList.js +28 -28
- package/dist/inputs/SgPickList.meta.js +1 -1
- package/dist/inputs/SgRadioGroup.d.ts +2 -2
- package/dist/inputs/SgRadioGroup.d.ts.map +1 -1
- package/dist/inputs/SgRadioGroup.js +5 -5
- package/dist/inputs/SgRating.d.ts +1 -1
- package/dist/inputs/SgRating.d.ts.map +1 -1
- package/dist/inputs/SgRating.js +7 -7
- package/dist/inputs/SgRating.meta.js +1 -1
- package/dist/inputs/SgSlider.d.ts +1 -1
- package/dist/inputs/SgSlider.d.ts.map +1 -1
- package/dist/inputs/SgSlider.js +3 -3
- package/dist/inputs/SgSlider.meta.js +1 -1
- package/dist/inputs/SgStepperInput.d.ts +2 -2
- package/dist/inputs/SgStepperInput.d.ts.map +1 -1
- package/dist/inputs/SgStepperInput.js +4 -4
- package/dist/inputs/SgStepperInput.meta.js +1 -1
- package/dist/inputs/SgTextEditor.d.ts +1 -1
- package/dist/inputs/SgTextEditor.d.ts.map +1 -1
- package/dist/inputs/SgTextEditor.js +14 -14
- package/dist/inputs/SgToggleSwitch.meta.js +1 -1
- package/dist/inputs/SgYearPartSelector.d.ts +1 -1
- package/dist/inputs/SgYearPartSelector.d.ts.map +1 -1
- package/dist/inputs/SgYearPartSelector.js +1 -2
- package/dist/inputs/SgYearPartSelector.meta.js +2 -2
- package/dist/inputs/cameraLogic.d.ts +27 -0
- package/dist/inputs/cameraLogic.d.ts.map +1 -0
- package/dist/inputs/cameraLogic.js +57 -0
- package/dist/inputs/dateTimeLogic.d.ts +28 -0
- package/dist/inputs/dateTimeLogic.d.ts.map +1 -0
- package/dist/inputs/dateTimeLogic.js +153 -0
- package/dist/inputs/fileUploadLogic.d.ts +62 -0
- package/dist/inputs/fileUploadLogic.d.ts.map +1 -0
- package/dist/inputs/fileUploadLogic.js +254 -0
- package/dist/inputs/imageUploadLogic.d.ts +31 -0
- package/dist/inputs/imageUploadLogic.d.ts.map +1 -0
- package/dist/inputs/imageUploadLogic.js +70 -0
- package/dist/inputs/useSgMultiSelect.d.ts +1 -1
- package/dist/inputs/useSgMultiSelect.d.ts.map +1 -1
- package/dist/inputs/useSgMultiSelect.js +1 -1
- package/dist/layout/SgAccordion.d.ts +1 -1
- package/dist/layout/SgAccordion.d.ts.map +1 -1
- package/dist/layout/SgAccordion.js +3 -3
- package/dist/layout/SgBreadcrumb.d.ts +1 -1
- package/dist/layout/SgBreadcrumb.d.ts.map +1 -1
- package/dist/layout/SgBreadcrumb.js +1 -1
- package/dist/layout/SgCard.d.ts +1 -1
- package/dist/layout/SgCard.d.ts.map +1 -1
- package/dist/layout/SgCard.js +14 -14
- package/dist/layout/SgMenu.d.ts +1 -1
- package/dist/layout/SgMenu.d.ts.map +1 -1
- package/dist/layout/SgMenu.js +15 -15
- package/dist/layout/SgPageControl.d.ts +1 -1
- package/dist/layout/SgPageControl.d.ts.map +1 -1
- package/dist/layout/SgPageControl.js +4 -4
- package/dist/layout/SgPageControlPage.meta.js +2 -2
- package/dist/layout/SgToolBar.d.ts +1 -1
- package/dist/layout/SgToolBar.d.ts.map +1 -1
- package/dist/layout/SgToolBar.js +4 -4
- package/dist/layout/SgToolbarIconButton.meta.js +2 -2
- package/dist/layout/SgTreeView.d.ts +4 -4
- package/dist/layout/SgTreeView.d.ts.map +1 -1
- package/dist/layout/SgTreeView.js +6 -6
- package/dist/menus/SgDockMenu.d.ts +1 -1
- package/dist/menus/SgDockMenu.d.ts.map +1 -1
- package/dist/menus/SgDockMenu.js +6 -4
- package/dist/notifications/SgNotificationBell.d.ts +51 -0
- package/dist/notifications/SgNotificationBell.d.ts.map +1 -0
- package/dist/notifications/SgNotificationBell.js +348 -0
- package/dist/notifications/SgNotificationBell.meta.d.ts +4 -0
- package/dist/notifications/SgNotificationBell.meta.d.ts.map +1 -0
- package/dist/notifications/SgNotificationBell.meta.js +75 -0
- package/dist/notifications/notificationBellLogic.d.ts +148 -0
- package/dist/notifications/notificationBellLogic.d.ts.map +1 -0
- package/dist/notifications/notificationBellLogic.js +244 -0
- package/dist/overlay/SgConfirmationDialog.d.ts +1 -1
- package/dist/overlay/SgConfirmationDialog.d.ts.map +1 -1
- package/dist/overlay/SgConfirmationDialog.js +1 -1
- package/dist/overlay/SgPopup.d.ts +1 -1
- package/dist/overlay/SgPopup.d.ts.map +1 -1
- package/dist/overlay/SgPopup.js +1 -1
- package/dist/realtime/SgRealtimeProvider.d.ts +5 -0
- package/dist/realtime/SgRealtimeProvider.d.ts.map +1 -1
- package/dist/realtime/SgRealtimeProvider.js +31 -8
- package/dist/sandbox.cjs +77 -66
- package/dist/style.css +1 -1
- package/package.json +3 -3
|
@@ -914,7 +914,7 @@
|
|
|
914
914
|
"required": false
|
|
915
915
|
},
|
|
916
916
|
{
|
|
917
|
-
"name": "
|
|
917
|
+
"name": "enabled",
|
|
918
918
|
"type": "boolean",
|
|
919
919
|
"required": false
|
|
920
920
|
},
|
|
@@ -1796,7 +1796,7 @@
|
|
|
1796
1796
|
},
|
|
1797
1797
|
{
|
|
1798
1798
|
"name": "options",
|
|
1799
|
-
"type": "{ label: string; value: string | number; chipLabel?: string;
|
|
1799
|
+
"type": "{ label: string; value: string | number; chipLabel?: string; enabled?: boolean }[]",
|
|
1800
1800
|
"required": true,
|
|
1801
1801
|
"description": "Lista de opcoes disponiveis. `label` aparece na lista; `chipLabel` (opcional) e' o texto curto do item ja' selecionado (o resumo do campo), ex.: label \"3 - Filial Centro\" e chipLabel \"3\".",
|
|
1802
1802
|
"semanticRole": "data",
|
|
@@ -2132,7 +2132,7 @@
|
|
|
2132
2132
|
},
|
|
2133
2133
|
{
|
|
2134
2134
|
"name": "options",
|
|
2135
|
-
"type": "{ label: string; value: string | number; chipLabel?: string;
|
|
2135
|
+
"type": "{ label: string; value: string | number; chipLabel?: string; enabled?: boolean }[]",
|
|
2136
2136
|
"required": true,
|
|
2137
2137
|
"description": "Lista de opcoes disponiveis. `label` aparece na lista; `chipLabel` (opcional) e' o texto curto do item ja' selecionado (o chip), ex.: label \"3 - Filial Centro\" e chipLabel \"3\".",
|
|
2138
2138
|
"semanticRole": "data",
|
|
@@ -3085,10 +3085,37 @@
|
|
|
3085
3085
|
"name": "columns",
|
|
3086
3086
|
"type": "SgDatatableColumn[]",
|
|
3087
3087
|
"required": true,
|
|
3088
|
-
"description": "Definicao das colunas da tabela.",
|
|
3088
|
+
"description": "Definicao das colunas da tabela. column.filterPlaceholder vence o dicionario (components.datatable.columnFilterPlaceholder).",
|
|
3089
3089
|
"semanticRole": "data",
|
|
3090
3090
|
"bindable": true
|
|
3091
3091
|
},
|
|
3092
|
+
{
|
|
3093
|
+
"name": "emptyMessage",
|
|
3094
|
+
"type": "string",
|
|
3095
|
+
"required": false,
|
|
3096
|
+
"default": "(dicionario)",
|
|
3097
|
+
"description": "Mensagem exibida quando nao ha registros. Vence o dicionario (components.datatable.empty).",
|
|
3098
|
+
"semanticRole": "appearance",
|
|
3099
|
+
"bindable": true
|
|
3100
|
+
},
|
|
3101
|
+
{
|
|
3102
|
+
"name": "globalFilterPlaceholder",
|
|
3103
|
+
"type": "string",
|
|
3104
|
+
"required": false,
|
|
3105
|
+
"default": "(dicionario)",
|
|
3106
|
+
"description": "Placeholder da busca global. Vence o dicionario (components.datatable.globalFilterPlaceholder).",
|
|
3107
|
+
"semanticRole": "appearance",
|
|
3108
|
+
"bindable": true
|
|
3109
|
+
},
|
|
3110
|
+
{
|
|
3111
|
+
"name": "columnManagerLabel",
|
|
3112
|
+
"type": "string",
|
|
3113
|
+
"required": false,
|
|
3114
|
+
"default": "(dicionario)",
|
|
3115
|
+
"description": "Titulo do painel de colunas. Vence o dicionario (components.datatable.columns).",
|
|
3116
|
+
"semanticRole": "appearance",
|
|
3117
|
+
"bindable": true
|
|
3118
|
+
},
|
|
3092
3119
|
{
|
|
3093
3120
|
"name": "rows",
|
|
3094
3121
|
"type": "number",
|
|
@@ -3165,11 +3192,6 @@
|
|
|
3165
3192
|
"semanticRole": "event",
|
|
3166
3193
|
"bindable": false
|
|
3167
3194
|
},
|
|
3168
|
-
{
|
|
3169
|
-
"name": "columnManagerLabel",
|
|
3170
|
-
"type": "string",
|
|
3171
|
-
"required": false
|
|
3172
|
-
},
|
|
3173
3195
|
{
|
|
3174
3196
|
"name": "columnManagerMaxHeight",
|
|
3175
3197
|
"type": "string | number",
|
|
@@ -3180,11 +3202,6 @@
|
|
|
3180
3202
|
"type": "string",
|
|
3181
3203
|
"required": false
|
|
3182
3204
|
},
|
|
3183
|
-
{
|
|
3184
|
-
"name": "emptyMessage",
|
|
3185
|
-
"type": "string",
|
|
3186
|
-
"required": false
|
|
3187
|
-
},
|
|
3188
3205
|
{
|
|
3189
3206
|
"name": "filters",
|
|
3190
3207
|
"type": "Record<string, string>",
|
|
@@ -3200,11 +3217,6 @@
|
|
|
3200
3217
|
"type": "string",
|
|
3201
3218
|
"required": false
|
|
3202
3219
|
},
|
|
3203
|
-
{
|
|
3204
|
-
"name": "globalFilterPlaceholder",
|
|
3205
|
-
"type": "string",
|
|
3206
|
-
"required": false
|
|
3207
|
-
},
|
|
3208
3220
|
{
|
|
3209
3221
|
"name": "groupBoxProps",
|
|
3210
3222
|
"type": "(Omit<Partial<SgGroupBoxProps>, \"title\" | \"children\"> & { title?: string; })",
|
|
@@ -4975,66 +4987,1246 @@
|
|
|
4975
4987
|
{
|
|
4976
4988
|
"id": "basic",
|
|
4977
4989
|
"title": "Basico",
|
|
4978
|
-
"file": "apps/showcase/src/app/components/sg-input-date/samples/basico.tsx.sample",
|
|
4990
|
+
"file": "apps/showcase/src/app/components/sg-input-date/samples/basico.tsx.sample",
|
|
4991
|
+
"kind": "sample"
|
|
4992
|
+
},
|
|
4993
|
+
{
|
|
4994
|
+
"id": "playground",
|
|
4995
|
+
"title": "Playground",
|
|
4996
|
+
"file": "apps/showcase/src/app/components/sg-input-date/sg-input-date.tsx.playground",
|
|
4997
|
+
"kind": "playground"
|
|
4998
|
+
}
|
|
4999
|
+
],
|
|
5000
|
+
"showcase": {
|
|
5001
|
+
"route": "/components/sg-input-date",
|
|
5002
|
+
"hasPlayground": true,
|
|
5003
|
+
"hasPropsTable": true
|
|
5004
|
+
},
|
|
5005
|
+
"sdui": {
|
|
5006
|
+
"rendererType": "field.date",
|
|
5007
|
+
"acceptsDataBinding": true,
|
|
5008
|
+
"defaultProps": {
|
|
5009
|
+
"labelPosition": "float",
|
|
5010
|
+
"clearButton": true
|
|
5011
|
+
}
|
|
5012
|
+
}
|
|
5013
|
+
},
|
|
5014
|
+
"aiHints": {
|
|
5015
|
+
"version": "0.1",
|
|
5016
|
+
"preferredUseCases": [
|
|
5017
|
+
"Captura de datas de vencimento, agendamento, cadastro e referencia temporal.",
|
|
5018
|
+
"Campos que exigem validacao de intervalo minimo e maximo de datas.",
|
|
5019
|
+
"Selecao de data em formularios com contexto de calendario."
|
|
5020
|
+
],
|
|
5021
|
+
"avoidUseCases": [
|
|
5022
|
+
"Texto livre ou descricoes; nesses casos prefira SgInputText ou SgInputTextArea.",
|
|
5023
|
+
"Numeros ou valores monetarios; nesses casos prefira SgInputNumber ou SgInputCurrency.",
|
|
5024
|
+
"Escolhas estruturadas sem contexto temporal; nesses casos prefira select ou combobox."
|
|
5025
|
+
],
|
|
5026
|
+
"synonyms": [
|
|
5027
|
+
"date input",
|
|
5028
|
+
"calendar field",
|
|
5029
|
+
"deadline input",
|
|
5030
|
+
"schedule date"
|
|
5031
|
+
],
|
|
5032
|
+
"relatedEntityFields": [
|
|
5033
|
+
"date",
|
|
5034
|
+
"startDate",
|
|
5035
|
+
"endDate",
|
|
5036
|
+
"deadline",
|
|
5037
|
+
"dueDate",
|
|
5038
|
+
"birthDate"
|
|
5039
|
+
],
|
|
5040
|
+
"compositionHints": [
|
|
5041
|
+
"Combinar com SgButton para filtros por periodo e formulários com datas.",
|
|
5042
|
+
"Usar dentro de SgPanel para blocos de agendamento ou dados temporais."
|
|
5043
|
+
],
|
|
5044
|
+
"rankingSignals": {
|
|
5045
|
+
"freeText": 0,
|
|
5046
|
+
"structuredChoice": 0.15,
|
|
5047
|
+
"date": 0.98,
|
|
5048
|
+
"number": 0,
|
|
5049
|
+
"denseLayout": 0.7
|
|
5050
|
+
}
|
|
5051
|
+
}
|
|
5052
|
+
},
|
|
5053
|
+
{
|
|
5054
|
+
"componentId": "form.input.datetime",
|
|
5055
|
+
"exportName": "SgInputDateTime",
|
|
5056
|
+
"sgMeta": {
|
|
5057
|
+
"version": "0.1",
|
|
5058
|
+
"componentId": "form.input.datetime",
|
|
5059
|
+
"package": "@seedgrid/fe-components",
|
|
5060
|
+
"exportName": "SgInputDateTime",
|
|
5061
|
+
"slug": "sg-input-date-time",
|
|
5062
|
+
"displayName": "SgInputDateTime",
|
|
5063
|
+
"category": "input",
|
|
5064
|
+
"subcategory": "datetime",
|
|
5065
|
+
"description": "Campo de data e hora que entrega e recebe instantes ISO 8601 em UTC, exibindo a hora no fuso escolhido, com limites, passo de minutos e validacao.",
|
|
5066
|
+
"tags": [
|
|
5067
|
+
"form",
|
|
5068
|
+
"date",
|
|
5069
|
+
"time",
|
|
5070
|
+
"datetime",
|
|
5071
|
+
"rhf"
|
|
5072
|
+
],
|
|
5073
|
+
"capabilities": [
|
|
5074
|
+
"rhf",
|
|
5075
|
+
"controlled",
|
|
5076
|
+
"min-max",
|
|
5077
|
+
"time-zone",
|
|
5078
|
+
"minute-step",
|
|
5079
|
+
"iso-utc"
|
|
5080
|
+
],
|
|
5081
|
+
"fieldSemantics": [
|
|
5082
|
+
"dateTime",
|
|
5083
|
+
"timestamp",
|
|
5084
|
+
"schedule",
|
|
5085
|
+
"appointment",
|
|
5086
|
+
"deadline"
|
|
5087
|
+
],
|
|
5088
|
+
"props": [
|
|
5089
|
+
{
|
|
5090
|
+
"name": "id",
|
|
5091
|
+
"type": "string",
|
|
5092
|
+
"required": true,
|
|
5093
|
+
"description": "Identificador unico do campo.",
|
|
5094
|
+
"semanticRole": "data",
|
|
5095
|
+
"bindable": false
|
|
5096
|
+
},
|
|
5097
|
+
{
|
|
5098
|
+
"name": "name",
|
|
5099
|
+
"type": "string",
|
|
5100
|
+
"required": false,
|
|
5101
|
+
"description": "Nome do campo para formularios.",
|
|
5102
|
+
"semanticRole": "data",
|
|
5103
|
+
"bindable": true
|
|
5104
|
+
},
|
|
5105
|
+
{
|
|
5106
|
+
"name": "label",
|
|
5107
|
+
"type": "string",
|
|
5108
|
+
"required": false,
|
|
5109
|
+
"description": "Rotulo principal exibido ao usuario.",
|
|
5110
|
+
"semanticRole": "label",
|
|
5111
|
+
"bindable": true
|
|
5112
|
+
},
|
|
5113
|
+
{
|
|
5114
|
+
"name": "value",
|
|
5115
|
+
"type": "string | Date | null",
|
|
5116
|
+
"required": false,
|
|
5117
|
+
"description": "Instante controlado (ISO 8601 ou Date).",
|
|
5118
|
+
"semanticRole": "data",
|
|
5119
|
+
"bindable": true
|
|
5120
|
+
},
|
|
5121
|
+
{
|
|
5122
|
+
"name": "defaultValue",
|
|
5123
|
+
"type": "string | Date | null",
|
|
5124
|
+
"required": false,
|
|
5125
|
+
"description": "Instante inicial (nao controlado).",
|
|
5126
|
+
"semanticRole": "data",
|
|
5127
|
+
"bindable": true
|
|
5128
|
+
},
|
|
5129
|
+
{
|
|
5130
|
+
"name": "required",
|
|
5131
|
+
"type": "boolean",
|
|
5132
|
+
"required": false,
|
|
5133
|
+
"default": false,
|
|
5134
|
+
"description": "Marca o campo como obrigatorio.",
|
|
5135
|
+
"semanticRole": "validation",
|
|
5136
|
+
"bindable": true
|
|
5137
|
+
},
|
|
5138
|
+
{
|
|
5139
|
+
"name": "minDate",
|
|
5140
|
+
"type": "string | Date",
|
|
5141
|
+
"required": false,
|
|
5142
|
+
"description": "Menor instante permitido.",
|
|
5143
|
+
"semanticRole": "validation",
|
|
5144
|
+
"bindable": true
|
|
5145
|
+
},
|
|
5146
|
+
{
|
|
5147
|
+
"name": "maxDate",
|
|
5148
|
+
"type": "string | Date",
|
|
5149
|
+
"required": false,
|
|
5150
|
+
"description": "Maior instante permitido.",
|
|
5151
|
+
"semanticRole": "validation",
|
|
5152
|
+
"bindable": true
|
|
5153
|
+
},
|
|
5154
|
+
{
|
|
5155
|
+
"name": "timeZone",
|
|
5156
|
+
"type": "string",
|
|
5157
|
+
"required": false,
|
|
5158
|
+
"default": "local",
|
|
5159
|
+
"description": "Fuso do campo: local, UTC, deslocamento (+03:00) ou nome IANA.",
|
|
5160
|
+
"semanticRole": "data",
|
|
5161
|
+
"bindable": true
|
|
5162
|
+
},
|
|
5163
|
+
{
|
|
5164
|
+
"name": "showSeconds",
|
|
5165
|
+
"type": "boolean",
|
|
5166
|
+
"required": false,
|
|
5167
|
+
"default": false,
|
|
5168
|
+
"description": "Mostra e aceita segundos.",
|
|
5169
|
+
"semanticRole": "appearance",
|
|
5170
|
+
"bindable": true
|
|
5171
|
+
},
|
|
5172
|
+
{
|
|
5173
|
+
"name": "minuteStep",
|
|
5174
|
+
"type": "number",
|
|
5175
|
+
"required": false,
|
|
5176
|
+
"description": "Passo dos minutos (5, 10, 15, 30).",
|
|
5177
|
+
"semanticRole": "validation",
|
|
5178
|
+
"bindable": true
|
|
5179
|
+
},
|
|
5180
|
+
{
|
|
5181
|
+
"name": "onChange",
|
|
5182
|
+
"type": "(value: string | null, local: string) => void",
|
|
5183
|
+
"required": false,
|
|
5184
|
+
"description": "Instante ISO UTC (ou null) e texto local do campo.",
|
|
5185
|
+
"semanticRole": "event",
|
|
5186
|
+
"bindable": false
|
|
5187
|
+
},
|
|
5188
|
+
{
|
|
5189
|
+
"name": "alwaysFloat",
|
|
5190
|
+
"type": "boolean",
|
|
5191
|
+
"required": false
|
|
5192
|
+
},
|
|
5193
|
+
{
|
|
5194
|
+
"name": "clearButton",
|
|
5195
|
+
"type": "boolean",
|
|
5196
|
+
"required": false
|
|
5197
|
+
},
|
|
5198
|
+
{
|
|
5199
|
+
"name": "enabled",
|
|
5200
|
+
"type": "boolean",
|
|
5201
|
+
"required": false
|
|
5202
|
+
},
|
|
5203
|
+
{
|
|
5204
|
+
"name": "error",
|
|
5205
|
+
"type": "string",
|
|
5206
|
+
"required": false
|
|
5207
|
+
},
|
|
5208
|
+
{
|
|
5209
|
+
"name": "filled",
|
|
5210
|
+
"type": "boolean",
|
|
5211
|
+
"required": false
|
|
5212
|
+
},
|
|
5213
|
+
{
|
|
5214
|
+
"name": "hintText",
|
|
5215
|
+
"type": "string",
|
|
5216
|
+
"required": false
|
|
5217
|
+
},
|
|
5218
|
+
{
|
|
5219
|
+
"name": "iconButtons",
|
|
5220
|
+
"type": "ReactNode[]",
|
|
5221
|
+
"required": false
|
|
5222
|
+
},
|
|
5223
|
+
{
|
|
5224
|
+
"name": "labelAlign",
|
|
5225
|
+
"type": "\"start\" | \"center\" | \"end\"",
|
|
5226
|
+
"required": false
|
|
5227
|
+
},
|
|
5228
|
+
{
|
|
5229
|
+
"name": "labelPosition",
|
|
5230
|
+
"type": "\"top\" | \"left\" | \"float\"",
|
|
5231
|
+
"required": false
|
|
5232
|
+
},
|
|
5233
|
+
{
|
|
5234
|
+
"name": "labelText",
|
|
5235
|
+
"type": "string",
|
|
5236
|
+
"required": false
|
|
5237
|
+
},
|
|
5238
|
+
{
|
|
5239
|
+
"name": "labelWidth",
|
|
5240
|
+
"type": "string | number",
|
|
5241
|
+
"required": false
|
|
5242
|
+
},
|
|
5243
|
+
{
|
|
5244
|
+
"name": "maxLength",
|
|
5245
|
+
"type": "number",
|
|
5246
|
+
"required": false
|
|
5247
|
+
},
|
|
5248
|
+
{
|
|
5249
|
+
"name": "maxLengthMessage",
|
|
5250
|
+
"type": "string",
|
|
5251
|
+
"required": false
|
|
5252
|
+
},
|
|
5253
|
+
{
|
|
5254
|
+
"name": "minLength",
|
|
5255
|
+
"type": "number",
|
|
5256
|
+
"required": false
|
|
5257
|
+
},
|
|
5258
|
+
{
|
|
5259
|
+
"name": "minLengthMessage",
|
|
5260
|
+
"type": "string",
|
|
5261
|
+
"required": false
|
|
5262
|
+
},
|
|
5263
|
+
{
|
|
5264
|
+
"name": "minNumberOfWords",
|
|
5265
|
+
"type": "number",
|
|
5266
|
+
"required": false
|
|
5267
|
+
},
|
|
5268
|
+
{
|
|
5269
|
+
"name": "minNumberOfWordsMessage",
|
|
5270
|
+
"type": "string",
|
|
5271
|
+
"required": false
|
|
5272
|
+
},
|
|
5273
|
+
{
|
|
5274
|
+
"name": "onClear",
|
|
5275
|
+
"type": "(() => void)",
|
|
5276
|
+
"required": false
|
|
5277
|
+
},
|
|
5278
|
+
{
|
|
5279
|
+
"name": "onEnter",
|
|
5280
|
+
"type": "((() => void) & (() => void))",
|
|
5281
|
+
"required": false,
|
|
5282
|
+
"description": "Disparado ao receber foco — padrao seedgrid."
|
|
5283
|
+
},
|
|
5284
|
+
{
|
|
5285
|
+
"name": "onExit",
|
|
5286
|
+
"type": "((() => void) & (() => void))",
|
|
5287
|
+
"required": false,
|
|
5288
|
+
"description": "Disparado ao perder o foco (apos validacao) — padrao seedgrid."
|
|
5289
|
+
},
|
|
5290
|
+
{
|
|
5291
|
+
"name": "onValidation",
|
|
5292
|
+
"type": "((message: string | null) => void)",
|
|
5293
|
+
"required": false
|
|
5294
|
+
},
|
|
5295
|
+
{
|
|
5296
|
+
"name": "placeholder",
|
|
5297
|
+
"type": "string",
|
|
5298
|
+
"required": false
|
|
5299
|
+
},
|
|
5300
|
+
{
|
|
5301
|
+
"name": "prefixIcon",
|
|
5302
|
+
"type": "ReactNode",
|
|
5303
|
+
"required": false
|
|
5304
|
+
},
|
|
5305
|
+
{
|
|
5306
|
+
"name": "prefixText",
|
|
5307
|
+
"type": "string",
|
|
5308
|
+
"required": false
|
|
5309
|
+
},
|
|
5310
|
+
{
|
|
5311
|
+
"name": "readOnly",
|
|
5312
|
+
"type": "boolean",
|
|
5313
|
+
"required": false
|
|
5314
|
+
},
|
|
5315
|
+
{
|
|
5316
|
+
"name": "requiredMessage",
|
|
5317
|
+
"type": "string",
|
|
5318
|
+
"required": false
|
|
5319
|
+
},
|
|
5320
|
+
{
|
|
5321
|
+
"name": "showCharCounter",
|
|
5322
|
+
"type": "boolean",
|
|
5323
|
+
"required": false
|
|
5324
|
+
},
|
|
5325
|
+
{
|
|
5326
|
+
"name": "suffixText",
|
|
5327
|
+
"type": "string",
|
|
5328
|
+
"required": false
|
|
5329
|
+
},
|
|
5330
|
+
{
|
|
5331
|
+
"name": "textInputType",
|
|
5332
|
+
"type": "\"none\" | \"text\" | \"email\" | \"search\" | \"tel\" | \"url\" | \"numeric\" | \"decimal\"",
|
|
5333
|
+
"required": false
|
|
5334
|
+
},
|
|
5335
|
+
{
|
|
5336
|
+
"name": "validateOnBlur",
|
|
5337
|
+
"type": "boolean",
|
|
5338
|
+
"required": false
|
|
5339
|
+
},
|
|
5340
|
+
{
|
|
5341
|
+
"name": "validation",
|
|
5342
|
+
"type": "((value: string) => string | null)",
|
|
5343
|
+
"required": false
|
|
5344
|
+
},
|
|
5345
|
+
{
|
|
5346
|
+
"name": "width",
|
|
5347
|
+
"type": "string | number",
|
|
5348
|
+
"required": false
|
|
5349
|
+
},
|
|
5350
|
+
{
|
|
5351
|
+
"name": "withBorder",
|
|
5352
|
+
"type": "boolean",
|
|
5353
|
+
"required": false
|
|
5354
|
+
}
|
|
5355
|
+
],
|
|
5356
|
+
"states": [
|
|
5357
|
+
"default",
|
|
5358
|
+
"focused",
|
|
5359
|
+
"disabled",
|
|
5360
|
+
"readOnly",
|
|
5361
|
+
"error"
|
|
5362
|
+
],
|
|
5363
|
+
"examples": [
|
|
5364
|
+
{
|
|
5365
|
+
"id": "basic",
|
|
5366
|
+
"title": "Basico",
|
|
5367
|
+
"file": "apps/showcase/src/app/components/sg-input-date-time/samples/basico.tsx.sample",
|
|
5368
|
+
"kind": "sample"
|
|
5369
|
+
},
|
|
5370
|
+
{
|
|
5371
|
+
"id": "playground",
|
|
5372
|
+
"title": "Playground",
|
|
5373
|
+
"file": "apps/showcase/src/app/components/sg-input-date-time/sg-input-date-time.tsx.playground",
|
|
5374
|
+
"kind": "playground"
|
|
5375
|
+
}
|
|
5376
|
+
],
|
|
5377
|
+
"showcase": {
|
|
5378
|
+
"route": "/components/sg-input-date-time",
|
|
5379
|
+
"hasPlayground": true,
|
|
5380
|
+
"hasPropsTable": true
|
|
5381
|
+
},
|
|
5382
|
+
"sdui": {
|
|
5383
|
+
"rendererType": "field.datetime",
|
|
5384
|
+
"acceptsDataBinding": true,
|
|
5385
|
+
"defaultProps": {
|
|
5386
|
+
"labelPosition": "float",
|
|
5387
|
+
"clearButton": true
|
|
5388
|
+
}
|
|
5389
|
+
}
|
|
5390
|
+
},
|
|
5391
|
+
"aiHints": {
|
|
5392
|
+
"version": "0.1",
|
|
5393
|
+
"preferredUseCases": [
|
|
5394
|
+
"Agendamentos, compromissos e prazos que exigem data e hora.",
|
|
5395
|
+
"Campos de timestamp que precisam trafegar como instante UTC.",
|
|
5396
|
+
"Formularios com limites de data e hora e fuso explicito."
|
|
5397
|
+
],
|
|
5398
|
+
"avoidUseCases": [
|
|
5399
|
+
"Somente data; prefira SgInputDate.",
|
|
5400
|
+
"Somente hora do dia sem data; prefira um campo de hora.",
|
|
5401
|
+
"Texto livre; prefira SgInputText."
|
|
5402
|
+
],
|
|
5403
|
+
"synonyms": [
|
|
5404
|
+
"datetime input",
|
|
5405
|
+
"date time picker",
|
|
5406
|
+
"timestamp field",
|
|
5407
|
+
"appointment field"
|
|
5408
|
+
],
|
|
5409
|
+
"relatedEntityFields": [
|
|
5410
|
+
"createdAt",
|
|
5411
|
+
"scheduledAt",
|
|
5412
|
+
"startsAt",
|
|
5413
|
+
"endsAt",
|
|
5414
|
+
"dueAt",
|
|
5415
|
+
"timestamp"
|
|
5416
|
+
],
|
|
5417
|
+
"compositionHints": [
|
|
5418
|
+
"Combinar dois campos (inicio/fim) com minDate/maxDate para intervalos.",
|
|
5419
|
+
"Usar dentro de SgPanel em formularios de agenda."
|
|
5420
|
+
],
|
|
5421
|
+
"rankingSignals": {
|
|
5422
|
+
"freeText": 0,
|
|
5423
|
+
"structuredChoice": 0.1,
|
|
5424
|
+
"date": 0.95,
|
|
5425
|
+
"number": 0,
|
|
5426
|
+
"denseLayout": 0.7
|
|
5427
|
+
}
|
|
5428
|
+
}
|
|
5429
|
+
},
|
|
5430
|
+
{
|
|
5431
|
+
"componentId": "form.input.file-upload",
|
|
5432
|
+
"exportName": "SgFileUpload",
|
|
5433
|
+
"sgMeta": {
|
|
5434
|
+
"version": "0.1",
|
|
5435
|
+
"componentId": "form.input.file-upload",
|
|
5436
|
+
"package": "@seedgrid/fe-components",
|
|
5437
|
+
"exportName": "SgFileUpload",
|
|
5438
|
+
"slug": "sg-file-upload",
|
|
5439
|
+
"displayName": "SgFileUpload",
|
|
5440
|
+
"category": "input",
|
|
5441
|
+
"subcategory": "file",
|
|
5442
|
+
"description": "Seleciona um ou varios arquivos (clique ou arrastar e soltar), confere o tipo pelo conteudo e valida quantidade e tamanho (por arquivo e total). Mostra a lista com o icone do tipo e permite remover. Nao envia nada ao servidor: entrega os arquivos ao pai.",
|
|
5443
|
+
"tags": [
|
|
5444
|
+
"form",
|
|
5445
|
+
"file",
|
|
5446
|
+
"upload",
|
|
5447
|
+
"attachment",
|
|
5448
|
+
"document",
|
|
5449
|
+
"pdf",
|
|
5450
|
+
"spreadsheet",
|
|
5451
|
+
"rhf"
|
|
5452
|
+
],
|
|
5453
|
+
"capabilities": [
|
|
5454
|
+
"rhf",
|
|
5455
|
+
"controlled",
|
|
5456
|
+
"drag-and-drop",
|
|
5457
|
+
"multiple",
|
|
5458
|
+
"validation"
|
|
5459
|
+
],
|
|
5460
|
+
"fieldSemantics": [
|
|
5461
|
+
"file",
|
|
5462
|
+
"attachment",
|
|
5463
|
+
"document",
|
|
5464
|
+
"upload",
|
|
5465
|
+
"pdf",
|
|
5466
|
+
"spreadsheet"
|
|
5467
|
+
],
|
|
5468
|
+
"props": [
|
|
5469
|
+
{
|
|
5470
|
+
"name": "id",
|
|
5471
|
+
"type": "string",
|
|
5472
|
+
"required": true,
|
|
5473
|
+
"description": "Identificador unico do campo.",
|
|
5474
|
+
"semanticRole": "data",
|
|
5475
|
+
"bindable": false
|
|
5476
|
+
},
|
|
5477
|
+
{
|
|
5478
|
+
"name": "name",
|
|
5479
|
+
"type": "string",
|
|
5480
|
+
"required": false,
|
|
5481
|
+
"description": "Nome do campo para formularios.",
|
|
5482
|
+
"semanticRole": "data",
|
|
5483
|
+
"bindable": true
|
|
5484
|
+
},
|
|
5485
|
+
{
|
|
5486
|
+
"name": "label",
|
|
5487
|
+
"type": "string",
|
|
5488
|
+
"required": false,
|
|
5489
|
+
"description": "Rotulo exibido acima da area.",
|
|
5490
|
+
"semanticRole": "label",
|
|
5491
|
+
"bindable": true
|
|
5492
|
+
},
|
|
5493
|
+
{
|
|
5494
|
+
"name": "value",
|
|
5495
|
+
"type": "SgFileValue[] | null",
|
|
5496
|
+
"required": false,
|
|
5497
|
+
"description": "Arquivos controlados (sempre lista; um arquivo = lista de um). Um arquivo ja salvo entra como { name, url }.",
|
|
5498
|
+
"semanticRole": "data",
|
|
5499
|
+
"bindable": true
|
|
5500
|
+
},
|
|
5501
|
+
{
|
|
5502
|
+
"name": "mediaType",
|
|
5503
|
+
"type": "MediaType[]",
|
|
5504
|
+
"required": false,
|
|
5505
|
+
"description": "Tipos aceitos: image, video, audio, pdf, doc, docx, xls, xlsx, ppt, pptx, csv, txt, zip ou all. O tipo e conferido pelo conteudo do arquivo.",
|
|
5506
|
+
"semanticRole": "validation",
|
|
5507
|
+
"bindable": true
|
|
5508
|
+
},
|
|
5509
|
+
{
|
|
5510
|
+
"name": "accept",
|
|
5511
|
+
"type": "string",
|
|
5512
|
+
"required": false,
|
|
5513
|
+
"description": "Tipos extras em texto livre (.pdf, image/png, image/*), separados por virgula; soma-se ao mediaType.",
|
|
5514
|
+
"semanticRole": "validation",
|
|
5515
|
+
"bindable": true
|
|
5516
|
+
},
|
|
5517
|
+
{
|
|
5518
|
+
"name": "maxFiles",
|
|
5519
|
+
"type": "number",
|
|
5520
|
+
"required": false,
|
|
5521
|
+
"default": 1,
|
|
5522
|
+
"description": "Quantos arquivos o campo guarda. Com 1, escolher outro substitui; maior que 1 liga a selecao multipla.",
|
|
5523
|
+
"semanticRole": "validation",
|
|
5524
|
+
"bindable": true
|
|
5525
|
+
},
|
|
5526
|
+
{
|
|
5527
|
+
"name": "maxSizePerFile",
|
|
5528
|
+
"type": "SizeLimit",
|
|
5529
|
+
"required": false,
|
|
5530
|
+
"description": "Tamanho maximo de cada arquivo: bytes (numero) ou texto com unidade (\"500KB\", \"1.5MB\", \"1GB\").",
|
|
5531
|
+
"semanticRole": "validation",
|
|
5532
|
+
"bindable": true
|
|
5533
|
+
},
|
|
5534
|
+
{
|
|
5535
|
+
"name": "maxSizeTotal",
|
|
5536
|
+
"type": "SizeLimit",
|
|
5537
|
+
"required": false,
|
|
5538
|
+
"description": "Tamanho maximo da soma dos arquivos: bytes (numero) ou texto com unidade.",
|
|
5539
|
+
"semanticRole": "validation",
|
|
5540
|
+
"bindable": true
|
|
5541
|
+
},
|
|
5542
|
+
{
|
|
5543
|
+
"name": "enabled",
|
|
5544
|
+
"type": "boolean",
|
|
5545
|
+
"required": false,
|
|
5546
|
+
"default": true,
|
|
5547
|
+
"description": "Desabilita a escolha e a remocao.",
|
|
5548
|
+
"semanticRole": "appearance",
|
|
5549
|
+
"bindable": true
|
|
5550
|
+
},
|
|
5551
|
+
{
|
|
5552
|
+
"name": "onChange",
|
|
5553
|
+
"type": "(files: SgFileValue[]) => void",
|
|
5554
|
+
"required": false,
|
|
5555
|
+
"description": "Lista de arquivos validos apos escolher ou remover.",
|
|
5556
|
+
"semanticRole": "event",
|
|
5557
|
+
"bindable": false
|
|
5558
|
+
},
|
|
5559
|
+
{
|
|
5560
|
+
"name": "onError",
|
|
5561
|
+
"type": "(code: FileErrorCode, message: string, fileName: string) => void",
|
|
5562
|
+
"required": false,
|
|
5563
|
+
"description": "Arquivo recusado (type, size, total, count). Os demais seguem validos.",
|
|
5564
|
+
"semanticRole": "event",
|
|
5565
|
+
"bindable": false
|
|
5566
|
+
},
|
|
5567
|
+
{
|
|
5568
|
+
"name": "defaultValue",
|
|
5569
|
+
"type": "SgFileValue[]",
|
|
5570
|
+
"required": false,
|
|
5571
|
+
"description": "Arquivos iniciais (campo nao controlado)."
|
|
5572
|
+
},
|
|
5573
|
+
{
|
|
5574
|
+
"name": "dropManyTextKey",
|
|
5575
|
+
"type": "string",
|
|
5576
|
+
"required": false
|
|
5577
|
+
},
|
|
5578
|
+
{
|
|
5579
|
+
"name": "dropTextKey",
|
|
5580
|
+
"type": "string",
|
|
5581
|
+
"required": false,
|
|
5582
|
+
"description": "Chaves de i18n do texto da area vazia (um arquivo / varios)."
|
|
5583
|
+
},
|
|
5584
|
+
{
|
|
5585
|
+
"name": "error",
|
|
5586
|
+
"type": "string",
|
|
5587
|
+
"required": false
|
|
5588
|
+
},
|
|
5589
|
+
{
|
|
5590
|
+
"name": "extraCheck",
|
|
5591
|
+
"type": "((file: File, info: { mime: string; }) => Promise<SgFileRejection | null>)",
|
|
5592
|
+
"required": false,
|
|
5593
|
+
"description": "Regra extra, assincrona, por arquivo (depois da conferencia de tipo). E como o SgImageUpload confere dimensao."
|
|
5594
|
+
},
|
|
5595
|
+
{
|
|
5596
|
+
"name": "hintText",
|
|
5597
|
+
"type": "string",
|
|
5598
|
+
"required": false
|
|
5599
|
+
},
|
|
5600
|
+
{
|
|
5601
|
+
"name": "keyPrefix",
|
|
5602
|
+
"type": "string",
|
|
5603
|
+
"required": false,
|
|
5604
|
+
"description": "Prefixo do `data-sg` dos elementos internos (`sg-file`, `sg-image`)."
|
|
5605
|
+
},
|
|
5606
|
+
{
|
|
5607
|
+
"name": "labelText",
|
|
5608
|
+
"type": "string",
|
|
5609
|
+
"required": false
|
|
5610
|
+
},
|
|
5611
|
+
{
|
|
5612
|
+
"name": "onEnter",
|
|
5613
|
+
"type": "(() => void)",
|
|
5614
|
+
"required": false
|
|
5615
|
+
},
|
|
5616
|
+
{
|
|
5617
|
+
"name": "onExit",
|
|
5618
|
+
"type": "(() => void)",
|
|
5619
|
+
"required": false
|
|
5620
|
+
},
|
|
5621
|
+
{
|
|
5622
|
+
"name": "pickerAccept",
|
|
5623
|
+
"type": "string",
|
|
5624
|
+
"required": false,
|
|
5625
|
+
"description": "Valor do atributo `accept` do seletor do navegador (padrao: derivado de mediaType/accept)."
|
|
5626
|
+
},
|
|
5627
|
+
{
|
|
5628
|
+
"name": "readOnly",
|
|
5629
|
+
"type": "boolean",
|
|
5630
|
+
"required": false
|
|
5631
|
+
},
|
|
5632
|
+
{
|
|
5633
|
+
"name": "required",
|
|
5634
|
+
"type": "boolean",
|
|
5635
|
+
"required": false
|
|
5636
|
+
},
|
|
5637
|
+
{
|
|
5638
|
+
"name": "requiredMessage",
|
|
5639
|
+
"type": "string",
|
|
5640
|
+
"required": false
|
|
5641
|
+
},
|
|
5642
|
+
{
|
|
5643
|
+
"name": "thumbnailBuilder",
|
|
5644
|
+
"type": "((file: SgFileValue, size: number) => ReactNode)",
|
|
5645
|
+
"required": false,
|
|
5646
|
+
"description": "Miniatura de cada arquivo (sem ela, a lista usa o icone do tipo)."
|
|
5647
|
+
},
|
|
5648
|
+
{
|
|
5649
|
+
"name": "thumbnailSize",
|
|
5650
|
+
"type": "number",
|
|
5651
|
+
"required": false,
|
|
5652
|
+
"description": "Lado da miniatura em px (padrao 96)."
|
|
5653
|
+
},
|
|
5654
|
+
{
|
|
5655
|
+
"name": "typeNames",
|
|
5656
|
+
"type": "string",
|
|
5657
|
+
"required": false,
|
|
5658
|
+
"description": "Texto dos tipos aceitos na mensagem de tipo recusado (padrao: mediaType/accept)."
|
|
5659
|
+
}
|
|
5660
|
+
],
|
|
5661
|
+
"states": [
|
|
5662
|
+
"default",
|
|
5663
|
+
"focused",
|
|
5664
|
+
"loading",
|
|
5665
|
+
"disabled",
|
|
5666
|
+
"readOnly",
|
|
5667
|
+
"error"
|
|
5668
|
+
],
|
|
5669
|
+
"examples": [
|
|
5670
|
+
{
|
|
5671
|
+
"id": "basic",
|
|
5672
|
+
"title": "Basico",
|
|
5673
|
+
"file": "apps/showcase/src/app/components/sg-file-upload/samples/basico.tsx.sample",
|
|
5674
|
+
"kind": "sample"
|
|
5675
|
+
},
|
|
5676
|
+
{
|
|
5677
|
+
"id": "many",
|
|
5678
|
+
"title": "Varios arquivos",
|
|
5679
|
+
"file": "apps/showcase/src/app/components/sg-file-upload/samples/varios.tsx.sample",
|
|
5680
|
+
"kind": "sample"
|
|
5681
|
+
},
|
|
5682
|
+
{
|
|
5683
|
+
"id": "playground",
|
|
5684
|
+
"title": "Playground",
|
|
5685
|
+
"file": "apps/showcase/src/app/components/sg-file-upload/sg-file-upload.tsx.playground",
|
|
5686
|
+
"kind": "playground"
|
|
5687
|
+
}
|
|
5688
|
+
],
|
|
5689
|
+
"showcase": {
|
|
5690
|
+
"route": "/components/sg-file-upload",
|
|
5691
|
+
"hasPlayground": true,
|
|
5692
|
+
"hasPropsTable": true
|
|
5693
|
+
},
|
|
5694
|
+
"sdui": {
|
|
5695
|
+
"rendererType": "field.file",
|
|
5696
|
+
"acceptsDataBinding": true,
|
|
5697
|
+
"defaultProps": {}
|
|
5698
|
+
}
|
|
5699
|
+
},
|
|
5700
|
+
"aiHints": {
|
|
5701
|
+
"version": "0.1",
|
|
5702
|
+
"preferredUseCases": [
|
|
5703
|
+
"Anexar um ou varios documentos (PDF, planilhas, apresentacoes, zip) a um cadastro ou solicitacao.",
|
|
5704
|
+
"Escolher arquivos validando tipo (pelo conteudo), quantidade e tamanho antes de enviar.",
|
|
5705
|
+
"Formularios que precisam de arquivos como campo."
|
|
5706
|
+
],
|
|
5707
|
+
"avoidUseCases": [
|
|
5708
|
+
"Fotos e imagens com miniatura, dimensao minima ou proporcao; para isso use SgImageUpload.",
|
|
5709
|
+
"Capturar pela camera do dispositivo; para isso use SgCameraCapture.",
|
|
5710
|
+
"Envio ao servidor ou progresso de upload; nao fazem parte do componente."
|
|
5711
|
+
],
|
|
5712
|
+
"synonyms": [
|
|
5713
|
+
"file upload",
|
|
5714
|
+
"attachment",
|
|
5715
|
+
"anexar arquivo",
|
|
5716
|
+
"upload de arquivo",
|
|
5717
|
+
"documento",
|
|
5718
|
+
"file picker"
|
|
5719
|
+
],
|
|
5720
|
+
"relatedEntityFields": [
|
|
5721
|
+
"attachment",
|
|
5722
|
+
"document",
|
|
5723
|
+
"file",
|
|
5724
|
+
"contract",
|
|
5725
|
+
"invoice",
|
|
5726
|
+
"receipt"
|
|
5727
|
+
],
|
|
5728
|
+
"compositionHints": [
|
|
5729
|
+
"Envie os arquivos recebidos em onChange pelo servico de arquivos do host; o componente nunca envia sozinho.",
|
|
5730
|
+
"Para imagens com miniatura e regras de dimensao, use SgImageUpload (composicao deste componente)."
|
|
5731
|
+
],
|
|
5732
|
+
"rankingSignals": {
|
|
5733
|
+
"freeText": 0,
|
|
5734
|
+
"structuredChoice": 0.1,
|
|
5735
|
+
"date": 0,
|
|
5736
|
+
"number": 0,
|
|
5737
|
+
"denseLayout": 0.4
|
|
5738
|
+
}
|
|
5739
|
+
}
|
|
5740
|
+
},
|
|
5741
|
+
{
|
|
5742
|
+
"componentId": "form.input.image-upload",
|
|
5743
|
+
"exportName": "SgImageUpload",
|
|
5744
|
+
"sgMeta": {
|
|
5745
|
+
"version": "0.1",
|
|
5746
|
+
"componentId": "form.input.image-upload",
|
|
5747
|
+
"package": "@seedgrid/fe-components",
|
|
5748
|
+
"exportName": "SgImageUpload",
|
|
5749
|
+
"slug": "sg-image-upload",
|
|
5750
|
+
"displayName": "SgImageUpload",
|
|
5751
|
+
"category": "input",
|
|
5752
|
+
"subcategory": "file",
|
|
5753
|
+
"description": "Seleciona uma ou varias imagens (clique ou arrastar e soltar), valida tipo (pelo conteudo), tamanho, dimensao minima e proporcao, mostra as miniaturas e permite remover. Composicao do SgFileUpload. Nao envia nada ao servidor: entrega os arquivos ao pai.",
|
|
5754
|
+
"tags": [
|
|
5755
|
+
"form",
|
|
5756
|
+
"image",
|
|
5757
|
+
"upload",
|
|
5758
|
+
"photo",
|
|
5759
|
+
"avatar",
|
|
5760
|
+
"file",
|
|
5761
|
+
"rhf"
|
|
5762
|
+
],
|
|
5763
|
+
"capabilities": [
|
|
5764
|
+
"rhf",
|
|
5765
|
+
"controlled",
|
|
5766
|
+
"drag-and-drop",
|
|
5767
|
+
"preview",
|
|
5768
|
+
"validation"
|
|
5769
|
+
],
|
|
5770
|
+
"fieldSemantics": [
|
|
5771
|
+
"image",
|
|
5772
|
+
"photo",
|
|
5773
|
+
"avatar",
|
|
5774
|
+
"logo",
|
|
5775
|
+
"picture",
|
|
5776
|
+
"attachment"
|
|
5777
|
+
],
|
|
5778
|
+
"props": [
|
|
5779
|
+
{
|
|
5780
|
+
"name": "id",
|
|
5781
|
+
"type": "string",
|
|
5782
|
+
"required": true,
|
|
5783
|
+
"description": "Identificador unico do campo.",
|
|
5784
|
+
"semanticRole": "data",
|
|
5785
|
+
"bindable": false
|
|
5786
|
+
},
|
|
5787
|
+
{
|
|
5788
|
+
"name": "name",
|
|
5789
|
+
"type": "string",
|
|
5790
|
+
"required": false,
|
|
5791
|
+
"description": "Nome do campo para formularios.",
|
|
5792
|
+
"semanticRole": "data",
|
|
5793
|
+
"bindable": true
|
|
5794
|
+
},
|
|
5795
|
+
{
|
|
5796
|
+
"name": "label",
|
|
5797
|
+
"type": "string",
|
|
5798
|
+
"required": false,
|
|
5799
|
+
"description": "Rotulo exibido acima da area.",
|
|
5800
|
+
"semanticRole": "label",
|
|
5801
|
+
"bindable": true
|
|
5802
|
+
},
|
|
5803
|
+
{
|
|
5804
|
+
"name": "value",
|
|
5805
|
+
"type": "SgFileValue[] | null",
|
|
5806
|
+
"required": false,
|
|
5807
|
+
"description": "Imagens controladas (sempre lista; uma imagem = lista de uma). Uma imagem ja salva entra como { name, url }.",
|
|
5808
|
+
"semanticRole": "data",
|
|
5809
|
+
"bindable": true
|
|
5810
|
+
},
|
|
5811
|
+
{
|
|
5812
|
+
"name": "accept",
|
|
5813
|
+
"type": "string",
|
|
5814
|
+
"required": false,
|
|
5815
|
+
"description": "Restringe os formatos de imagem em texto livre (.png, image/jpeg), separados por virgula.",
|
|
5816
|
+
"semanticRole": "validation",
|
|
5817
|
+
"bindable": true
|
|
5818
|
+
},
|
|
5819
|
+
{
|
|
5820
|
+
"name": "maxFiles",
|
|
5821
|
+
"type": "number",
|
|
5822
|
+
"required": false,
|
|
5823
|
+
"default": 1,
|
|
5824
|
+
"description": "Quantas imagens o campo guarda. Com 1, escolher outra substitui; maior que 1 liga a selecao multipla e a grade de miniaturas.",
|
|
5825
|
+
"semanticRole": "validation",
|
|
5826
|
+
"bindable": true
|
|
5827
|
+
},
|
|
5828
|
+
{
|
|
5829
|
+
"name": "maxSizePerFile",
|
|
5830
|
+
"type": "SizeLimit",
|
|
5831
|
+
"required": false,
|
|
5832
|
+
"description": "Tamanho maximo de cada imagem: bytes (numero) ou texto com unidade (\"500KB\", \"2MB\").",
|
|
5833
|
+
"semanticRole": "validation",
|
|
5834
|
+
"bindable": true
|
|
5835
|
+
},
|
|
5836
|
+
{
|
|
5837
|
+
"name": "maxSizeTotal",
|
|
5838
|
+
"type": "SizeLimit",
|
|
5839
|
+
"required": false,
|
|
5840
|
+
"description": "Tamanho maximo da soma das imagens: bytes (numero) ou texto com unidade.",
|
|
5841
|
+
"semanticRole": "validation",
|
|
5842
|
+
"bindable": true
|
|
5843
|
+
},
|
|
5844
|
+
{
|
|
5845
|
+
"name": "minWidth",
|
|
5846
|
+
"type": "number",
|
|
5847
|
+
"required": false,
|
|
5848
|
+
"description": "Largura minima em px.",
|
|
5849
|
+
"semanticRole": "validation",
|
|
5850
|
+
"bindable": true
|
|
5851
|
+
},
|
|
5852
|
+
{
|
|
5853
|
+
"name": "minHeight",
|
|
5854
|
+
"type": "number",
|
|
5855
|
+
"required": false,
|
|
5856
|
+
"description": "Altura minima em px.",
|
|
5857
|
+
"semanticRole": "validation",
|
|
5858
|
+
"bindable": true
|
|
5859
|
+
},
|
|
5860
|
+
{
|
|
5861
|
+
"name": "aspect",
|
|
5862
|
+
"type": "number",
|
|
5863
|
+
"required": false,
|
|
5864
|
+
"description": "Proporcao largura/altura exigida (1 = quadrada).",
|
|
5865
|
+
"semanticRole": "validation",
|
|
5866
|
+
"bindable": true
|
|
5867
|
+
},
|
|
5868
|
+
{
|
|
5869
|
+
"name": "enabled",
|
|
5870
|
+
"type": "boolean",
|
|
5871
|
+
"required": false,
|
|
5872
|
+
"default": true,
|
|
5873
|
+
"description": "Desabilita a escolha e a remocao.",
|
|
5874
|
+
"semanticRole": "appearance",
|
|
5875
|
+
"bindable": true
|
|
5876
|
+
},
|
|
5877
|
+
{
|
|
5878
|
+
"name": "onChange",
|
|
5879
|
+
"type": "(files: SgFileValue[]) => void",
|
|
5880
|
+
"required": false,
|
|
5881
|
+
"description": "Lista de imagens validas apos escolher ou remover.",
|
|
5882
|
+
"semanticRole": "event",
|
|
5883
|
+
"bindable": false
|
|
5884
|
+
},
|
|
5885
|
+
{
|
|
5886
|
+
"name": "onError",
|
|
5887
|
+
"type": "(code: FileErrorCode, message: string, fileName: string) => void",
|
|
5888
|
+
"required": false,
|
|
5889
|
+
"description": "Imagem recusada (type, size, total, count, dimension, aspect). As demais seguem validas.",
|
|
5890
|
+
"semanticRole": "event",
|
|
5891
|
+
"bindable": false
|
|
5892
|
+
},
|
|
5893
|
+
{
|
|
5894
|
+
"name": "defaultValue",
|
|
5895
|
+
"type": "SgFileValue[]",
|
|
5896
|
+
"required": false,
|
|
5897
|
+
"description": "Arquivos iniciais (campo nao controlado)."
|
|
5898
|
+
},
|
|
5899
|
+
{
|
|
5900
|
+
"name": "error",
|
|
5901
|
+
"type": "string",
|
|
5902
|
+
"required": false
|
|
5903
|
+
},
|
|
5904
|
+
{
|
|
5905
|
+
"name": "hintText",
|
|
5906
|
+
"type": "string",
|
|
5907
|
+
"required": false
|
|
5908
|
+
},
|
|
5909
|
+
{
|
|
5910
|
+
"name": "labelText",
|
|
5911
|
+
"type": "string",
|
|
5912
|
+
"required": false
|
|
5913
|
+
},
|
|
5914
|
+
{
|
|
5915
|
+
"name": "onEnter",
|
|
5916
|
+
"type": "(() => void)",
|
|
5917
|
+
"required": false
|
|
5918
|
+
},
|
|
5919
|
+
{
|
|
5920
|
+
"name": "onExit",
|
|
5921
|
+
"type": "(() => void)",
|
|
5922
|
+
"required": false
|
|
5923
|
+
},
|
|
5924
|
+
{
|
|
5925
|
+
"name": "previewHeight",
|
|
5926
|
+
"type": "number",
|
|
5927
|
+
"required": false,
|
|
5928
|
+
"description": "Altura da miniatura em px (padrao 160; na grade, no maximo 120)."
|
|
5929
|
+
},
|
|
5930
|
+
{
|
|
5931
|
+
"name": "readOnly",
|
|
5932
|
+
"type": "boolean",
|
|
5933
|
+
"required": false
|
|
5934
|
+
},
|
|
5935
|
+
{
|
|
5936
|
+
"name": "required",
|
|
5937
|
+
"type": "boolean",
|
|
5938
|
+
"required": false
|
|
5939
|
+
},
|
|
5940
|
+
{
|
|
5941
|
+
"name": "requiredMessage",
|
|
5942
|
+
"type": "string",
|
|
5943
|
+
"required": false
|
|
5944
|
+
}
|
|
5945
|
+
],
|
|
5946
|
+
"states": [
|
|
5947
|
+
"default",
|
|
5948
|
+
"focused",
|
|
5949
|
+
"loading",
|
|
5950
|
+
"disabled",
|
|
5951
|
+
"readOnly",
|
|
5952
|
+
"error"
|
|
5953
|
+
],
|
|
5954
|
+
"examples": [
|
|
5955
|
+
{
|
|
5956
|
+
"id": "basic",
|
|
5957
|
+
"title": "Basico",
|
|
5958
|
+
"file": "apps/showcase/src/app/components/sg-image-upload/samples/basico.tsx.sample",
|
|
5959
|
+
"kind": "sample"
|
|
5960
|
+
},
|
|
5961
|
+
{
|
|
5962
|
+
"id": "many",
|
|
5963
|
+
"title": "Varias imagens",
|
|
5964
|
+
"file": "apps/showcase/src/app/components/sg-image-upload/samples/varias.tsx.sample",
|
|
5965
|
+
"kind": "sample"
|
|
5966
|
+
},
|
|
5967
|
+
{
|
|
5968
|
+
"id": "playground",
|
|
5969
|
+
"title": "Playground",
|
|
5970
|
+
"file": "apps/showcase/src/app/components/sg-image-upload/sg-image-upload.tsx.playground",
|
|
5971
|
+
"kind": "playground"
|
|
5972
|
+
}
|
|
5973
|
+
],
|
|
5974
|
+
"showcase": {
|
|
5975
|
+
"route": "/components/sg-image-upload",
|
|
5976
|
+
"hasPlayground": true,
|
|
5977
|
+
"hasPropsTable": true
|
|
5978
|
+
},
|
|
5979
|
+
"sdui": {
|
|
5980
|
+
"rendererType": "field.image",
|
|
5981
|
+
"acceptsDataBinding": true,
|
|
5982
|
+
"defaultProps": {}
|
|
5983
|
+
}
|
|
5984
|
+
},
|
|
5985
|
+
"aiHints": {
|
|
5986
|
+
"version": "0.1",
|
|
5987
|
+
"preferredUseCases": [
|
|
5988
|
+
"Foto de perfil, avatar, logotipo ou foto de documento com pre-visualizacao.",
|
|
5989
|
+
"Escolher uma ou varias imagens validando tipo, tamanho e dimensao antes de enviar.",
|
|
5990
|
+
"Formularios que precisam de imagens como campo."
|
|
5991
|
+
],
|
|
5992
|
+
"avoidUseCases": [
|
|
5993
|
+
"Arquivos que nao sao imagem (PDF, planilhas); nesses casos use SgFileUpload.",
|
|
5994
|
+
"Capturar pela camera do dispositivo; para isso use SgCameraCapture.",
|
|
5995
|
+
"Recorte ou compressao de imagem; nao fazem parte do componente."
|
|
5996
|
+
],
|
|
5997
|
+
"synonyms": [
|
|
5998
|
+
"image upload",
|
|
5999
|
+
"photo upload",
|
|
6000
|
+
"avatar picker",
|
|
6001
|
+
"enviar foto",
|
|
6002
|
+
"upload de imagem",
|
|
6003
|
+
"logo upload"
|
|
6004
|
+
],
|
|
6005
|
+
"relatedEntityFields": [
|
|
6006
|
+
"photo",
|
|
6007
|
+
"avatar",
|
|
6008
|
+
"logo",
|
|
6009
|
+
"image",
|
|
6010
|
+
"picture",
|
|
6011
|
+
"documentPhoto"
|
|
6012
|
+
],
|
|
6013
|
+
"compositionHints": [
|
|
6014
|
+
"Envie os arquivos recebidos em onChange pelo servico de arquivos do host; o componente nunca envia sozinho.",
|
|
6015
|
+
"Combine com SgPanel e SgInputText em cadastros de pessoa ou produto."
|
|
6016
|
+
],
|
|
6017
|
+
"rankingSignals": {
|
|
6018
|
+
"freeText": 0,
|
|
6019
|
+
"structuredChoice": 0.1,
|
|
6020
|
+
"date": 0,
|
|
6021
|
+
"number": 0,
|
|
6022
|
+
"denseLayout": 0.4
|
|
6023
|
+
}
|
|
6024
|
+
}
|
|
6025
|
+
},
|
|
6026
|
+
{
|
|
6027
|
+
"componentId": "form.input.camera-capture",
|
|
6028
|
+
"exportName": "SgCameraCapture",
|
|
6029
|
+
"sgMeta": {
|
|
6030
|
+
"version": "0.1",
|
|
6031
|
+
"componentId": "form.input.camera-capture",
|
|
6032
|
+
"package": "@seedgrid/fe-components",
|
|
6033
|
+
"exportName": "SgCameraCapture",
|
|
6034
|
+
"slug": "sg-camera-capture",
|
|
6035
|
+
"displayName": "SgCameraCapture",
|
|
6036
|
+
"category": "input",
|
|
6037
|
+
"subcategory": "camera",
|
|
6038
|
+
"description": "Pre-visualizacao da camera com guia de enquadramento (oval ou retangulo), alternancia entre frontal e traseira e captura que devolve a imagem ao pai. Mostra os estados sem permissao e sem camera. Nao envia nada ao servidor.",
|
|
6039
|
+
"tags": [
|
|
6040
|
+
"camera",
|
|
6041
|
+
"photo",
|
|
6042
|
+
"capture",
|
|
6043
|
+
"selfie",
|
|
6044
|
+
"getUserMedia",
|
|
6045
|
+
"input"
|
|
6046
|
+
],
|
|
6047
|
+
"capabilities": [
|
|
6048
|
+
"camera",
|
|
6049
|
+
"preview",
|
|
6050
|
+
"guide-overlay",
|
|
6051
|
+
"switch-camera",
|
|
6052
|
+
"capture"
|
|
6053
|
+
],
|
|
6054
|
+
"fieldSemantics": [
|
|
6055
|
+
"photo",
|
|
6056
|
+
"selfie",
|
|
6057
|
+
"picture",
|
|
6058
|
+
"documentPhoto",
|
|
6059
|
+
"avatar"
|
|
6060
|
+
],
|
|
6061
|
+
"props": [
|
|
6062
|
+
{
|
|
6063
|
+
"name": "id",
|
|
6064
|
+
"type": "string",
|
|
6065
|
+
"required": true,
|
|
6066
|
+
"description": "Identificador unico do componente.",
|
|
6067
|
+
"semanticRole": "data",
|
|
6068
|
+
"bindable": false
|
|
6069
|
+
},
|
|
6070
|
+
{
|
|
6071
|
+
"name": "label",
|
|
6072
|
+
"type": "string",
|
|
6073
|
+
"required": false,
|
|
6074
|
+
"description": "Rotulo exibido acima da pre-visualizacao.",
|
|
6075
|
+
"semanticRole": "label",
|
|
6076
|
+
"bindable": true
|
|
6077
|
+
},
|
|
6078
|
+
{
|
|
6079
|
+
"name": "facing",
|
|
6080
|
+
"type": "\"user\" | \"environment\"",
|
|
6081
|
+
"required": false,
|
|
6082
|
+
"default": "user",
|
|
6083
|
+
"description": "Camera inicial: frontal (user) ou traseira (environment).",
|
|
6084
|
+
"semanticRole": "appearance",
|
|
6085
|
+
"bindable": true
|
|
6086
|
+
},
|
|
6087
|
+
{
|
|
6088
|
+
"name": "guide",
|
|
6089
|
+
"type": "\"none\" | \"oval\" | \"rect\"",
|
|
6090
|
+
"required": false,
|
|
6091
|
+
"default": "none",
|
|
6092
|
+
"description": "Guia de enquadramento sobre a pre-visualizacao.",
|
|
6093
|
+
"semanticRole": "appearance",
|
|
6094
|
+
"bindable": true
|
|
6095
|
+
},
|
|
6096
|
+
{
|
|
6097
|
+
"name": "resolution",
|
|
6098
|
+
"type": "\"low\" | \"medium\" | \"high\"",
|
|
6099
|
+
"required": false,
|
|
6100
|
+
"default": "medium",
|
|
6101
|
+
"description": "Resolucao pedida (640x480, 1280x720, 1920x1080).",
|
|
6102
|
+
"semanticRole": "appearance",
|
|
6103
|
+
"bindable": true
|
|
6104
|
+
},
|
|
6105
|
+
{
|
|
6106
|
+
"name": "allowSwitch",
|
|
6107
|
+
"type": "boolean",
|
|
6108
|
+
"required": false,
|
|
6109
|
+
"default": true,
|
|
6110
|
+
"description": "Mostra o botao de alternar entre frontal e traseira.",
|
|
6111
|
+
"semanticRole": "appearance",
|
|
6112
|
+
"bindable": true
|
|
6113
|
+
},
|
|
6114
|
+
{
|
|
6115
|
+
"name": "previewHeight",
|
|
6116
|
+
"type": "number",
|
|
6117
|
+
"required": false,
|
|
6118
|
+
"default": 320,
|
|
6119
|
+
"description": "Altura da pre-visualizacao em px.",
|
|
6120
|
+
"semanticRole": "appearance",
|
|
6121
|
+
"bindable": true
|
|
6122
|
+
},
|
|
6123
|
+
{
|
|
6124
|
+
"name": "enabled",
|
|
6125
|
+
"type": "boolean",
|
|
6126
|
+
"required": false,
|
|
6127
|
+
"default": true,
|
|
6128
|
+
"description": "Nao abre a camera nem permite capturar.",
|
|
6129
|
+
"semanticRole": "appearance",
|
|
6130
|
+
"bindable": true
|
|
6131
|
+
},
|
|
6132
|
+
{
|
|
6133
|
+
"name": "onCapture",
|
|
6134
|
+
"type": "(image: Blob) => void",
|
|
6135
|
+
"required": false,
|
|
6136
|
+
"description": "Imagem JPEG capturada.",
|
|
6137
|
+
"semanticRole": "event",
|
|
6138
|
+
"bindable": false
|
|
6139
|
+
},
|
|
6140
|
+
{
|
|
6141
|
+
"name": "onError",
|
|
6142
|
+
"type": "(code, message) => void",
|
|
6143
|
+
"required": false,
|
|
6144
|
+
"description": "Camera indisponivel (permission, noCamera, failed).",
|
|
6145
|
+
"semanticRole": "event",
|
|
6146
|
+
"bindable": false
|
|
6147
|
+
},
|
|
6148
|
+
{
|
|
6149
|
+
"name": "hintText",
|
|
6150
|
+
"type": "string",
|
|
6151
|
+
"required": false
|
|
6152
|
+
},
|
|
6153
|
+
{
|
|
6154
|
+
"name": "labelText",
|
|
6155
|
+
"type": "string",
|
|
6156
|
+
"required": false
|
|
6157
|
+
}
|
|
6158
|
+
],
|
|
6159
|
+
"states": [
|
|
6160
|
+
"default",
|
|
6161
|
+
"starting",
|
|
6162
|
+
"ready",
|
|
6163
|
+
"permission",
|
|
6164
|
+
"noCamera",
|
|
6165
|
+
"failed",
|
|
6166
|
+
"disabled"
|
|
6167
|
+
],
|
|
6168
|
+
"examples": [
|
|
6169
|
+
{
|
|
6170
|
+
"id": "basic",
|
|
6171
|
+
"title": "Basico",
|
|
6172
|
+
"file": "apps/showcase/src/app/components/sg-camera-capture/samples/basico.tsx.sample",
|
|
4979
6173
|
"kind": "sample"
|
|
4980
6174
|
},
|
|
4981
6175
|
{
|
|
4982
6176
|
"id": "playground",
|
|
4983
6177
|
"title": "Playground",
|
|
4984
|
-
"file": "apps/showcase/src/app/components/sg-
|
|
6178
|
+
"file": "apps/showcase/src/app/components/sg-camera-capture/sg-camera-capture.tsx.playground",
|
|
4985
6179
|
"kind": "playground"
|
|
4986
6180
|
}
|
|
4987
6181
|
],
|
|
4988
6182
|
"showcase": {
|
|
4989
|
-
"route": "/components/sg-
|
|
6183
|
+
"route": "/components/sg-camera-capture",
|
|
4990
6184
|
"hasPlayground": true,
|
|
4991
6185
|
"hasPropsTable": true
|
|
4992
6186
|
},
|
|
4993
6187
|
"sdui": {
|
|
4994
|
-
"rendererType": "field.
|
|
4995
|
-
"acceptsDataBinding":
|
|
4996
|
-
"defaultProps": {
|
|
4997
|
-
"labelPosition": "float",
|
|
4998
|
-
"clearButton": true
|
|
4999
|
-
}
|
|
6188
|
+
"rendererType": "field.camera",
|
|
6189
|
+
"acceptsDataBinding": false,
|
|
6190
|
+
"defaultProps": {}
|
|
5000
6191
|
}
|
|
5001
6192
|
},
|
|
5002
6193
|
"aiHints": {
|
|
5003
6194
|
"version": "0.1",
|
|
5004
6195
|
"preferredUseCases": [
|
|
5005
|
-
"
|
|
5006
|
-
"
|
|
5007
|
-
"
|
|
6196
|
+
"Tirar foto na hora (selfie, foto de documento, portaria) com guia de enquadramento.",
|
|
6197
|
+
"Fluxos que precisam da camera do dispositivo e de tratamento de permissao negada.",
|
|
6198
|
+
"Capturar uma imagem para entregar ao host enviar."
|
|
5008
6199
|
],
|
|
5009
6200
|
"avoidUseCases": [
|
|
5010
|
-
"
|
|
5011
|
-
"
|
|
5012
|
-
"
|
|
6201
|
+
"Escolher uma imagem ja existente; para isso use SgImageUpload.",
|
|
6202
|
+
"Gravar video ou audio; o componente captura apenas fotos.",
|
|
6203
|
+
"Analise de qualidade ou reconhecimento facial; isso e do host."
|
|
5013
6204
|
],
|
|
5014
6205
|
"synonyms": [
|
|
5015
|
-
"
|
|
5016
|
-
"
|
|
5017
|
-
"
|
|
5018
|
-
"
|
|
6206
|
+
"camera",
|
|
6207
|
+
"tirar foto",
|
|
6208
|
+
"captura de foto",
|
|
6209
|
+
"selfie",
|
|
6210
|
+
"webcam",
|
|
6211
|
+
"take photo"
|
|
5019
6212
|
],
|
|
5020
6213
|
"relatedEntityFields": [
|
|
5021
|
-
"
|
|
5022
|
-
"
|
|
5023
|
-
"
|
|
5024
|
-
"
|
|
5025
|
-
"
|
|
5026
|
-
"birthDate"
|
|
6214
|
+
"photo",
|
|
6215
|
+
"selfie",
|
|
6216
|
+
"documentPhoto",
|
|
6217
|
+
"avatar",
|
|
6218
|
+
"picture"
|
|
5027
6219
|
],
|
|
5028
6220
|
"compositionHints": [
|
|
5029
|
-
"
|
|
5030
|
-
"
|
|
6221
|
+
"Combine com SgImageUpload: camera para tirar na hora, upload para escolher da galeria.",
|
|
6222
|
+
"Envie o Blob recebido em onCapture pelo servico de arquivos do host."
|
|
5031
6223
|
],
|
|
5032
6224
|
"rankingSignals": {
|
|
5033
6225
|
"freeText": 0,
|
|
5034
|
-
"structuredChoice": 0
|
|
5035
|
-
"date": 0
|
|
6226
|
+
"structuredChoice": 0,
|
|
6227
|
+
"date": 0,
|
|
5036
6228
|
"number": 0,
|
|
5037
|
-
"denseLayout": 0.
|
|
6229
|
+
"denseLayout": 0.3
|
|
5038
6230
|
}
|
|
5039
6231
|
}
|
|
5040
6232
|
},
|
|
@@ -6862,10 +8054,10 @@
|
|
|
6862
8054
|
"bindable": true
|
|
6863
8055
|
},
|
|
6864
8056
|
{
|
|
6865
|
-
"name": "
|
|
8057
|
+
"name": "enabled",
|
|
6866
8058
|
"type": "boolean",
|
|
6867
8059
|
"required": false,
|
|
6868
|
-
"default":
|
|
8060
|
+
"default": true,
|
|
6869
8061
|
"description": "Desabilita interacao.",
|
|
6870
8062
|
"semanticRole": "behavior",
|
|
6871
8063
|
"bindable": true
|
|
@@ -6910,7 +8102,7 @@
|
|
|
6910
8102
|
},
|
|
6911
8103
|
{
|
|
6912
8104
|
"name": "itemTemplate",
|
|
6913
|
-
"type": "((item: SgOrderListItem, state: { index: number; selected: boolean;
|
|
8105
|
+
"type": "((item: SgOrderListItem, state: { index: number; selected: boolean; enabled: boolean; }) => ReactNode)",
|
|
6914
8106
|
"required": false
|
|
6915
8107
|
},
|
|
6916
8108
|
{
|
|
@@ -7134,7 +8326,7 @@
|
|
|
7134
8326
|
"bindable": true
|
|
7135
8327
|
},
|
|
7136
8328
|
{
|
|
7137
|
-
"name": "
|
|
8329
|
+
"name": "enabled",
|
|
7138
8330
|
"type": "boolean",
|
|
7139
8331
|
"required": false
|
|
7140
8332
|
},
|
|
@@ -7341,10 +8533,10 @@
|
|
|
7341
8533
|
"bindable": true
|
|
7342
8534
|
},
|
|
7343
8535
|
{
|
|
7344
|
-
"name": "
|
|
8536
|
+
"name": "enabled",
|
|
7345
8537
|
"type": "boolean",
|
|
7346
8538
|
"required": false,
|
|
7347
|
-
"default":
|
|
8539
|
+
"default": true,
|
|
7348
8540
|
"description": "Desabilita os tres combos (ano, recorte e fatia).",
|
|
7349
8541
|
"semanticRole": "behavior",
|
|
7350
8542
|
"bindable": true
|
|
@@ -7390,7 +8582,7 @@
|
|
|
7390
8582
|
"BIMESTER"
|
|
7391
8583
|
],
|
|
7392
8584
|
"locale": "pt-BR",
|
|
7393
|
-
"
|
|
8585
|
+
"enabled": true,
|
|
7394
8586
|
"required": false
|
|
7395
8587
|
}
|
|
7396
8588
|
}
|
|
@@ -7507,10 +8699,10 @@
|
|
|
7507
8699
|
"bindable": true
|
|
7508
8700
|
},
|
|
7509
8701
|
{
|
|
7510
|
-
"name": "
|
|
8702
|
+
"name": "enabled",
|
|
7511
8703
|
"type": "boolean",
|
|
7512
8704
|
"required": false,
|
|
7513
|
-
"default":
|
|
8705
|
+
"default": true,
|
|
7514
8706
|
"description": "Desabilita interacao.",
|
|
7515
8707
|
"semanticRole": "behavior",
|
|
7516
8708
|
"bindable": true
|
|
@@ -7555,7 +8747,7 @@
|
|
|
7555
8747
|
},
|
|
7556
8748
|
{
|
|
7557
8749
|
"name": "itemTemplate",
|
|
7558
|
-
"type": "((item: SgPickListItem, state: { index: number; selected: boolean;
|
|
8750
|
+
"type": "((item: SgPickListItem, state: { index: number; selected: boolean; enabled: boolean; list: SgPickListListName; }) => ReactNode)",
|
|
7559
8751
|
"required": false
|
|
7560
8752
|
},
|
|
7561
8753
|
{
|
|
@@ -7812,7 +9004,7 @@
|
|
|
7812
9004
|
"bindable": false
|
|
7813
9005
|
},
|
|
7814
9006
|
{
|
|
7815
|
-
"name": "
|
|
9007
|
+
"name": "enabled",
|
|
7816
9008
|
"type": "boolean",
|
|
7817
9009
|
"required": false
|
|
7818
9010
|
},
|
|
@@ -7972,10 +9164,10 @@
|
|
|
7972
9164
|
"bindable": true
|
|
7973
9165
|
},
|
|
7974
9166
|
{
|
|
7975
|
-
"name": "
|
|
9167
|
+
"name": "enabled",
|
|
7976
9168
|
"type": "boolean",
|
|
7977
9169
|
"required": false,
|
|
7978
|
-
"default":
|
|
9170
|
+
"default": true,
|
|
7979
9171
|
"description": "Desabilita interacao.",
|
|
7980
9172
|
"semanticRole": "behavior",
|
|
7981
9173
|
"bindable": true
|
|
@@ -8212,10 +9404,10 @@
|
|
|
8212
9404
|
"bindable": true
|
|
8213
9405
|
},
|
|
8214
9406
|
{
|
|
8215
|
-
"name": "
|
|
9407
|
+
"name": "enabled",
|
|
8216
9408
|
"type": "boolean",
|
|
8217
9409
|
"required": false,
|
|
8218
|
-
"default":
|
|
9410
|
+
"default": true,
|
|
8219
9411
|
"description": "Desabilita interacao.",
|
|
8220
9412
|
"semanticRole": "behavior",
|
|
8221
9413
|
"bindable": true
|
|
@@ -8400,10 +9592,10 @@
|
|
|
8400
9592
|
"bindable": true
|
|
8401
9593
|
},
|
|
8402
9594
|
{
|
|
8403
|
-
"name": "
|
|
9595
|
+
"name": "enabled",
|
|
8404
9596
|
"type": "boolean",
|
|
8405
9597
|
"required": false,
|
|
8406
|
-
"default":
|
|
9598
|
+
"default": true,
|
|
8407
9599
|
"description": "Desabilita interacao.",
|
|
8408
9600
|
"semanticRole": "behavior",
|
|
8409
9601
|
"bindable": true
|
|
@@ -8588,7 +9780,7 @@
|
|
|
8588
9780
|
"required": false
|
|
8589
9781
|
},
|
|
8590
9782
|
{
|
|
8591
|
-
"name": "
|
|
9783
|
+
"name": "enabled",
|
|
8592
9784
|
"type": "boolean",
|
|
8593
9785
|
"required": false
|
|
8594
9786
|
},
|
|
@@ -9175,7 +10367,7 @@
|
|
|
9175
10367
|
"acceptsDataBinding": true,
|
|
9176
10368
|
"defaultProps": {
|
|
9177
10369
|
"checked": false,
|
|
9178
|
-
"
|
|
10370
|
+
"enabled": true
|
|
9179
10371
|
}
|
|
9180
10372
|
}
|
|
9181
10373
|
},
|
|
@@ -9297,11 +10489,11 @@
|
|
|
9297
10489
|
"bindable": true
|
|
9298
10490
|
},
|
|
9299
10491
|
{
|
|
9300
|
-
"name": "
|
|
10492
|
+
"name": "enabled",
|
|
9301
10493
|
"type": "boolean",
|
|
9302
10494
|
"required": false,
|
|
9303
|
-
"default":
|
|
9304
|
-
"description": "
|
|
10495
|
+
"default": true,
|
|
10496
|
+
"description": "Quando false, desabilita a interacao do botao.",
|
|
9305
10497
|
"semanticRole": "behavior",
|
|
9306
10498
|
"bindable": true
|
|
9307
10499
|
},
|
|
@@ -9500,10 +10692,10 @@
|
|
|
9500
10692
|
"bindable": true
|
|
9501
10693
|
},
|
|
9502
10694
|
{
|
|
9503
|
-
"name": "
|
|
10695
|
+
"name": "enabled",
|
|
9504
10696
|
"type": "boolean",
|
|
9505
10697
|
"required": false,
|
|
9506
|
-
"default":
|
|
10698
|
+
"default": true,
|
|
9507
10699
|
"description": "Desabilita a acao principal e as acoes derivadas.",
|
|
9508
10700
|
"semanticRole": "behavior",
|
|
9509
10701
|
"bindable": true
|
|
@@ -9774,10 +10966,10 @@
|
|
|
9774
10966
|
"bindable": true
|
|
9775
10967
|
},
|
|
9776
10968
|
{
|
|
9777
|
-
"name": "
|
|
10969
|
+
"name": "enabled",
|
|
9778
10970
|
"type": "boolean",
|
|
9779
10971
|
"required": false,
|
|
9780
|
-
"default":
|
|
10972
|
+
"default": true,
|
|
9781
10973
|
"description": "Desabilita a acao principal e o menu secundario.",
|
|
9782
10974
|
"semanticRole": "behavior",
|
|
9783
10975
|
"bindable": true
|
|
@@ -9854,7 +11046,7 @@
|
|
|
9854
11046
|
"defaultProps": {
|
|
9855
11047
|
"severity": "primary",
|
|
9856
11048
|
"appearance": "solid",
|
|
9857
|
-
"
|
|
11049
|
+
"enabled": true
|
|
9858
11050
|
}
|
|
9859
11051
|
}
|
|
9860
11052
|
},
|
|
@@ -10004,7 +11196,7 @@
|
|
|
10004
11196
|
"required": false
|
|
10005
11197
|
},
|
|
10006
11198
|
{
|
|
10007
|
-
"name": "
|
|
11199
|
+
"name": "enabled",
|
|
10008
11200
|
"type": "boolean",
|
|
10009
11201
|
"required": false
|
|
10010
11202
|
},
|
|
@@ -10381,7 +11573,7 @@
|
|
|
10381
11573
|
"required": false
|
|
10382
11574
|
},
|
|
10383
11575
|
{
|
|
10384
|
-
"name": "
|
|
11576
|
+
"name": "enabled",
|
|
10385
11577
|
"type": "boolean",
|
|
10386
11578
|
"required": false
|
|
10387
11579
|
},
|
|
@@ -13603,11 +14795,6 @@
|
|
|
13603
14795
|
"type": "SgCardPosition",
|
|
13604
14796
|
"required": false
|
|
13605
14797
|
},
|
|
13606
|
-
{
|
|
13607
|
-
"name": "disabled",
|
|
13608
|
-
"type": "boolean",
|
|
13609
|
-
"required": false
|
|
13610
|
-
},
|
|
13611
14798
|
{
|
|
13612
14799
|
"name": "draggable",
|
|
13613
14800
|
"type": "boolean",
|
|
@@ -13618,6 +14805,11 @@
|
|
|
13618
14805
|
"type": "string",
|
|
13619
14806
|
"required": false
|
|
13620
14807
|
},
|
|
14808
|
+
{
|
|
14809
|
+
"name": "enabled",
|
|
14810
|
+
"type": "boolean",
|
|
14811
|
+
"required": false
|
|
14812
|
+
},
|
|
13621
14813
|
{
|
|
13622
14814
|
"name": "footer",
|
|
13623
14815
|
"type": "ReactNode",
|
|
@@ -15713,10 +16905,10 @@
|
|
|
15713
16905
|
"bindable": true
|
|
15714
16906
|
},
|
|
15715
16907
|
{
|
|
15716
|
-
"name": "
|
|
16908
|
+
"name": "enabled",
|
|
15717
16909
|
"type": "boolean",
|
|
15718
16910
|
"required": false,
|
|
15719
|
-
"default":
|
|
16911
|
+
"default": true,
|
|
15720
16912
|
"description": "Desabilita a selecao da pagina.",
|
|
15721
16913
|
"semanticRole": "behavior",
|
|
15722
16914
|
"bindable": true
|
|
@@ -15764,7 +16956,7 @@
|
|
|
15764
16956
|
"acceptsDataBinding": true,
|
|
15765
16957
|
"defaultProps": {
|
|
15766
16958
|
"hidden": false,
|
|
15767
|
-
"
|
|
16959
|
+
"enabled": true
|
|
15768
16960
|
}
|
|
15769
16961
|
}
|
|
15770
16962
|
},
|
|
@@ -16459,10 +17651,10 @@
|
|
|
16459
17651
|
"bindable": true
|
|
16460
17652
|
},
|
|
16461
17653
|
{
|
|
16462
|
-
"name": "
|
|
17654
|
+
"name": "enabled",
|
|
16463
17655
|
"type": "boolean",
|
|
16464
17656
|
"required": false,
|
|
16465
|
-
"default":
|
|
17657
|
+
"default": true,
|
|
16466
17658
|
"description": "Desabilita interacao.",
|
|
16467
17659
|
"semanticRole": "behavior",
|
|
16468
17660
|
"bindable": true
|
|
@@ -16500,7 +17692,7 @@
|
|
|
16500
17692
|
"defaultProps": {
|
|
16501
17693
|
"showLabel": false,
|
|
16502
17694
|
"severity": "plain",
|
|
16503
|
-
"
|
|
17695
|
+
"enabled": true
|
|
16504
17696
|
}
|
|
16505
17697
|
}
|
|
16506
17698
|
},
|
|
@@ -18460,6 +19652,252 @@
|
|
|
18460
19652
|
}
|
|
18461
19653
|
}
|
|
18462
19654
|
},
|
|
19655
|
+
{
|
|
19656
|
+
"componentId": "feedback.notification-bell",
|
|
19657
|
+
"exportName": "SgNotificationBell",
|
|
19658
|
+
"sgMeta": {
|
|
19659
|
+
"version": "0.1",
|
|
19660
|
+
"componentId": "feedback.notification-bell",
|
|
19661
|
+
"package": "@seedgrid/fe-components",
|
|
19662
|
+
"exportName": "SgNotificationBell",
|
|
19663
|
+
"slug": "sg-notification-bell",
|
|
19664
|
+
"displayName": "SgNotificationBell",
|
|
19665
|
+
"category": "feedback",
|
|
19666
|
+
"subcategory": "notification",
|
|
19667
|
+
"description": "Sino de notificacoes do usuario logado: contador de nao lidas, lista de ate 100 notificacoes com titulo, texto, data e estado lida/nao lida, marcar como lida, excluir, marcar todas e limpar. Autonomo: conecta-se sozinho ao Pulse (token vindo do backend, sem apikey no front) e reaproveita o SgRealtimeProvider se houver; com o Pulse desligado faz polling de reserva. Sem regra de negocio: cada tipo de notificacao tem icone e acao ao abrir.",
|
|
19668
|
+
"tags": [
|
|
19669
|
+
"notification",
|
|
19670
|
+
"bell",
|
|
19671
|
+
"inbox",
|
|
19672
|
+
"alert",
|
|
19673
|
+
"realtime",
|
|
19674
|
+
"pulse",
|
|
19675
|
+
"badge",
|
|
19676
|
+
"feedback"
|
|
19677
|
+
],
|
|
19678
|
+
"capabilities": [
|
|
19679
|
+
"realtime",
|
|
19680
|
+
"polling-fallback",
|
|
19681
|
+
"unread-count",
|
|
19682
|
+
"mark-as-read",
|
|
19683
|
+
"delete",
|
|
19684
|
+
"reduced-motion",
|
|
19685
|
+
"aria-live"
|
|
19686
|
+
],
|
|
19687
|
+
"fieldSemantics": [
|
|
19688
|
+
"notification",
|
|
19689
|
+
"inbox",
|
|
19690
|
+
"userNotice"
|
|
19691
|
+
],
|
|
19692
|
+
"props": [
|
|
19693
|
+
{
|
|
19694
|
+
"name": "apiUrl",
|
|
19695
|
+
"type": "string",
|
|
19696
|
+
"required": false,
|
|
19697
|
+
"default": "/api/user-notifications",
|
|
19698
|
+
"description": "Base das rotas da extension user-notifications (BFF, mesma origem).",
|
|
19699
|
+
"semanticRole": "data",
|
|
19700
|
+
"bindable": true
|
|
19701
|
+
},
|
|
19702
|
+
{
|
|
19703
|
+
"name": "tokenEndpoint",
|
|
19704
|
+
"type": "string",
|
|
19705
|
+
"required": false,
|
|
19706
|
+
"default": "/api/realtime/connect",
|
|
19707
|
+
"description": "Rota que entrega o token do Pulse; usada quando nao ha SgRealtimeProvider acima.",
|
|
19708
|
+
"semanticRole": "behavior",
|
|
19709
|
+
"bindable": true
|
|
19710
|
+
},
|
|
19711
|
+
{
|
|
19712
|
+
"name": "requestInit",
|
|
19713
|
+
"type": "RequestInit",
|
|
19714
|
+
"required": false,
|
|
19715
|
+
"description": "Opcoes do fetch (ex.: headers com Authorization quando nao ha cookie).",
|
|
19716
|
+
"semanticRole": "behavior",
|
|
19717
|
+
"bindable": false
|
|
19718
|
+
},
|
|
19719
|
+
{
|
|
19720
|
+
"name": "fetcher",
|
|
19721
|
+
"type": "(input: string, init?: RequestInit) => Promise<Response>",
|
|
19722
|
+
"required": false,
|
|
19723
|
+
"description": "Substitui o fetch (apps sem BFF, testes, demonstracao).",
|
|
19724
|
+
"semanticRole": "behavior",
|
|
19725
|
+
"bindable": false
|
|
19726
|
+
},
|
|
19727
|
+
{
|
|
19728
|
+
"name": "types",
|
|
19729
|
+
"type": "Record<string, SgNotificationTypeConfig>",
|
|
19730
|
+
"required": false,
|
|
19731
|
+
"description": "Tipo da notificacao -> icone e acao ao abrir (onOpen). O sino nao conhece o negocio.",
|
|
19732
|
+
"semanticRole": "data",
|
|
19733
|
+
"bindable": true
|
|
19734
|
+
},
|
|
19735
|
+
{
|
|
19736
|
+
"name": "eventPattern",
|
|
19737
|
+
"type": "string",
|
|
19738
|
+
"required": false,
|
|
19739
|
+
"default": "user-notification.*",
|
|
19740
|
+
"description": "Evento do Pulse que dispara a leitura.",
|
|
19741
|
+
"semanticRole": "behavior",
|
|
19742
|
+
"bindable": true
|
|
19743
|
+
},
|
|
19744
|
+
{
|
|
19745
|
+
"name": "pollIntervalMs",
|
|
19746
|
+
"type": "number",
|
|
19747
|
+
"required": false,
|
|
19748
|
+
"default": 45000,
|
|
19749
|
+
"description": "Intervalo do polling de reserva (so com o Pulse desligado ou fora do ar), preso entre 30 e 60 s, com jitter e backoff em erro.",
|
|
19750
|
+
"semanticRole": "behavior",
|
|
19751
|
+
"bindable": true
|
|
19752
|
+
},
|
|
19753
|
+
{
|
|
19754
|
+
"name": "maxVisible",
|
|
19755
|
+
"type": "number",
|
|
19756
|
+
"required": false,
|
|
19757
|
+
"default": 100,
|
|
19758
|
+
"description": "Maximo de notificacoes na lista; as mais antigas saem.",
|
|
19759
|
+
"semanticRole": "behavior",
|
|
19760
|
+
"bindable": true
|
|
19761
|
+
},
|
|
19762
|
+
{
|
|
19763
|
+
"name": "placement",
|
|
19764
|
+
"type": "\"auto\" | \"top\" | \"right\" | \"bottom\" | \"left\"",
|
|
19765
|
+
"required": false,
|
|
19766
|
+
"default": "auto",
|
|
19767
|
+
"description": "De que lado do sino o painel abre (como o placement do SgPopup); auto escolhe o lado em que cabe.",
|
|
19768
|
+
"semanticRole": "behavior",
|
|
19769
|
+
"bindable": true
|
|
19770
|
+
},
|
|
19771
|
+
{
|
|
19772
|
+
"name": "showUnreadToggle",
|
|
19773
|
+
"type": "boolean",
|
|
19774
|
+
"required": false,
|
|
19775
|
+
"default": "true",
|
|
19776
|
+
"description": "Mostra o interruptor Não lidas no topo do painel; false esconde só o interruptor (o sino fica) e o painel lista tudo.",
|
|
19777
|
+
"semanticRole": "behavior",
|
|
19778
|
+
"bindable": true
|
|
19779
|
+
},
|
|
19780
|
+
{
|
|
19781
|
+
"name": "defaultUnreadOnly",
|
|
19782
|
+
"type": "boolean",
|
|
19783
|
+
"required": false,
|
|
19784
|
+
"default": "true",
|
|
19785
|
+
"description": "O painel abre em Não lidas (ainda não clicadas); ignorada com showUnreadToggle=false e não persiste entre recargas.",
|
|
19786
|
+
"semanticRole": "behavior",
|
|
19787
|
+
"bindable": true
|
|
19788
|
+
},
|
|
19789
|
+
{
|
|
19790
|
+
"name": "onNotification",
|
|
19791
|
+
"type": "(notification: SgNotification) => void",
|
|
19792
|
+
"required": false,
|
|
19793
|
+
"description": "Chegou uma notificacao nova (aviso do Pulse).",
|
|
19794
|
+
"semanticRole": "event",
|
|
19795
|
+
"bindable": false
|
|
19796
|
+
},
|
|
19797
|
+
{
|
|
19798
|
+
"name": "onNotificationDelete",
|
|
19799
|
+
"type": "(notification: SgNotification) => void",
|
|
19800
|
+
"required": false,
|
|
19801
|
+
"description": "O usuario excluiu uma notificacao.",
|
|
19802
|
+
"semanticRole": "event",
|
|
19803
|
+
"bindable": false
|
|
19804
|
+
},
|
|
19805
|
+
{
|
|
19806
|
+
"name": "onOpen",
|
|
19807
|
+
"type": "(notification: SgNotification) => void",
|
|
19808
|
+
"required": false,
|
|
19809
|
+
"description": "O usuario abriu uma notificacao (depois do onOpen do tipo).",
|
|
19810
|
+
"semanticRole": "event",
|
|
19811
|
+
"bindable": false
|
|
19812
|
+
},
|
|
19813
|
+
{
|
|
19814
|
+
"name": "onPollingTick",
|
|
19815
|
+
"type": "(stats: SgPollingStats) => void",
|
|
19816
|
+
"required": false,
|
|
19817
|
+
"description": "O polling consultou a API: contador, instante da ultima consulta e motivo (disabled ou unavailable).",
|
|
19818
|
+
"semanticRole": "event",
|
|
19819
|
+
"bindable": false
|
|
19820
|
+
}
|
|
19821
|
+
],
|
|
19822
|
+
"states": [
|
|
19823
|
+
"loading",
|
|
19824
|
+
"empty",
|
|
19825
|
+
"list",
|
|
19826
|
+
"error"
|
|
19827
|
+
],
|
|
19828
|
+
"examples": [
|
|
19829
|
+
{
|
|
19830
|
+
"id": "basic",
|
|
19831
|
+
"title": "Basico",
|
|
19832
|
+
"file": "apps/showcase/src/app/components/sg-notification-bell/samples/basico.tsx.sample",
|
|
19833
|
+
"kind": "sample"
|
|
19834
|
+
},
|
|
19835
|
+
{
|
|
19836
|
+
"id": "types",
|
|
19837
|
+
"title": "Tipos com icone e acao",
|
|
19838
|
+
"file": "apps/showcase/src/app/components/sg-notification-bell/samples/tipos.tsx.sample",
|
|
19839
|
+
"kind": "sample"
|
|
19840
|
+
},
|
|
19841
|
+
{
|
|
19842
|
+
"id": "playground",
|
|
19843
|
+
"title": "Playground",
|
|
19844
|
+
"file": "apps/showcase/src/app/components/sg-notification-bell/sg-notification-bell.tsx.playground",
|
|
19845
|
+
"kind": "playground"
|
|
19846
|
+
}
|
|
19847
|
+
],
|
|
19848
|
+
"showcase": {
|
|
19849
|
+
"route": "/components/sg-notification-bell",
|
|
19850
|
+
"hasPlayground": true,
|
|
19851
|
+
"hasPropsTable": true
|
|
19852
|
+
},
|
|
19853
|
+
"sdui": {
|
|
19854
|
+
"rendererType": "feedback.notification-bell",
|
|
19855
|
+
"acceptsDataBinding": true,
|
|
19856
|
+
"defaultProps": {}
|
|
19857
|
+
}
|
|
19858
|
+
},
|
|
19859
|
+
"aiHints": {
|
|
19860
|
+
"version": "0.1",
|
|
19861
|
+
"preferredUseCases": [
|
|
19862
|
+
"Avisar o usuario logado de algo que terminou ou aconteceu (relatorio pronto, backup, importacao, convite) com historico e contador de nao lidas.",
|
|
19863
|
+
"Barra superior de um app com caixa de notificacoes que atualiza sozinha.",
|
|
19864
|
+
"Qualquer aviso persistente ao usuario que nao deve sumir sozinho."
|
|
19865
|
+
],
|
|
19866
|
+
"avoidUseCases": [
|
|
19867
|
+
"Mensagem rapida que some sozinha (toast): use o feedback de toast.",
|
|
19868
|
+
"Chat ou mensagens entre usuarios.",
|
|
19869
|
+
"Mostrar notificacoes sem a extension user-notifications no backend."
|
|
19870
|
+
],
|
|
19871
|
+
"synonyms": [
|
|
19872
|
+
"sino",
|
|
19873
|
+
"notificacoes",
|
|
19874
|
+
"notification bell",
|
|
19875
|
+
"inbox",
|
|
19876
|
+
"avisos do usuario",
|
|
19877
|
+
"caixa de notificacoes",
|
|
19878
|
+
"alerts"
|
|
19879
|
+
],
|
|
19880
|
+
"relatedEntityFields": [
|
|
19881
|
+
"notification",
|
|
19882
|
+
"alert",
|
|
19883
|
+
"unread",
|
|
19884
|
+
"report",
|
|
19885
|
+
"backup"
|
|
19886
|
+
],
|
|
19887
|
+
"compositionHints": [
|
|
19888
|
+
"Pôr no cabecalho do layout autenticado; sem SgRealtimeProvider acima ele abre a propria conexao.",
|
|
19889
|
+
"Use types para mapear cada tipo de notificacao a um icone e a acao de abrir (ex.: baixar o relatorio).",
|
|
19890
|
+
"O payload da notificacao so tem identificadores: a acao de abrir busca o arquivo ou registro pela API do dono."
|
|
19891
|
+
],
|
|
19892
|
+
"rankingSignals": {
|
|
19893
|
+
"freeText": 0,
|
|
19894
|
+
"structuredChoice": 0,
|
|
19895
|
+
"date": 0,
|
|
19896
|
+
"number": 0.2,
|
|
19897
|
+
"denseLayout": 0.2
|
|
19898
|
+
}
|
|
19899
|
+
}
|
|
19900
|
+
},
|
|
18463
19901
|
{
|
|
18464
19902
|
"componentId": "hook.realtime-event",
|
|
18465
19903
|
"exportName": "useSgRealtimeEvent",
|