@seedgrid/fe-components 2026.4.11 → 2026.4.13
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 +12888 -0
- package/dist/ai-meta/types.d.ts +58 -0
- package/dist/ai-meta/types.d.ts.map +1 -0
- package/dist/ai-meta/types.js +1 -0
- package/dist/buttons/SgButton.meta.d.ts +4 -0
- package/dist/buttons/SgButton.meta.d.ts.map +1 -0
- package/dist/buttons/SgButton.meta.js +139 -0
- package/dist/buttons/SgFloatActionButton.meta.d.ts +4 -0
- package/dist/buttons/SgFloatActionButton.meta.d.ts.map +1 -0
- package/dist/buttons/SgFloatActionButton.meta.js +132 -0
- package/dist/buttons/SgSplitButton.meta.d.ts +4 -0
- package/dist/buttons/SgSplitButton.meta.d.ts.map +1 -0
- package/dist/buttons/SgSplitButton.meta.js +132 -0
- package/dist/commons/SgAvatar.meta.d.ts +4 -0
- package/dist/commons/SgAvatar.meta.d.ts.map +1 -0
- package/dist/commons/SgAvatar.meta.js +123 -0
- package/dist/commons/SgAvatarGroup.meta.d.ts +4 -0
- package/dist/commons/SgAvatarGroup.meta.d.ts.map +1 -0
- package/dist/commons/SgAvatarGroup.meta.js +46 -0
- package/dist/commons/SgBadge.meta.d.ts +4 -0
- package/dist/commons/SgBadge.meta.d.ts.map +1 -0
- package/dist/commons/SgBadge.meta.js +132 -0
- package/dist/commons/SgBadgeOverlay.meta.d.ts +4 -0
- package/dist/commons/SgBadgeOverlay.meta.d.ts.map +1 -0
- package/dist/commons/SgBadgeOverlay.meta.js +46 -0
- package/dist/commons/SgSkeleton.meta.d.ts +4 -0
- package/dist/commons/SgSkeleton.meta.d.ts.map +1 -0
- package/dist/commons/SgSkeleton.meta.js +114 -0
- package/dist/commons/SgToastHost.meta.d.ts +4 -0
- package/dist/commons/SgToastHost.meta.d.ts.map +1 -0
- package/dist/commons/SgToastHost.meta.js +46 -0
- package/dist/commons/SgToaster.meta.d.ts +4 -0
- package/dist/commons/SgToaster.meta.d.ts.map +1 -0
- package/dist/commons/SgToaster.meta.js +48 -0
- package/dist/commons/SgWhistleHost.meta.d.ts +4 -0
- package/dist/commons/SgWhistleHost.meta.d.ts.map +1 -0
- package/dist/commons/SgWhistleHost.meta.js +46 -0
- package/dist/digits/discard-digit/SgDiscardDigit.meta.d.ts +4 -0
- package/dist/digits/discard-digit/SgDiscardDigit.meta.d.ts.map +1 -0
- package/dist/digits/discard-digit/SgDiscardDigit.meta.js +48 -0
- package/dist/digits/fade-digit/SgFadeDigit.meta.d.ts +4 -0
- package/dist/digits/fade-digit/SgFadeDigit.meta.d.ts.map +1 -0
- package/dist/digits/fade-digit/SgFadeDigit.meta.js +48 -0
- package/dist/digits/flip-digit/SgFlipDigit.meta.d.ts +4 -0
- package/dist/digits/flip-digit/SgFlipDigit.meta.d.ts.map +1 -0
- package/dist/digits/flip-digit/SgFlipDigit.meta.js +48 -0
- package/dist/digits/matrix-digit/SgMatrixDigit.meta.d.ts +4 -0
- package/dist/digits/matrix-digit/SgMatrixDigit.meta.d.ts.map +1 -0
- package/dist/digits/matrix-digit/SgMatrixDigit.meta.js +48 -0
- package/dist/digits/neon-digit/SgNeonDigit.meta.d.ts +4 -0
- package/dist/digits/neon-digit/SgNeonDigit.meta.d.ts.map +1 -0
- package/dist/digits/neon-digit/SgNeonDigit.meta.js +48 -0
- package/dist/digits/roller3d-digit/SgRoller3DDigit.meta.d.ts +4 -0
- package/dist/digits/roller3d-digit/SgRoller3DDigit.meta.d.ts.map +1 -0
- package/dist/digits/roller3d-digit/SgRoller3DDigit.meta.js +48 -0
- package/dist/digits/segment-digit/SgSegmentDigit.meta.d.ts +4 -0
- package/dist/digits/segment-digit/SgSegmentDigit.meta.d.ts.map +1 -0
- package/dist/digits/segment-digit/SgSegmentDigit.meta.js +48 -0
- package/dist/digits/seven-segment-digit/SgSevenSegmentDigit.meta.d.ts +4 -0
- package/dist/digits/seven-segment-digit/SgSevenSegmentDigit.meta.d.ts.map +1 -0
- package/dist/digits/seven-segment-digit/SgSevenSegmentDigit.meta.js +48 -0
- package/dist/environment/SgEnvironmentProvider.meta.d.ts +4 -0
- package/dist/environment/SgEnvironmentProvider.meta.d.ts.map +1 -0
- package/dist/environment/SgEnvironmentProvider.meta.js +53 -0
- package/dist/gadgets/calendar/SgCalendar.meta.d.ts +4 -0
- package/dist/gadgets/calendar/SgCalendar.meta.d.ts.map +1 -0
- package/dist/gadgets/calendar/SgCalendar.meta.js +51 -0
- package/dist/gadgets/clock/SgClock.meta.d.ts +4 -0
- package/dist/gadgets/clock/SgClock.meta.d.ts.map +1 -0
- package/dist/gadgets/clock/SgClock.meta.js +50 -0
- package/dist/gadgets/clock/SgTimeProvider.meta.d.ts +4 -0
- package/dist/gadgets/clock/SgTimeProvider.meta.d.ts.map +1 -0
- package/dist/gadgets/clock/SgTimeProvider.meta.js +49 -0
- package/dist/gadgets/clock/themes/SgClockThemePicker.meta.d.ts +4 -0
- package/dist/gadgets/clock/themes/SgClockThemePicker.meta.d.ts.map +1 -0
- package/dist/gadgets/clock/themes/SgClockThemePicker.meta.js +56 -0
- package/dist/gadgets/clock/themes/SgClockThemePreview.meta.d.ts +4 -0
- package/dist/gadgets/clock/themes/SgClockThemePreview.meta.d.ts.map +1 -0
- package/dist/gadgets/clock/themes/SgClockThemePreview.meta.js +50 -0
- package/dist/gadgets/clock/themes/SgClockThemeProvider.meta.d.ts +4 -0
- package/dist/gadgets/clock/themes/SgClockThemeProvider.meta.d.ts.map +1 -0
- package/dist/gadgets/clock/themes/SgClockThemeProvider.meta.js +51 -0
- package/dist/gadgets/gauge/SgLinearGauge.meta.d.ts +4 -0
- package/dist/gadgets/gauge/SgLinearGauge.meta.d.ts.map +1 -0
- package/dist/gadgets/gauge/SgLinearGauge.meta.js +57 -0
- package/dist/gadgets/gauge/SgRadialGauge.meta.d.ts +4 -0
- package/dist/gadgets/gauge/SgRadialGauge.meta.d.ts.map +1 -0
- package/dist/gadgets/gauge/SgRadialGauge.meta.js +57 -0
- package/dist/gadgets/qr-code/SgQRCode.meta.d.ts +4 -0
- package/dist/gadgets/qr-code/SgQRCode.meta.d.ts.map +1 -0
- package/dist/gadgets/qr-code/SgQRCode.meta.js +48 -0
- package/dist/gadgets/string-animator/SgStringAnimator.meta.d.ts +4 -0
- package/dist/gadgets/string-animator/SgStringAnimator.meta.d.ts.map +1 -0
- package/dist/gadgets/string-animator/SgStringAnimator.meta.js +48 -0
- package/dist/i18n/SgComponentsI18nProvider.meta.d.ts +4 -0
- package/dist/i18n/SgComponentsI18nProvider.meta.d.ts.map +1 -0
- package/dist/i18n/SgComponentsI18nProvider.meta.js +50 -0
- package/dist/index.d.ts +4 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -3
- package/dist/inputs/SgAutocomplete.meta.d.ts +4 -0
- package/dist/inputs/SgAutocomplete.meta.d.ts.map +1 -0
- package/dist/inputs/SgAutocomplete.meta.js +52 -0
- package/dist/inputs/SgCheckboxGroup.meta.d.ts +4 -0
- package/dist/inputs/SgCheckboxGroup.meta.d.ts.map +1 -0
- package/dist/inputs/SgCheckboxGroup.meta.js +51 -0
- package/dist/inputs/SgCombobox.meta.d.ts +4 -0
- package/dist/inputs/SgCombobox.meta.d.ts.map +1 -0
- package/dist/inputs/SgCombobox.meta.js +52 -0
- package/dist/inputs/SgDatatable.meta.d.ts +4 -0
- package/dist/inputs/SgDatatable.meta.d.ts.map +1 -0
- package/dist/inputs/SgDatatable.meta.js +51 -0
- package/dist/inputs/SgInputBirthDate.meta.d.ts +4 -0
- package/dist/inputs/SgInputBirthDate.meta.d.ts.map +1 -0
- package/dist/inputs/SgInputBirthDate.meta.js +80 -0
- package/dist/inputs/SgInputCNPJ.meta.d.ts +4 -0
- package/dist/inputs/SgInputCNPJ.meta.d.ts.map +1 -0
- package/dist/inputs/SgInputCNPJ.meta.js +81 -0
- package/dist/inputs/SgInputCPF.meta.d.ts +4 -0
- package/dist/inputs/SgInputCPF.meta.d.ts.map +1 -0
- package/dist/inputs/SgInputCPF.meta.js +80 -0
- package/dist/inputs/SgInputCPFCNPJ.meta.d.ts +4 -0
- package/dist/inputs/SgInputCPFCNPJ.meta.d.ts.map +1 -0
- package/dist/inputs/SgInputCPFCNPJ.meta.js +80 -0
- package/dist/inputs/SgInputCurrency.meta.d.ts +4 -0
- package/dist/inputs/SgInputCurrency.meta.d.ts.map +1 -0
- package/dist/inputs/SgInputCurrency.meta.js +136 -0
- package/dist/inputs/SgInputDate.meta.d.ts +4 -0
- package/dist/inputs/SgInputDate.meta.d.ts.map +1 -0
- package/dist/inputs/SgInputDate.meta.js +136 -0
- package/dist/inputs/SgInputEmail.meta.d.ts +4 -0
- package/dist/inputs/SgInputEmail.meta.d.ts.map +1 -0
- package/dist/inputs/SgInputEmail.meta.js +81 -0
- package/dist/inputs/SgInputNumber.meta.d.ts +4 -0
- package/dist/inputs/SgInputNumber.meta.d.ts.map +1 -0
- package/dist/inputs/SgInputNumber.meta.js +137 -0
- package/dist/inputs/SgInputOTP.js +1 -1
- package/dist/inputs/SgInputOTP.meta.d.ts +4 -0
- package/dist/inputs/SgInputOTP.meta.d.ts.map +1 -0
- package/dist/inputs/SgInputOTP.meta.js +80 -0
- package/dist/inputs/SgInputPassword.meta.d.ts +4 -0
- package/dist/inputs/SgInputPassword.meta.d.ts.map +1 -0
- package/dist/inputs/SgInputPassword.meta.js +81 -0
- package/dist/inputs/SgInputPhone.meta.d.ts +4 -0
- package/dist/inputs/SgInputPhone.meta.d.ts.map +1 -0
- package/dist/inputs/SgInputPhone.meta.js +80 -0
- package/dist/inputs/SgInputPostalCode.meta.d.ts +4 -0
- package/dist/inputs/SgInputPostalCode.meta.d.ts.map +1 -0
- package/dist/inputs/SgInputPostalCode.meta.js +81 -0
- package/dist/inputs/SgInputText.meta.d.ts +4 -0
- package/dist/inputs/SgInputText.meta.d.ts.map +1 -0
- package/dist/inputs/SgInputText.meta.js +138 -0
- package/dist/inputs/SgInputTextarea.meta.d.ts +4 -0
- package/dist/inputs/SgInputTextarea.meta.d.ts.map +1 -0
- package/dist/inputs/SgInputTextarea.meta.js +136 -0
- package/dist/inputs/SgOrderList.meta.d.ts +4 -0
- package/dist/inputs/SgOrderList.meta.d.ts.map +1 -0
- package/dist/inputs/SgOrderList.meta.js +51 -0
- package/dist/inputs/SgPickList.meta.d.ts +4 -0
- package/dist/inputs/SgPickList.meta.d.ts.map +1 -0
- package/dist/inputs/SgPickList.meta.js +51 -0
- package/dist/inputs/SgRadioGroup.meta.d.ts +4 -0
- package/dist/inputs/SgRadioGroup.meta.d.ts.map +1 -0
- package/dist/inputs/SgRadioGroup.meta.js +51 -0
- package/dist/inputs/SgRating.meta.d.ts +4 -0
- package/dist/inputs/SgRating.meta.d.ts.map +1 -0
- package/dist/inputs/SgRating.meta.js +51 -0
- package/dist/inputs/SgSlider.meta.d.ts +4 -0
- package/dist/inputs/SgSlider.meta.d.ts.map +1 -0
- package/dist/inputs/SgSlider.meta.js +51 -0
- package/dist/inputs/SgStepperInput.meta.d.ts +4 -0
- package/dist/inputs/SgStepperInput.meta.d.ts.map +1 -0
- package/dist/inputs/SgStepperInput.meta.js +51 -0
- package/dist/inputs/SgTextEditor.meta.d.ts +4 -0
- package/dist/inputs/SgTextEditor.meta.d.ts.map +1 -0
- package/dist/inputs/SgTextEditor.meta.js +51 -0
- package/dist/inputs/SgToggleSwitch.meta.d.ts +4 -0
- package/dist/inputs/SgToggleSwitch.meta.d.ts.map +1 -0
- package/dist/inputs/SgToggleSwitch.meta.js +51 -0
- package/dist/layout/SgAccordion.meta.d.ts +4 -0
- package/dist/layout/SgAccordion.meta.d.ts.map +1 -0
- package/dist/layout/SgAccordion.meta.js +131 -0
- package/dist/layout/SgBreadcrumb.meta.d.ts +4 -0
- package/dist/layout/SgBreadcrumb.meta.d.ts.map +1 -0
- package/dist/layout/SgBreadcrumb.meta.js +125 -0
- package/dist/layout/SgCard.meta.d.ts +4 -0
- package/dist/layout/SgCard.meta.d.ts.map +1 -0
- package/dist/layout/SgCard.meta.js +132 -0
- package/dist/layout/SgCarousel.meta.d.ts +4 -0
- package/dist/layout/SgCarousel.meta.d.ts.map +1 -0
- package/dist/layout/SgCarousel.meta.js +50 -0
- package/dist/layout/SgDockLayout.meta.d.ts +4 -0
- package/dist/layout/SgDockLayout.meta.d.ts.map +1 -0
- package/dist/layout/SgDockLayout.meta.js +47 -0
- package/dist/layout/SgDockScreen.meta.d.ts +4 -0
- package/dist/layout/SgDockScreen.meta.d.ts.map +1 -0
- package/dist/layout/SgDockScreen.meta.js +49 -0
- package/dist/layout/SgDockZone.meta.d.ts +4 -0
- package/dist/layout/SgDockZone.meta.d.ts.map +1 -0
- package/dist/layout/SgDockZone.meta.js +43 -0
- package/dist/layout/SgExpandablePanel.meta.d.ts +4 -0
- package/dist/layout/SgExpandablePanel.meta.d.ts.map +1 -0
- package/dist/layout/SgExpandablePanel.meta.js +50 -0
- package/dist/layout/SgGrid.meta.d.ts +4 -0
- package/dist/layout/SgGrid.meta.d.ts.map +1 -0
- package/dist/layout/SgGrid.meta.js +124 -0
- package/dist/layout/SgGroupBox.meta.d.ts +4 -0
- package/dist/layout/SgGroupBox.meta.d.ts.map +1 -0
- package/dist/layout/SgGroupBox.meta.js +99 -0
- package/dist/layout/SgMenu.meta.d.ts +4 -0
- package/dist/layout/SgMenu.meta.d.ts.map +1 -0
- package/dist/layout/SgMenu.meta.js +137 -0
- package/dist/layout/SgPageControl.meta.d.ts +4 -0
- package/dist/layout/SgPageControl.meta.d.ts.map +1 -0
- package/dist/layout/SgPageControl.meta.js +50 -0
- package/dist/layout/SgPageControlPage.meta.d.ts +4 -0
- package/dist/layout/SgPageControlPage.meta.d.ts.map +1 -0
- package/dist/layout/SgPageControlPage.meta.js +47 -0
- package/dist/layout/SgPanel.meta.d.ts +4 -0
- package/dist/layout/SgPanel.meta.d.ts.map +1 -0
- package/dist/layout/SgPanel.meta.js +140 -0
- package/dist/layout/SgScreen.meta.d.ts +4 -0
- package/dist/layout/SgScreen.meta.d.ts.map +1 -0
- package/dist/layout/SgScreen.meta.js +113 -0
- package/dist/layout/SgStack.meta.d.ts +4 -0
- package/dist/layout/SgStack.meta.d.ts.map +1 -0
- package/dist/layout/SgStack.meta.js +126 -0
- package/dist/layout/SgToolBar.meta.d.ts +4 -0
- package/dist/layout/SgToolBar.meta.d.ts.map +1 -0
- package/dist/layout/SgToolBar.meta.js +131 -0
- package/dist/layout/SgToolbarIconButton.meta.d.ts +4 -0
- package/dist/layout/SgToolbarIconButton.meta.d.ts.map +1 -0
- package/dist/layout/SgToolbarIconButton.meta.js +48 -0
- package/dist/layout/SgTreeView.meta.d.ts +4 -0
- package/dist/layout/SgTreeView.meta.d.ts.map +1 -0
- package/dist/layout/SgTreeView.meta.js +132 -0
- package/dist/layout/menu-logic.d.ts.map +1 -1
- package/dist/layout/menu-logic.js +1 -3
- package/dist/menus/SgDockMenu.meta.d.ts +4 -0
- package/dist/menus/SgDockMenu.meta.d.ts.map +1 -0
- package/dist/menus/SgDockMenu.meta.js +135 -0
- package/dist/overlay/SgConfirmationDialog.meta.d.ts +4 -0
- package/dist/overlay/SgConfirmationDialog.meta.d.ts.map +1 -0
- package/dist/overlay/SgConfirmationDialog.meta.js +128 -0
- package/dist/overlay/SgDialog.meta.d.ts +4 -0
- package/dist/overlay/SgDialog.meta.d.ts.map +1 -0
- package/dist/overlay/SgDialog.meta.js +130 -0
- package/dist/overlay/SgPopup.meta.d.ts +4 -0
- package/dist/overlay/SgPopup.meta.d.ts.map +1 -0
- package/dist/overlay/SgPopup.meta.js +129 -0
- package/dist/sandbox.cjs +31 -31
- package/dist/wizard/SgWizard.meta.d.ts +4 -0
- package/dist/wizard/SgWizard.meta.d.ts.map +1 -0
- package/dist/wizard/SgWizard.meta.js +50 -0
- package/dist/wizard/SgWizardPage.meta.d.ts +4 -0
- package/dist/wizard/SgWizardPage.meta.d.ts.map +1 -0
- package/dist/wizard/SgWizardPage.meta.js +44 -0
- package/package.json +2 -2
- package/dist/inputs/SgInputSelect.d.ts +0 -18
- package/dist/inputs/SgInputSelect.d.ts.map +0 -1
- package/dist/inputs/SgInputSelect.js +0 -139
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
export const sgMeta = {
|
|
2
|
+
version: "0.1",
|
|
3
|
+
componentId: "layout.grid",
|
|
4
|
+
package: "@seedgrid/fe-components",
|
|
5
|
+
exportName: "SgGrid",
|
|
6
|
+
slug: "sg-grid",
|
|
7
|
+
displayName: "SgGrid",
|
|
8
|
+
category: "layout",
|
|
9
|
+
subcategory: "grid",
|
|
10
|
+
description: "Primitive de layout em grade responsiva para distribuicao de cards, blocos e formularios em colunas e linhas.",
|
|
11
|
+
tags: ["layout", "grid", "responsive", "columns", "container"],
|
|
12
|
+
capabilities: ["responsive-columns", "auto-fit", "dense-flow", "row-span", "column-span"],
|
|
13
|
+
fieldSemantics: ["container", "gridLayout", "responsiveLayout", "collectionLayout"],
|
|
14
|
+
props: [
|
|
15
|
+
{
|
|
16
|
+
name: "columns",
|
|
17
|
+
type: "number | responsive columns map",
|
|
18
|
+
description: "Define a quantidade de colunas base e por breakpoint.",
|
|
19
|
+
semanticRole: "behavior",
|
|
20
|
+
bindable: true
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: "minItemWidth",
|
|
24
|
+
type: "number | string",
|
|
25
|
+
description: "Largura minima dos itens em modo auto-fit.",
|
|
26
|
+
semanticRole: "behavior",
|
|
27
|
+
bindable: true
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: "gap",
|
|
31
|
+
type: "number | string",
|
|
32
|
+
default: 0,
|
|
33
|
+
description: "Espacamento entre os itens da grade.",
|
|
34
|
+
semanticRole: "appearance",
|
|
35
|
+
bindable: true
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: "padding",
|
|
39
|
+
type: "number | string",
|
|
40
|
+
description: "Espacamento interno do container grid.",
|
|
41
|
+
semanticRole: "appearance",
|
|
42
|
+
bindable: true
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: "dense",
|
|
46
|
+
type: "boolean",
|
|
47
|
+
default: false,
|
|
48
|
+
description: "Ativa preenchimento denso do fluxo de grade.",
|
|
49
|
+
semanticRole: "behavior",
|
|
50
|
+
bindable: true
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: "rowHeight",
|
|
54
|
+
type: "number | string",
|
|
55
|
+
description: "Altura automatica das linhas da grade.",
|
|
56
|
+
semanticRole: "behavior",
|
|
57
|
+
bindable: true
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: "children",
|
|
61
|
+
type: "ReactNode",
|
|
62
|
+
description: "Itens renderizados dentro da grade.",
|
|
63
|
+
semanticRole: "data",
|
|
64
|
+
bindable: false
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
states: ["default", "dense", "responsive"],
|
|
68
|
+
examples: [
|
|
69
|
+
{
|
|
70
|
+
id: "basic",
|
|
71
|
+
title: "Basico",
|
|
72
|
+
file: "apps/showcase/src/app/components/sg-grid/samples/basico.tsx.sample",
|
|
73
|
+
kind: "sample"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
id: "playground",
|
|
77
|
+
title: "Playground",
|
|
78
|
+
file: "apps/showcase/src/app/components/sg-grid/sg-grid.tsx.playground",
|
|
79
|
+
kind: "playground"
|
|
80
|
+
}
|
|
81
|
+
],
|
|
82
|
+
showcase: {
|
|
83
|
+
route: "/components/sg-grid",
|
|
84
|
+
hasPlayground: true,
|
|
85
|
+
hasPropsTable: true
|
|
86
|
+
},
|
|
87
|
+
sdui: {
|
|
88
|
+
rendererType: "layout.grid",
|
|
89
|
+
acceptsDataBinding: true,
|
|
90
|
+
defaultProps: {
|
|
91
|
+
columns: {
|
|
92
|
+
base: 1
|
|
93
|
+
},
|
|
94
|
+
gap: 0,
|
|
95
|
+
dense: false
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
export const aiHints = {
|
|
100
|
+
version: "0.1",
|
|
101
|
+
preferredUseCases: [
|
|
102
|
+
"Distribuir cards, KPIs e blocos de conteudo em colunas responsivas.",
|
|
103
|
+
"Montar formularios com varias colunas e alinhamento consistente.",
|
|
104
|
+
"Criar layouts adaptativos com spans e preenchimento denso."
|
|
105
|
+
],
|
|
106
|
+
avoidUseCases: [
|
|
107
|
+
"Pilhas lineares simples; nesses casos prefira SgStack.",
|
|
108
|
+
"Blocos unicos com destaque visual; nesses casos prefira SgCard ou SgPanel.",
|
|
109
|
+
"Acoes ou captura de dados individuais; nesses casos prefira componentes especificos."
|
|
110
|
+
],
|
|
111
|
+
synonyms: ["grid", "responsive grid", "columns layout", "card grid"],
|
|
112
|
+
relatedEntityFields: ["dashboardGrid", "cardsLayout", "formColumns", "galleryLayout"],
|
|
113
|
+
compositionHints: [
|
|
114
|
+
"Usar com SgCard, SgPanel e SgBadge para dashboards.",
|
|
115
|
+
"Combinar com SgStack dentro dos itens quando houver alinhamento interno."
|
|
116
|
+
],
|
|
117
|
+
rankingSignals: {
|
|
118
|
+
freeText: 0,
|
|
119
|
+
structuredChoice: 0,
|
|
120
|
+
date: 0,
|
|
121
|
+
number: 0,
|
|
122
|
+
denseLayout: 0.98
|
|
123
|
+
}
|
|
124
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SgGroupBox.meta.d.ts","sourceRoot":"","sources":["../../src/layout/SgGroupBox.meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE9D,eAAO,MAAM,MAAM,EAAE,QAyEpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WAyBrB,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
export const sgMeta = {
|
|
2
|
+
version: "0.1",
|
|
3
|
+
componentId: "layout.group-box",
|
|
4
|
+
package: "@seedgrid/fe-components",
|
|
5
|
+
exportName: "SgGroupBox",
|
|
6
|
+
slug: "sg-group-box",
|
|
7
|
+
displayName: "SgGroupBox",
|
|
8
|
+
category: "layout",
|
|
9
|
+
subcategory: "group-box",
|
|
10
|
+
description: "Container simples com titulo visual para agrupar campos e conteudos relacionados em uma secao delimitada.",
|
|
11
|
+
tags: ["layout", "group", "fieldset", "form-section", "container"],
|
|
12
|
+
capabilities: ["grouping", "titled-section", "form-block", "sized-container"],
|
|
13
|
+
fieldSemantics: ["container", "section", "formSection", "group"],
|
|
14
|
+
props: [
|
|
15
|
+
{
|
|
16
|
+
name: "title",
|
|
17
|
+
type: "string",
|
|
18
|
+
required: true,
|
|
19
|
+
description: "Titulo exibido no topo da secao agrupada.",
|
|
20
|
+
semanticRole: "label",
|
|
21
|
+
bindable: true
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: "children",
|
|
25
|
+
type: "ReactNode",
|
|
26
|
+
required: true,
|
|
27
|
+
description: "Conteudo agrupado dentro do fieldset.",
|
|
28
|
+
semanticRole: "data",
|
|
29
|
+
bindable: false
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: "width",
|
|
33
|
+
type: "number | string",
|
|
34
|
+
description: "Largura do bloco de agrupamento.",
|
|
35
|
+
semanticRole: "behavior",
|
|
36
|
+
bindable: true
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: "height",
|
|
40
|
+
type: "number | string",
|
|
41
|
+
description: "Altura do bloco de agrupamento.",
|
|
42
|
+
semanticRole: "behavior",
|
|
43
|
+
bindable: true
|
|
44
|
+
}
|
|
45
|
+
],
|
|
46
|
+
states: ["default"],
|
|
47
|
+
examples: [
|
|
48
|
+
{
|
|
49
|
+
id: "basic",
|
|
50
|
+
title: "Basico",
|
|
51
|
+
file: "apps/showcase/src/app/components/sg-group-box/samples/basico.tsx.sample",
|
|
52
|
+
kind: "sample"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
id: "playground",
|
|
56
|
+
title: "Playground",
|
|
57
|
+
file: "apps/showcase/src/app/components/sg-group-box/sg-group-box.tsx.playground",
|
|
58
|
+
kind: "playground"
|
|
59
|
+
}
|
|
60
|
+
],
|
|
61
|
+
showcase: {
|
|
62
|
+
route: "/components/sg-group-box",
|
|
63
|
+
hasPlayground: true,
|
|
64
|
+
hasPropsTable: true
|
|
65
|
+
},
|
|
66
|
+
sdui: {
|
|
67
|
+
rendererType: "layout.group-box",
|
|
68
|
+
acceptsDataBinding: true,
|
|
69
|
+
defaultProps: {
|
|
70
|
+
width: "100%"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
export const aiHints = {
|
|
75
|
+
version: "0.1",
|
|
76
|
+
preferredUseCases: [
|
|
77
|
+
"Agrupar campos relacionados em formularios pequenos e medios.",
|
|
78
|
+
"Criar secoes com titulo visivel em configuracoes, cadastro e dados pessoais.",
|
|
79
|
+
"Delimitar visualmente conteudo sem adicionar comportamento complexo."
|
|
80
|
+
],
|
|
81
|
+
avoidUseCases: [
|
|
82
|
+
"Criar hierarquias colapsaveis; nesses casos prefira SgAccordion.",
|
|
83
|
+
"Blocos com destaque visual mais rico; nesses casos prefira SgCard.",
|
|
84
|
+
"Acoes e inputs isolados; nesses casos prefira componentes especificos."
|
|
85
|
+
],
|
|
86
|
+
synonyms: ["group box", "fieldset", "form group", "titled section"],
|
|
87
|
+
relatedEntityFields: ["addressSection", "contactSection", "profileSection", "settingsGroup"],
|
|
88
|
+
compositionHints: [
|
|
89
|
+
"Usar com componentes sgInput* para organizar formularios em secoes.",
|
|
90
|
+
"Combinar com SgButton no rodape quando a secao tiver acoes locais."
|
|
91
|
+
],
|
|
92
|
+
rankingSignals: {
|
|
93
|
+
freeText: 0,
|
|
94
|
+
structuredChoice: 0,
|
|
95
|
+
date: 0,
|
|
96
|
+
number: 0,
|
|
97
|
+
denseLayout: 0.8
|
|
98
|
+
}
|
|
99
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SgMenu.meta.d.ts","sourceRoot":"","sources":["../../src/layout/SgMenu.meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE9D,eAAO,MAAM,MAAM,EAAE,QA+GpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WAyBrB,CAAC"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
export const sgMeta = {
|
|
2
|
+
version: "0.1",
|
|
3
|
+
componentId: "navigation.menu",
|
|
4
|
+
package: "@seedgrid/fe-components",
|
|
5
|
+
exportName: "SgMenu",
|
|
6
|
+
slug: "sg-menu",
|
|
7
|
+
displayName: "SgMenu",
|
|
8
|
+
category: "navigation",
|
|
9
|
+
subcategory: "menu",
|
|
10
|
+
description: "Componente de navegacao estruturada com suporte a sidebar, drawer, menu inline e variantes hierarquicas ou mega menu.",
|
|
11
|
+
tags: ["navigation", "menu", "sidebar", "drawer", "mega-menu"],
|
|
12
|
+
capabilities: ["hierarchical-navigation", "search", "collapse", "pin", "dock", "brand-user-sections"],
|
|
13
|
+
fieldSemantics: ["navigation", "menuTree", "appNavigation", "hierarchicalMenu"],
|
|
14
|
+
props: [
|
|
15
|
+
{
|
|
16
|
+
name: "menu",
|
|
17
|
+
type: "SgMenuNode[]",
|
|
18
|
+
required: true,
|
|
19
|
+
description: "Arvore de itens e subitens do menu.",
|
|
20
|
+
semanticRole: "data",
|
|
21
|
+
bindable: true
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: "selection",
|
|
25
|
+
type: "SgMenuSelection",
|
|
26
|
+
description: "Selecao ativa por id ou url.",
|
|
27
|
+
semanticRole: "value",
|
|
28
|
+
bindable: true
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
name: "menuStyle",
|
|
32
|
+
type: '"sidebar" | "drawer" | "inline" | "hybrid"',
|
|
33
|
+
default: "sidebar",
|
|
34
|
+
description: "Modo estrutural do menu.",
|
|
35
|
+
semanticRole: "behavior",
|
|
36
|
+
bindable: true
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: "menuVariantStyle",
|
|
40
|
+
type: '"panel" | "tiered" | "mega-horizontal" | "mega-vertical"',
|
|
41
|
+
default: "panel",
|
|
42
|
+
description: "Variante visual e comportamental do menu.",
|
|
43
|
+
semanticRole: "behavior",
|
|
44
|
+
bindable: true
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: "collapsed",
|
|
48
|
+
type: "boolean",
|
|
49
|
+
description: "Controla o estado colapsado do menu.",
|
|
50
|
+
semanticRole: "value",
|
|
51
|
+
bindable: true
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
name: "search",
|
|
55
|
+
type: "{ enabled: boolean; placeholder?: string }",
|
|
56
|
+
description: "Configuracao opcional de busca integrada.",
|
|
57
|
+
semanticRole: "behavior",
|
|
58
|
+
bindable: true
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: "brand",
|
|
62
|
+
type: "SgMenuBrand",
|
|
63
|
+
description: "Bloco de marca no topo do menu.",
|
|
64
|
+
semanticRole: "data",
|
|
65
|
+
bindable: true
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
name: "user",
|
|
69
|
+
type: "SgMenuUser",
|
|
70
|
+
description: "Bloco de usuario exibido no menu.",
|
|
71
|
+
semanticRole: "data",
|
|
72
|
+
bindable: true
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: "onNavigate",
|
|
76
|
+
type: "(node: SgMenuNode) => void",
|
|
77
|
+
description: "Callback disparado na navegacao por um item.",
|
|
78
|
+
semanticRole: "event",
|
|
79
|
+
bindable: false
|
|
80
|
+
}
|
|
81
|
+
],
|
|
82
|
+
states: ["default", "collapsed", "expanded", "pinned", "searching", "docked"],
|
|
83
|
+
examples: [
|
|
84
|
+
{
|
|
85
|
+
id: "basic",
|
|
86
|
+
title: "Basico",
|
|
87
|
+
file: "apps/showcase/src/app/components/sg-menu/samples/basico.tsx.sample",
|
|
88
|
+
kind: "sample"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
id: "playground",
|
|
92
|
+
title: "Playground",
|
|
93
|
+
file: "apps/showcase/src/app/components/sg-menu/sg-menu.tsx.playground",
|
|
94
|
+
kind: "playground"
|
|
95
|
+
}
|
|
96
|
+
],
|
|
97
|
+
showcase: {
|
|
98
|
+
route: "/components/sg-menu",
|
|
99
|
+
hasPlayground: true,
|
|
100
|
+
hasPropsTable: true
|
|
101
|
+
},
|
|
102
|
+
sdui: {
|
|
103
|
+
rendererType: "navigation.menu",
|
|
104
|
+
acceptsDataBinding: true,
|
|
105
|
+
defaultProps: {
|
|
106
|
+
menuStyle: "sidebar",
|
|
107
|
+
menuVariantStyle: "panel",
|
|
108
|
+
closeOnNavigate: true
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
export const aiHints = {
|
|
113
|
+
version: "0.1",
|
|
114
|
+
preferredUseCases: [
|
|
115
|
+
"Navegacao global ou lateral de aplicacoes com varias areas e niveis.",
|
|
116
|
+
"Menus persistentes com busca, colapso, pinagem e seccoes de usuario.",
|
|
117
|
+
"Estruturas de informacao hierarquicas que pedem submenus e mega menus."
|
|
118
|
+
],
|
|
119
|
+
avoidUseCases: [
|
|
120
|
+
"Indicacao simples de caminho; nesses casos prefira SgBreadcrumb.",
|
|
121
|
+
"Acoes locais pequenas; nesses casos prefira SgPopup ou SgSplitButton.",
|
|
122
|
+
"Containers de layout sem semantica de navegacao."
|
|
123
|
+
],
|
|
124
|
+
synonyms: ["menu", "sidebar", "navigation menu", "app menu"],
|
|
125
|
+
relatedEntityFields: ["menu", "navigation", "navTree", "sidebarItems", "brandMenu"],
|
|
126
|
+
compositionHints: [
|
|
127
|
+
"Usar com SgBreadcrumb para navegacao local e contexto de pagina.",
|
|
128
|
+
"Combinar com SgAvatar e SgBadge em seccoes de usuario e notificacoes."
|
|
129
|
+
],
|
|
130
|
+
rankingSignals: {
|
|
131
|
+
freeText: 0,
|
|
132
|
+
structuredChoice: 0.2,
|
|
133
|
+
date: 0,
|
|
134
|
+
number: 0,
|
|
135
|
+
denseLayout: 0.95
|
|
136
|
+
}
|
|
137
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SgPageControl.meta.d.ts","sourceRoot":"","sources":["../../src/layout/SgPageControl.meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE9D,eAAO,MAAM,MAAM,EAAE,QA8BpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WAmBrB,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export const sgMeta = {
|
|
2
|
+
version: "0.1",
|
|
3
|
+
componentId: "navigation.page-control",
|
|
4
|
+
package: "@seedgrid/fe-components",
|
|
5
|
+
exportName: "SgPageControl",
|
|
6
|
+
slug: "sg-page-control",
|
|
7
|
+
displayName: "SgPageControl",
|
|
8
|
+
category: "navigation",
|
|
9
|
+
subcategory: "page-control",
|
|
10
|
+
description: "Controle de paginas em abas para alternar entre paineis de conteudo relacionados em uma mesma area da tela.",
|
|
11
|
+
tags: ["navigation", "tabs", "page-control", "panels"],
|
|
12
|
+
capabilities: ["tab-navigation", "controlled-active-page", "hidden-pages", "keyboard-navigation"],
|
|
13
|
+
fieldSemantics: ["tabs", "pageTabs", "panelNavigation", "sectionSwitcher"],
|
|
14
|
+
props: [
|
|
15
|
+
{ name: "children", type: "ReactNode", required: true, description: "Paginas filhas definidas por SgPageControlPage.", semanticRole: "data", bindable: false },
|
|
16
|
+
{ name: "activePageId", type: "string", description: "Id da pagina ativa em modo controlado.", semanticRole: "value", bindable: true },
|
|
17
|
+
{ name: "activeIndex", type: "number", description: "Indice ativo em modo controlado.", semanticRole: "value", bindable: true },
|
|
18
|
+
{ name: "keepMounted", type: "boolean", default: false, description: "Mantem paineis inativos montados no DOM.", semanticRole: "behavior", bindable: true },
|
|
19
|
+
{ name: "pageControlStyle", type: '"underline" | "pills"', default: "underline", description: "Estilo visual da lista de abas.", semanticRole: "appearance", bindable: true },
|
|
20
|
+
{ name: "size", type: '"sm" | "md" | "lg"', default: "md", description: "Escala visual das abas.", semanticRole: "appearance", bindable: true },
|
|
21
|
+
{ name: "onActivePageIdChange", type: "(pageId: string, context: object) => void", description: "Callback disparado quando a pagina ativa muda.", semanticRole: "event", bindable: false }
|
|
22
|
+
],
|
|
23
|
+
states: ["default", "controlled", "keyboard-navigation"],
|
|
24
|
+
examples: [
|
|
25
|
+
{ id: "basic", title: "Basico", file: "apps/showcase/src/app/components/sg-page-control/samples/basico.tsx.sample", kind: "sample" },
|
|
26
|
+
{ id: "playground", title: "Playground", file: "apps/showcase/src/app/components/sg-page-control/sg-page-control.tsx.playground", kind: "playground" }
|
|
27
|
+
],
|
|
28
|
+
showcase: { route: "/components/sg-page-control", hasPlayground: true, hasPropsTable: true },
|
|
29
|
+
sdui: { rendererType: "navigation.page-control", acceptsDataBinding: true, defaultProps: { pageControlStyle: "underline", size: "md", keepMounted: false } }
|
|
30
|
+
};
|
|
31
|
+
export const aiHints = {
|
|
32
|
+
version: "0.1",
|
|
33
|
+
preferredUseCases: [
|
|
34
|
+
"Alternar entre secoes irmas como configuracoes, cadastro e detalhes.",
|
|
35
|
+
"Organizar conteudo em abas sem sair da mesma tela.",
|
|
36
|
+
"Substituir navegacao lateral quando o conjunto de paginas e pequeno e relacionado."
|
|
37
|
+
],
|
|
38
|
+
avoidUseCases: [
|
|
39
|
+
"Navegacao global de aplicacao; nesses casos prefira menu.",
|
|
40
|
+
"Hierarquias profundas; nesses casos prefira breadcrumb ou tree view.",
|
|
41
|
+
"Layouts permanentes sem alternancia."
|
|
42
|
+
],
|
|
43
|
+
synonyms: ["tabs", "page control", "tabbed navigation", "section tabs"],
|
|
44
|
+
relatedEntityFields: ["tabs", "sections", "detailsTabs", "settingsTabs"],
|
|
45
|
+
compositionHints: [
|
|
46
|
+
"Usar com SgPageControlPage para estruturar paineis filhos.",
|
|
47
|
+
"Combinar com SgCard, SgPanel e forms multi-secao."
|
|
48
|
+
],
|
|
49
|
+
rankingSignals: { freeText: 0, structuredChoice: 0.1, date: 0, number: 0, denseLayout: 0.78 }
|
|
50
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SgPageControlPage.meta.d.ts","sourceRoot":"","sources":["../../src/layout/SgPageControlPage.meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE9D,eAAO,MAAM,MAAM,EAAE,QA2BpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WAmBrB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export const sgMeta = {
|
|
2
|
+
version: "0.1",
|
|
3
|
+
componentId: "navigation.page-control-page",
|
|
4
|
+
package: "@seedgrid/fe-components",
|
|
5
|
+
exportName: "SgPageControlPage",
|
|
6
|
+
slug: "sg-page-control-page",
|
|
7
|
+
displayName: "SgPageControlPage",
|
|
8
|
+
category: "navigation",
|
|
9
|
+
subcategory: "page-control-page",
|
|
10
|
+
description: "Declaracao de uma pagina individual dentro de um SgPageControl, com titulo, hint, icone e conteudo associado.",
|
|
11
|
+
tags: ["navigation", "tabs", "page", "step", "panel"],
|
|
12
|
+
capabilities: ["tab-page", "title", "hint", "icon", "mount-control"],
|
|
13
|
+
fieldSemantics: ["tabPage", "navigationPage", "stepPage", "contentPanel"],
|
|
14
|
+
props: [
|
|
15
|
+
{ name: "id", type: "string", description: "Identificador estavel da pagina.", semanticRole: "value", bindable: true },
|
|
16
|
+
{ name: "title", type: "ReactNode", required: true, description: "Titulo exibido na aba da pagina.", semanticRole: "label", bindable: true },
|
|
17
|
+
{ name: "hint", type: "string", description: "Descricao curta associada a aba.", semanticRole: "label", bindable: true },
|
|
18
|
+
{ name: "icon", type: "ReactNode", description: "Icone opcional da aba.", semanticRole: "label", bindable: true },
|
|
19
|
+
{ name: "hidden", type: "boolean", default: false, description: "Oculta a pagina sem remove-la da estrutura.", semanticRole: "behavior", bindable: true },
|
|
20
|
+
{ name: "disabled", type: "boolean", default: false, description: "Desabilita a selecao da pagina.", semanticRole: "behavior", bindable: true },
|
|
21
|
+
{ name: "children", type: "ReactNode", required: true, description: "Conteudo exibido no painel desta pagina.", semanticRole: "data", bindable: false }
|
|
22
|
+
],
|
|
23
|
+
states: ["default", "active", "hidden", "disabled"],
|
|
24
|
+
examples: [{ id: "basic", title: "Basico", file: "apps/showcase/src/app/components/sg-page-control/samples/basico.tsx.sample", kind: "sample" }],
|
|
25
|
+
showcase: { route: "/components/sg-page-control", hasPlayground: true, hasPropsTable: true },
|
|
26
|
+
sdui: { rendererType: "navigation.page-control-page", acceptsDataBinding: true, defaultProps: { hidden: false, disabled: false } }
|
|
27
|
+
};
|
|
28
|
+
export const aiHints = {
|
|
29
|
+
version: "0.1",
|
|
30
|
+
preferredUseCases: [
|
|
31
|
+
"Declarar paginas internas de um PageControl com conteudo associado.",
|
|
32
|
+
"Separar secoes navegaveis em abas ou etapas de configuracao.",
|
|
33
|
+
"Modelar paineis de conteudo com titulo, hint e icone na navegacao superior."
|
|
34
|
+
],
|
|
35
|
+
avoidUseCases: [
|
|
36
|
+
"Fluxos com botoes de navegacao e validacao sequencial; nesses casos prefira WizardPage.",
|
|
37
|
+
"Containers independentes sem controle de abas; nesses casos prefira Panel ou Card.",
|
|
38
|
+
"Menus soltos fora de PageControl."
|
|
39
|
+
],
|
|
40
|
+
synonyms: ["tab page", "page control page", "navigation page", "tab panel"],
|
|
41
|
+
relatedEntityFields: ["tabs", "pages", "sections", "steps", "panels"],
|
|
42
|
+
compositionHints: [
|
|
43
|
+
"Usar sempre como filho de SgPageControl.",
|
|
44
|
+
"Combinar com icones e hints para melhorar a navegacao entre secoes."
|
|
45
|
+
],
|
|
46
|
+
rankingSignals: { freeText: 0, structuredChoice: 0.7, date: 0, number: 0, denseLayout: 0.75 }
|
|
47
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SgPanel.meta.d.ts","sourceRoot":"","sources":["../../src/layout/SgPanel.meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE9D,eAAO,MAAM,MAAM,EAAE,QAkHpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WAyBrB,CAAC"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
export const sgMeta = {
|
|
2
|
+
version: "0.1",
|
|
3
|
+
componentId: "layout.panel",
|
|
4
|
+
package: "@seedgrid/fe-components",
|
|
5
|
+
exportName: "SgPanel",
|
|
6
|
+
slug: "sg-panel",
|
|
7
|
+
displayName: "SgPanel",
|
|
8
|
+
category: "layout",
|
|
9
|
+
subcategory: "panel",
|
|
10
|
+
description: "Container visual e estrutural para agrupamento de conteudo, composicao de secoes e cenarios com dock, padding e scroll.",
|
|
11
|
+
tags: ["layout", "container", "panel", "group"],
|
|
12
|
+
capabilities: ["container", "grouping", "dock-layout", "scrollable", "grid-span"],
|
|
13
|
+
fieldSemantics: ["container", "section", "group", "formSection", "highlightedContent"],
|
|
14
|
+
props: [
|
|
15
|
+
{
|
|
16
|
+
name: "align",
|
|
17
|
+
type: '"top" | "left" | "right" | "bottom" | "client"',
|
|
18
|
+
default: "client",
|
|
19
|
+
description: "Posicionamento relativo ao container pai em cenarios de dock.",
|
|
20
|
+
semanticRole: "behavior",
|
|
21
|
+
bindable: true
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: "width",
|
|
25
|
+
type: "number | string",
|
|
26
|
+
description: "Largura do painel quando dockado ou usado em composicoes controladas.",
|
|
27
|
+
semanticRole: "behavior",
|
|
28
|
+
bindable: true
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
name: "height",
|
|
32
|
+
type: "number | string",
|
|
33
|
+
description: "Altura do painel quando dockado ou usado em composicoes controladas.",
|
|
34
|
+
semanticRole: "behavior",
|
|
35
|
+
bindable: true
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: "borderStyle",
|
|
39
|
+
type: '"none" | "solid" | "dashed"',
|
|
40
|
+
default: "dashed",
|
|
41
|
+
description: "Estilo visual da borda do container.",
|
|
42
|
+
semanticRole: "appearance",
|
|
43
|
+
bindable: true
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: "padding",
|
|
47
|
+
type: "number | string",
|
|
48
|
+
default: 0,
|
|
49
|
+
description: "Espacamento externo do painel em relacao ao slot recebido do pai.",
|
|
50
|
+
semanticRole: "appearance",
|
|
51
|
+
bindable: true
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
name: "contentPadding",
|
|
55
|
+
type: "number | string",
|
|
56
|
+
default: 0,
|
|
57
|
+
description: "Espacamento interno entre a borda e o conteudo.",
|
|
58
|
+
semanticRole: "appearance",
|
|
59
|
+
bindable: true
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
name: "scrollable",
|
|
63
|
+
type: 'boolean | "auto" | "x" | "y"',
|
|
64
|
+
default: false,
|
|
65
|
+
description: "Habilita scroll apenas quando desejado.",
|
|
66
|
+
semanticRole: "behavior",
|
|
67
|
+
bindable: true
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
name: "scrollbarGutter",
|
|
71
|
+
type: "boolean",
|
|
72
|
+
default: false,
|
|
73
|
+
description: "Reserva espaco visual para scrollbar.",
|
|
74
|
+
semanticRole: "appearance",
|
|
75
|
+
bindable: true
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
name: "children",
|
|
79
|
+
type: "ReactNode",
|
|
80
|
+
description: "Conteudo livre ou outros elementos de layout aninhados.",
|
|
81
|
+
semanticRole: "data",
|
|
82
|
+
bindable: false
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
states: ["default", "scrollable", "nested"],
|
|
86
|
+
examples: [
|
|
87
|
+
{
|
|
88
|
+
id: "dock-basic",
|
|
89
|
+
title: "Dock basico",
|
|
90
|
+
file: "apps/showcase/src/app/components/sg-panel/samples/align-width-height.tsx.sample",
|
|
91
|
+
kind: "sample"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
id: "playground",
|
|
95
|
+
title: "Playground",
|
|
96
|
+
file: "apps/showcase/src/app/components/sg-panel/sg-panel.tsx.playground",
|
|
97
|
+
kind: "playground"
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
showcase: {
|
|
101
|
+
route: "/components/sg-panel",
|
|
102
|
+
hasPlayground: true,
|
|
103
|
+
hasPropsTable: true
|
|
104
|
+
},
|
|
105
|
+
sdui: {
|
|
106
|
+
rendererType: "layout.panel",
|
|
107
|
+
acceptsDataBinding: true,
|
|
108
|
+
defaultProps: {
|
|
109
|
+
align: "client",
|
|
110
|
+
borderStyle: "dashed",
|
|
111
|
+
scrollable: false
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
export const aiHints = {
|
|
116
|
+
version: "0.1",
|
|
117
|
+
preferredUseCases: [
|
|
118
|
+
"Agrupar visualmente conteudo relacionado em secoes ou blocos de formulario.",
|
|
119
|
+
"Estruturar layouts com dock, areas laterais, cabecalho e rodape.",
|
|
120
|
+
"Destacar conteudo ou criar containers com scroll controlado."
|
|
121
|
+
],
|
|
122
|
+
avoidUseCases: [
|
|
123
|
+
"Executar acoes; nesses casos prefira SgButton.",
|
|
124
|
+
"Capturar dados; nesses casos prefira componentes de input.",
|
|
125
|
+
"Substituir navegacao especializada; nesses casos prefira componentes de menu e layout dedicados."
|
|
126
|
+
],
|
|
127
|
+
synonyms: ["panel", "container", "section", "group box", "content block"],
|
|
128
|
+
relatedEntityFields: ["section", "group", "formBlock", "contentArea"],
|
|
129
|
+
compositionHints: [
|
|
130
|
+
"Usar como container para campos como SgInputText.",
|
|
131
|
+
"Combinar com SgButton em rodapes de secao ou areas de acao."
|
|
132
|
+
],
|
|
133
|
+
rankingSignals: {
|
|
134
|
+
freeText: 0,
|
|
135
|
+
structuredChoice: 0,
|
|
136
|
+
date: 0,
|
|
137
|
+
number: 0,
|
|
138
|
+
denseLayout: 0.95
|
|
139
|
+
}
|
|
140
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SgScreen.meta.d.ts","sourceRoot":"","sources":["../../src/layout/SgScreen.meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE9D,eAAO,MAAM,MAAM,EAAE,QAuFpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WAyBrB,CAAC"}
|