@sula-tech/webcomponents 0.5.0 → 0.6.0
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/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{sula-avatar_16.cjs.entry.js → sula-avatar_18.cjs.entry.js} +220 -50
- package/dist/cjs/sula-avatar_18.cjs.entry.js.map +1 -0
- package/dist/cjs/webcomponents.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/sula-button/sula-button.css +1 -1
- package/dist/collection/components/sula-button/sula-button.js +66 -6
- package/dist/collection/components/sula-button/sula-button.js.map +1 -1
- package/dist/collection/components/sula-button/sula-button.stories.js +260 -97
- package/dist/collection/components/sula-button/sula-button.stories.js.map +1 -1
- package/dist/collection/components/sula-checkbox/sula-checkbox.js +3 -3
- package/dist/collection/components/sula-chip/sula-chip.js +3 -3
- package/dist/collection/components/sula-dropdown/sula-dropdown.js +4 -4
- package/dist/collection/components/sula-icon/sula-icon.css +1 -1
- package/dist/collection/components/sula-icon/sula-icon.js +1 -1
- package/dist/collection/components/sula-loader/sula-loader.css +1 -1
- package/dist/collection/components/sula-loader/sula-loader.js +1 -1
- package/dist/collection/components/sula-menu-select-list/sula-menu-select-list.js +1 -1
- package/dist/collection/components/sula-progress-bar/model/sula-progress-bar.model.js +15 -0
- package/dist/collection/components/sula-progress-bar/model/sula-progress-bar.model.js.map +1 -0
- package/dist/collection/components/sula-progress-bar/sula-progress-bar.css +1 -0
- package/dist/collection/components/sula-progress-bar/sula-progress-bar.js +213 -0
- package/dist/collection/components/sula-progress-bar/sula-progress-bar.js.map +1 -0
- package/dist/collection/components/sula-progress-bar/sula-progress.stories.js +172 -0
- package/dist/collection/components/sula-progress-bar/sula-progress.stories.js.map +1 -0
- package/dist/collection/components/sula-radio-button/sula-radio-button.js +2 -2
- package/dist/collection/components/sula-search-bar/model/sula-search.bar-model.js +6 -0
- package/dist/collection/components/sula-search-bar/model/sula-search.bar-model.js.map +1 -0
- package/dist/collection/components/sula-search-bar/sula-search-bar.css +1 -0
- package/dist/collection/components/sula-search-bar/sula-search-bar.js +240 -0
- package/dist/collection/components/sula-search-bar/sula-search-bar.js.map +1 -0
- package/dist/collection/components/sula-search-bar/sula-search-bar.stories.js +119 -0
- package/dist/collection/components/sula-search-bar/sula-search-bar.stories.js.map +1 -0
- package/dist/collection/components/sula-switch/sula-switch.js +4 -4
- package/dist/collection/components/sula-tag/sula-tag.js +3 -3
- package/dist/collection/components/sula-textarea/sula-textarea.js +6 -6
- package/dist/collection/components/sula-textfield/sula-textfield.js +2 -2
- package/dist/collection/components/sula-tiles/sula-tiles.js +1 -1
- package/dist/collection/components/sula-timeline-list/sula-timeline-list.js +1 -1
- package/dist/components/{p-CjYWDIHR.js → p-BNtk_d_S.js} +3 -3
- package/dist/components/{p-CjYWDIHR.js.map → p-BNtk_d_S.js.map} +1 -1
- package/dist/components/p-CYBZuKr6.js +27129 -0
- package/dist/components/p-CYBZuKr6.js.map +1 -0
- package/dist/components/{p-CYhL1fU6.js → p-DULnDBOY.js} +4 -4
- package/dist/components/{p-CYhL1fU6.js.map → p-DULnDBOY.js.map} +1 -1
- package/dist/components/sula-avatar.js +1 -1
- package/dist/components/sula-badge.js +1 -1
- package/dist/components/sula-button.js +38 -9
- package/dist/components/sula-button.js.map +1 -1
- package/dist/components/sula-checkbox.js +4 -4
- package/dist/components/sula-chip.js +5 -5
- package/dist/components/sula-dropdown.js +6 -6
- package/dist/components/sula-icon.js +1 -1
- package/dist/components/sula-loader.js +1 -27124
- package/dist/components/sula-loader.js.map +1 -1
- package/dist/components/sula-menu-select-list.js +1 -1
- package/dist/components/sula-progress-bar.d.ts +11 -0
- package/dist/components/sula-progress-bar.js +122 -0
- package/dist/components/sula-progress-bar.js.map +1 -0
- package/dist/components/sula-radio-button.js +2 -2
- package/dist/components/sula-search-bar.d.ts +11 -0
- package/dist/components/sula-search-bar.js +104 -0
- package/dist/components/sula-search-bar.js.map +1 -0
- package/dist/components/sula-switch.js +4 -4
- package/dist/components/sula-tag.js +4 -4
- package/dist/components/sula-textarea.js +6 -6
- package/dist/components/sula-textfield.js +3 -3
- package/dist/components/sula-tiles.js +2 -2
- package/dist/components/sula-timeline-list.js +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{sula-avatar_16.entry.js → sula-avatar_18.entry.js} +219 -51
- package/dist/esm/sula-avatar_18.entry.js.map +1 -0
- package/dist/esm/webcomponents.js +1 -1
- package/dist/types/components/sula-button/sula-button.d.ts +11 -1
- package/dist/types/components/sula-button/sula-button.stories.d.ts +124 -33
- package/dist/types/components/sula-progress-bar/model/sula-progress-bar.model.d.ts +12 -0
- package/dist/types/components/sula-progress-bar/sula-progress-bar.d.ts +33 -0
- package/dist/types/components/sula-progress-bar/sula-progress.stories.d.ts +84 -0
- package/dist/types/components/sula-search-bar/model/sula-search.bar-model.d.ts +4 -0
- package/dist/types/components/sula-search-bar/sula-search-bar.d.ts +50 -0
- package/dist/types/components/sula-search-bar/sula-search-bar.stories.d.ts +84 -0
- package/dist/types/components.d.ts +176 -0
- package/dist/webcomponents/{p-51f9d6a5.entry.js → p-2a133394.entry.js} +2788 -2538
- package/dist/webcomponents/{sula-avatar.sula-badge.sula-button.sula-checkbox.sula-chip.sula-dropdown.sula-icon.sula-loader.sula-menu-select-list.sula-radio-button.sula-switch.sula-tag.sula-textarea.sula-textfield.sula-tiles.sula-timeline-list.entry.esm.js.map → p-2a133394.entry.js.map} +1 -1
- package/dist/webcomponents/webcomponents.esm.js +33 -14
- package/package.json +1 -1
- package/readme.md +79 -19
- package/dist/cjs/sula-avatar.sula-badge.sula-button.sula-checkbox.sula-chip.sula-dropdown.sula-icon.sula-loader.sula-menu-select-list.sula-radio-button.sula-switch.sula-tag.sula-textarea.sula-textfield.sula-tiles.sula-timeline-list.entry.cjs.js.map +0 -1
- package/dist/cjs/sula-avatar_16.cjs.entry.js.map +0 -1
- package/dist/esm/sula-avatar.sula-badge.sula-button.sula-checkbox.sula-chip.sula-dropdown.sula-icon.sula-loader.sula-menu-select-list.sula-radio-button.sula-switch.sula-tag.sula-textarea.sula-textfield.sula-tiles.sula-timeline-list.entry.js.map +0 -1
- package/dist/esm/sula-avatar_16.entry.js.map +0 -1
- package/dist/webcomponents/p-51f9d6a5.entry.js.map +0 -1
|
@@ -5,81 +5,111 @@ export default {
|
|
|
5
5
|
argTypes: {
|
|
6
6
|
text: {
|
|
7
7
|
control: 'text',
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
description: 'Texto do botão quando é do tipo texto',
|
|
9
|
+
table: {
|
|
10
|
+
type: { summary: 'string' },
|
|
11
|
+
defaultValue: { summary: 'undefined' },
|
|
12
12
|
},
|
|
13
13
|
},
|
|
14
14
|
icon: {
|
|
15
15
|
control: 'text',
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
description: 'Ícone do botão quando é do tipo ícone',
|
|
17
|
+
table: {
|
|
18
|
+
type: { summary: 'string' },
|
|
19
|
+
defaultValue: { summary: 'undefined' },
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
leftIcon: {
|
|
23
|
+
control: 'text',
|
|
24
|
+
description: 'Ícone à esquerda do texto',
|
|
25
|
+
table: {
|
|
26
|
+
type: { summary: 'string' },
|
|
27
|
+
defaultValue: { summary: 'undefined' },
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
rightIcon: {
|
|
31
|
+
control: 'text',
|
|
32
|
+
description: 'Ícone à direita do texto',
|
|
33
|
+
table: {
|
|
34
|
+
type: { summary: 'string' },
|
|
35
|
+
defaultValue: { summary: 'undefined' },
|
|
20
36
|
},
|
|
21
37
|
},
|
|
22
38
|
appearance: {
|
|
23
39
|
control: { type: 'select' },
|
|
24
40
|
options: Object.values(SulaButtonAppearance),
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
41
|
+
description: 'Aparência visual do botão',
|
|
42
|
+
table: {
|
|
43
|
+
type: { summary: 'SulaButtonAppearance' },
|
|
44
|
+
defaultValue: { summary: 'SulaButtonAppearance.Default' },
|
|
29
45
|
},
|
|
30
46
|
},
|
|
31
47
|
type: {
|
|
32
48
|
control: { type: 'select' },
|
|
33
49
|
options: Object.values(SulaButtonType),
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
50
|
+
description: 'Tipo do botão (texto ou ícone)',
|
|
51
|
+
table: {
|
|
52
|
+
type: { summary: 'SulaButtonType' },
|
|
53
|
+
defaultValue: { summary: 'SulaButtonType.Text' },
|
|
38
54
|
},
|
|
39
55
|
},
|
|
40
56
|
size: {
|
|
41
57
|
control: { type: 'select' },
|
|
42
58
|
options: Object.values(SulaButtonSize),
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
59
|
+
description: 'Tamanho do botão',
|
|
60
|
+
table: {
|
|
61
|
+
type: { summary: 'SulaButtonSize' },
|
|
62
|
+
defaultValue: { summary: 'SulaButtonSize.Default' },
|
|
47
63
|
},
|
|
48
64
|
},
|
|
49
65
|
status: {
|
|
50
66
|
control: { type: 'select' },
|
|
51
67
|
options: Object.values(SulaButtonStatus),
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
68
|
+
description: 'Status/cor do botão',
|
|
69
|
+
table: {
|
|
70
|
+
type: { summary: 'SulaButtonStatus' },
|
|
71
|
+
defaultValue: { summary: 'SulaButtonStatus.Primary' },
|
|
56
72
|
},
|
|
57
73
|
},
|
|
58
74
|
loading: {
|
|
59
75
|
control: 'boolean',
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
76
|
+
description: 'Estado de carregamento do botão',
|
|
77
|
+
table: {
|
|
78
|
+
type: { summary: 'boolean' },
|
|
79
|
+
defaultValue: { summary: 'false' },
|
|
64
80
|
},
|
|
65
81
|
},
|
|
66
82
|
buttonDisabled: {
|
|
67
83
|
control: 'boolean',
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
84
|
+
description: 'Estado desabilitado do botão',
|
|
85
|
+
table: {
|
|
86
|
+
type: { summary: 'boolean' },
|
|
87
|
+
defaultValue: { summary: 'false' },
|
|
72
88
|
},
|
|
73
89
|
},
|
|
74
90
|
buttonClicked: {
|
|
75
91
|
action: 'buttonClicked',
|
|
76
92
|
description: 'Evento emitido quando o botão é clicado',
|
|
93
|
+
table: {
|
|
94
|
+
type: { summary: 'CustomEvent<void>' },
|
|
95
|
+
},
|
|
77
96
|
},
|
|
78
97
|
},
|
|
79
98
|
parameters: {
|
|
80
99
|
docs: {
|
|
81
100
|
description: {
|
|
82
|
-
component:
|
|
101
|
+
component: `
|
|
102
|
+
O componente **Sula Button** é utilizado como representação visual para ações de clique.
|
|
103
|
+
Ele permite que os usuários interajam com a interface de diferentes maneiras, comunicando
|
|
104
|
+
ações disponíveis através de variações visuais e estados.
|
|
105
|
+
|
|
106
|
+
### Características principais:
|
|
107
|
+
- Suporte a diferentes aparências (Default, Secondary, Text)
|
|
108
|
+
- Tipos de botão (Texto e Ícone)
|
|
109
|
+
- Estados de carregamento e desabilitado
|
|
110
|
+
- Diferentes tamanhos e status de cor
|
|
111
|
+
- Suporte a ícones laterais
|
|
112
|
+
`,
|
|
83
113
|
},
|
|
84
114
|
},
|
|
85
115
|
},
|
|
@@ -87,25 +117,32 @@ export default {
|
|
|
87
117
|
const Template = args => {
|
|
88
118
|
const container = document.createElement('div');
|
|
89
119
|
container.style.margin = '20px';
|
|
120
|
+
container.style.display = 'flex';
|
|
121
|
+
container.style.alignItems = 'center';
|
|
122
|
+
container.style.justifyContent = 'center';
|
|
123
|
+
container.style.minHeight = '80px';
|
|
90
124
|
const el = document.createElement('sula-button');
|
|
91
125
|
if (args.text)
|
|
92
126
|
el.setAttribute('text', args.text);
|
|
93
127
|
if (args.icon)
|
|
94
128
|
el.setAttribute('icon', args.icon);
|
|
129
|
+
if (args.leftIcon)
|
|
130
|
+
el.setAttribute('left-icon', args.leftIcon);
|
|
131
|
+
if (args.rightIcon)
|
|
132
|
+
el.setAttribute('right-icon', args.rightIcon);
|
|
95
133
|
el.setAttribute('appearance', args.appearance);
|
|
96
134
|
el.setAttribute('type', args.type);
|
|
97
135
|
el.setAttribute('size', args.size);
|
|
98
136
|
el.setAttribute('status', args.status);
|
|
99
|
-
el.setAttribute('loading', args.loading.toString());
|
|
100
|
-
el.setAttribute('button-disabled', args.buttonDisabled.toString());
|
|
137
|
+
el.setAttribute('loading', args.loading ? args.loading.toString() : 'false');
|
|
138
|
+
el.setAttribute('button-disabled', args.buttonDisabled ? args.buttonDisabled.toString() : 'false');
|
|
101
139
|
el.addEventListener('buttonClicked', args.buttonClicked);
|
|
102
140
|
container.appendChild(el);
|
|
103
141
|
return container;
|
|
104
142
|
};
|
|
105
|
-
export const
|
|
106
|
-
|
|
107
|
-
text: '
|
|
108
|
-
icon: '',
|
|
143
|
+
export const Playground = Template.bind({});
|
|
144
|
+
Playground.args = {
|
|
145
|
+
text: 'Button Text',
|
|
109
146
|
appearance: SulaButtonAppearance.Default,
|
|
110
147
|
type: SulaButtonType.Text,
|
|
111
148
|
size: SulaButtonSize.Default,
|
|
@@ -113,103 +150,229 @@ Default.args = {
|
|
|
113
150
|
loading: false,
|
|
114
151
|
buttonDisabled: false,
|
|
115
152
|
};
|
|
116
|
-
export const
|
|
117
|
-
|
|
118
|
-
text: '',
|
|
119
|
-
icon: 'ph ph-house',
|
|
153
|
+
export const DefaultAppearance = Template.bind({});
|
|
154
|
+
DefaultAppearance.args = {
|
|
155
|
+
text: 'Default Button',
|
|
120
156
|
appearance: SulaButtonAppearance.Default,
|
|
121
|
-
type: SulaButtonType.
|
|
157
|
+
type: SulaButtonType.Text,
|
|
158
|
+
size: SulaButtonSize.Default,
|
|
159
|
+
status: SulaButtonStatus.Primary,
|
|
160
|
+
};
|
|
161
|
+
DefaultAppearance.parameters = {
|
|
162
|
+
docs: {
|
|
163
|
+
description: {
|
|
164
|
+
story: 'Botão com aparência padrão (preenchido).',
|
|
165
|
+
},
|
|
166
|
+
},
|
|
167
|
+
};
|
|
168
|
+
export const SecondaryAppearance = Template.bind({});
|
|
169
|
+
SecondaryAppearance.args = {
|
|
170
|
+
text: 'Secondary Button',
|
|
171
|
+
appearance: SulaButtonAppearance.Secondary,
|
|
172
|
+
type: SulaButtonType.Text,
|
|
122
173
|
size: SulaButtonSize.Default,
|
|
123
174
|
status: SulaButtonStatus.Primary,
|
|
124
|
-
|
|
125
|
-
|
|
175
|
+
};
|
|
176
|
+
SecondaryAppearance.parameters = {
|
|
177
|
+
docs: {
|
|
178
|
+
description: {
|
|
179
|
+
story: 'Botão com aparência secundária (com borda).',
|
|
180
|
+
},
|
|
181
|
+
},
|
|
126
182
|
};
|
|
127
183
|
export const TextAppearance = Template.bind({});
|
|
128
184
|
TextAppearance.args = {
|
|
129
185
|
text: 'Text Button',
|
|
130
|
-
icon: '',
|
|
131
186
|
appearance: SulaButtonAppearance.Text,
|
|
132
187
|
type: SulaButtonType.Text,
|
|
133
188
|
size: SulaButtonSize.Default,
|
|
134
189
|
status: SulaButtonStatus.Primary,
|
|
135
|
-
loading: false,
|
|
136
|
-
buttonDisabled: false,
|
|
137
190
|
};
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
size: SulaButtonSize.Default,
|
|
145
|
-
status: SulaButtonStatus.Primary,
|
|
146
|
-
loading: false,
|
|
147
|
-
buttonDisabled: false,
|
|
191
|
+
TextAppearance.parameters = {
|
|
192
|
+
docs: {
|
|
193
|
+
description: {
|
|
194
|
+
story: 'Botão com aparência de texto (sem fundo).',
|
|
195
|
+
},
|
|
196
|
+
},
|
|
148
197
|
};
|
|
149
|
-
export const
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
icon: '',
|
|
198
|
+
export const IconButton = Template.bind({});
|
|
199
|
+
IconButton.args = {
|
|
200
|
+
icon: 'ph ph-house',
|
|
153
201
|
appearance: SulaButtonAppearance.Default,
|
|
154
|
-
type: SulaButtonType.
|
|
155
|
-
size: SulaButtonSize.
|
|
202
|
+
type: SulaButtonType.Icon,
|
|
203
|
+
size: SulaButtonSize.Default,
|
|
156
204
|
status: SulaButtonStatus.Primary,
|
|
157
|
-
loading: false,
|
|
158
|
-
buttonDisabled: false,
|
|
159
205
|
};
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
206
|
+
IconButton.parameters = {
|
|
207
|
+
docs: {
|
|
208
|
+
description: {
|
|
209
|
+
story: 'Botão contendo apenas um ícone.',
|
|
210
|
+
},
|
|
211
|
+
},
|
|
212
|
+
};
|
|
213
|
+
export const Sizes = () => {
|
|
214
|
+
const container = document.createElement('div');
|
|
215
|
+
container.style.display = 'flex';
|
|
216
|
+
container.style.gap = '16px';
|
|
217
|
+
container.style.alignItems = 'center';
|
|
218
|
+
container.style.padding = '20px';
|
|
219
|
+
const defaultButton = document.createElement('sula-button');
|
|
220
|
+
defaultButton.setAttribute('text', 'Default Size');
|
|
221
|
+
defaultButton.setAttribute('size', SulaButtonSize.Default);
|
|
222
|
+
const largeButton = document.createElement('sula-button');
|
|
223
|
+
largeButton.setAttribute('text', 'Large Size');
|
|
224
|
+
largeButton.setAttribute('size', SulaButtonSize.Large);
|
|
225
|
+
container.appendChild(defaultButton);
|
|
226
|
+
container.appendChild(largeButton);
|
|
227
|
+
return container;
|
|
228
|
+
};
|
|
229
|
+
Sizes.parameters = {
|
|
230
|
+
docs: {
|
|
231
|
+
description: {
|
|
232
|
+
story: 'Comparação entre os diferentes tamanhos disponíveis.',
|
|
233
|
+
},
|
|
234
|
+
},
|
|
235
|
+
};
|
|
236
|
+
export const StatusVariations = () => {
|
|
237
|
+
const container = document.createElement('div');
|
|
238
|
+
container.style.display = 'flex';
|
|
239
|
+
container.style.gap = '16px';
|
|
240
|
+
container.style.alignItems = 'center';
|
|
241
|
+
container.style.padding = '20px';
|
|
242
|
+
const primaryButton = document.createElement('sula-button');
|
|
243
|
+
primaryButton.setAttribute('text', 'Primary');
|
|
244
|
+
primaryButton.setAttribute('status', SulaButtonStatus.Primary);
|
|
245
|
+
const dangerButton = document.createElement('sula-button');
|
|
246
|
+
dangerButton.setAttribute('text', 'Danger');
|
|
247
|
+
dangerButton.setAttribute('status', SulaButtonStatus.Danger);
|
|
248
|
+
const negativeButton = document.createElement('sula-button');
|
|
249
|
+
negativeButton.setAttribute('text', 'Negative');
|
|
250
|
+
negativeButton.setAttribute('status', SulaButtonStatus.Negative);
|
|
251
|
+
container.appendChild(primaryButton);
|
|
252
|
+
container.appendChild(dangerButton);
|
|
253
|
+
container.appendChild(negativeButton);
|
|
254
|
+
return container;
|
|
255
|
+
};
|
|
256
|
+
StatusVariations.parameters = {
|
|
257
|
+
docs: {
|
|
258
|
+
description: {
|
|
259
|
+
story: 'Diferentes status/cores disponíveis para o botão.',
|
|
260
|
+
},
|
|
261
|
+
},
|
|
262
|
+
};
|
|
263
|
+
export const WithLeftIcon = Template.bind({});
|
|
264
|
+
WithLeftIcon.args = {
|
|
265
|
+
text: 'With Left Icon',
|
|
266
|
+
leftIcon: 'ph ph-plus',
|
|
164
267
|
appearance: SulaButtonAppearance.Default,
|
|
165
268
|
type: SulaButtonType.Text,
|
|
166
269
|
size: SulaButtonSize.Default,
|
|
167
|
-
status: SulaButtonStatus.
|
|
168
|
-
|
|
169
|
-
|
|
270
|
+
status: SulaButtonStatus.Primary,
|
|
271
|
+
};
|
|
272
|
+
WithLeftIcon.parameters = {
|
|
273
|
+
docs: {
|
|
274
|
+
description: {
|
|
275
|
+
story: 'Botão com ícone à esquerda do texto.',
|
|
276
|
+
},
|
|
277
|
+
},
|
|
170
278
|
};
|
|
171
|
-
export const
|
|
172
|
-
|
|
173
|
-
text: '
|
|
174
|
-
|
|
279
|
+
export const WithRightIcon = Template.bind({});
|
|
280
|
+
WithRightIcon.args = {
|
|
281
|
+
text: 'With Right Icon',
|
|
282
|
+
rightIcon: 'ph ph-arrow-right',
|
|
175
283
|
appearance: SulaButtonAppearance.Default,
|
|
176
284
|
type: SulaButtonType.Text,
|
|
177
285
|
size: SulaButtonSize.Default,
|
|
178
|
-
status: SulaButtonStatus.
|
|
179
|
-
loading: false,
|
|
180
|
-
buttonDisabled: false,
|
|
286
|
+
status: SulaButtonStatus.Primary,
|
|
181
287
|
};
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
288
|
+
WithRightIcon.parameters = {
|
|
289
|
+
docs: {
|
|
290
|
+
description: {
|
|
291
|
+
story: 'Botão com ícone à direita do texto.',
|
|
292
|
+
},
|
|
293
|
+
},
|
|
294
|
+
};
|
|
295
|
+
export const WithBothIcons = Template.bind({});
|
|
296
|
+
WithBothIcons.args = {
|
|
297
|
+
text: 'Both Icons',
|
|
298
|
+
leftIcon: 'ph ph-download',
|
|
299
|
+
rightIcon: 'ph ph-arrow-down',
|
|
186
300
|
appearance: SulaButtonAppearance.Default,
|
|
187
301
|
type: SulaButtonType.Text,
|
|
188
302
|
size: SulaButtonSize.Default,
|
|
189
303
|
status: SulaButtonStatus.Primary,
|
|
190
|
-
loading: false,
|
|
191
|
-
buttonDisabled: true,
|
|
192
304
|
};
|
|
193
|
-
|
|
194
|
-
|
|
305
|
+
WithBothIcons.parameters = {
|
|
306
|
+
docs: {
|
|
307
|
+
description: {
|
|
308
|
+
story: 'Botão com ícones em ambos os lados do texto.',
|
|
309
|
+
},
|
|
310
|
+
},
|
|
311
|
+
};
|
|
312
|
+
export const LoadingState = Template.bind({});
|
|
313
|
+
LoadingState.args = {
|
|
195
314
|
text: 'Loading Button',
|
|
196
|
-
icon: '',
|
|
197
315
|
appearance: SulaButtonAppearance.Default,
|
|
198
316
|
type: SulaButtonType.Text,
|
|
199
317
|
size: SulaButtonSize.Default,
|
|
200
318
|
status: SulaButtonStatus.Primary,
|
|
201
319
|
loading: true,
|
|
202
|
-
buttonDisabled: false,
|
|
203
320
|
};
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
321
|
+
LoadingState.parameters = {
|
|
322
|
+
docs: {
|
|
323
|
+
description: {
|
|
324
|
+
story: 'Botão em estado de carregamento.',
|
|
325
|
+
},
|
|
326
|
+
},
|
|
327
|
+
};
|
|
328
|
+
export const DisabledState = Template.bind({});
|
|
329
|
+
DisabledState.args = {
|
|
330
|
+
text: 'Disabled Button',
|
|
208
331
|
appearance: SulaButtonAppearance.Default,
|
|
209
332
|
type: SulaButtonType.Text,
|
|
210
333
|
size: SulaButtonSize.Default,
|
|
211
334
|
status: SulaButtonStatus.Primary,
|
|
212
|
-
|
|
213
|
-
|
|
335
|
+
buttonDisabled: true,
|
|
336
|
+
};
|
|
337
|
+
DisabledState.parameters = {
|
|
338
|
+
docs: {
|
|
339
|
+
description: {
|
|
340
|
+
story: 'Botão em estado desabilitado.',
|
|
341
|
+
},
|
|
342
|
+
},
|
|
343
|
+
};
|
|
344
|
+
export const AllVariations = () => {
|
|
345
|
+
const container = document.createElement('div');
|
|
346
|
+
container.style.display = 'grid';
|
|
347
|
+
container.style.gridTemplateColumns = 'repeat(auto-fit, minmax(200px, 1fr))';
|
|
348
|
+
container.style.gap = '16px';
|
|
349
|
+
container.style.padding = '20px';
|
|
350
|
+
const variations = [
|
|
351
|
+
{ text: 'Default Primary', appearance: SulaButtonAppearance.Default, status: SulaButtonStatus.Primary },
|
|
352
|
+
{ text: 'Default Danger', appearance: SulaButtonAppearance.Default, status: SulaButtonStatus.Danger },
|
|
353
|
+
{ text: 'Default Negative', appearance: SulaButtonAppearance.Default, status: SulaButtonStatus.Negative },
|
|
354
|
+
{ text: 'Secondary Primary', appearance: SulaButtonAppearance.Secondary, status: SulaButtonStatus.Primary },
|
|
355
|
+
{ text: 'Secondary Danger', appearance: SulaButtonAppearance.Secondary, status: SulaButtonStatus.Danger },
|
|
356
|
+
{ text: 'Secondary Negative', appearance: SulaButtonAppearance.Secondary, status: SulaButtonStatus.Negative },
|
|
357
|
+
{ text: 'Text Primary', appearance: SulaButtonAppearance.Text, status: SulaButtonStatus.Primary },
|
|
358
|
+
{ text: 'Text Danger', appearance: SulaButtonAppearance.Text, status: SulaButtonStatus.Danger },
|
|
359
|
+
];
|
|
360
|
+
variations.forEach(variation => {
|
|
361
|
+
const button = document.createElement('sula-button');
|
|
362
|
+
button.setAttribute('text', variation.text);
|
|
363
|
+
button.setAttribute('appearance', variation.appearance);
|
|
364
|
+
button.setAttribute('status', variation.status);
|
|
365
|
+
button.setAttribute('type', SulaButtonType.Text);
|
|
366
|
+
button.setAttribute('size', SulaButtonSize.Default);
|
|
367
|
+
container.appendChild(button);
|
|
368
|
+
});
|
|
369
|
+
return container;
|
|
370
|
+
};
|
|
371
|
+
AllVariations.parameters = {
|
|
372
|
+
docs: {
|
|
373
|
+
description: {
|
|
374
|
+
story: 'Visão geral de todas as combinações de aparência e status.',
|
|
375
|
+
},
|
|
376
|
+
},
|
|
214
377
|
};
|
|
215
378
|
//# sourceMappingURL=sula-button.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sula-button.stories.js","sourceRoot":"","sources":["../../../src/components/sula-button/sula-button.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { SulaButtonAppearance, SulaButtonSize, SulaButtonStatus, SulaButtonType } from './model/sula-button.model';\n\nexport default {\n title: 'Components/sula-button',\n tags: ['autodocs'],\n argTypes: {\n text: {\n control: 'text',\n defaultValue: 'Button Text',\n description: 'Button text when is text type',\n type: {\n required: false,\n },\n },\n icon: {\n control: 'text',\n defaultValue: 'ph ph-house',\n description: 'Button icon when is Icon type',\n type: {\n required: false,\n },\n },\n appearance: {\n control: { type: 'select' },\n options: Object.values(SulaButtonAppearance),\n defaultValue: SulaButtonAppearance.Default,\n description: 'Button appearance',\n type: {\n required: false,\n },\n },\n type: {\n control: { type: 'select' },\n options: Object.values(SulaButtonType),\n defaultValue: SulaButtonType.Text,\n description: 'Button type',\n type: {\n required: false,\n },\n },\n size: {\n control: { type: 'select' },\n options: Object.values(SulaButtonSize),\n defaultValue: SulaButtonSize.Default,\n description: 'Button size',\n type: {\n required: false,\n },\n },\n status: {\n control: { type: 'select' },\n options: Object.values(SulaButtonStatus),\n defaultValue: SulaButtonStatus.Primary,\n description: 'Button status',\n type: {\n required: false,\n },\n },\n loading: {\n control: 'boolean',\n defaultValue: false,\n description: 'Is button loading',\n type: {\n required: false,\n },\n },\n buttonDisabled: {\n control: 'boolean',\n defaultValue: false,\n description: 'Is button disabled',\n type: {\n required: false,\n },\n },\n buttonClicked: {\n action: 'buttonClicked',\n description: 'Evento emitido quando o botão é clicado',\n },\n },\n parameters: {\n docs: {\n description: {\n component:\n 'O componente Icon Button Sula Design System é utilizado como a representação visual para ações de clique. Eles serão utilizados para comunicar ações que os usuários podem tomar e permitir que eles interajam com a página de várias maneiras.',\n },\n },\n },\n};\n\nconst Template = args => {\n const container = document.createElement('div');\n container.style.margin = '20px';\n\n const el = document.createElement('sula-button');\n\n if (args.text) el.setAttribute('text', args.text);\n if (args.icon) el.setAttribute('icon', args.icon);\n el.setAttribute('appearance', args.appearance);\n el.setAttribute('type', args.type);\n el.setAttribute('size', args.size);\n el.setAttribute('status', args.status);\n el.setAttribute('loading', args.loading.toString());\n el.setAttribute('button-disabled', args.buttonDisabled.toString());\n\n el.addEventListener('buttonClicked', args.buttonClicked);\n\n container.appendChild(el);\n\n return container;\n};\n\nexport const Default = Template.bind({});\nDefault.args = {\n text: 'Default Button',\n icon: '',\n appearance: SulaButtonAppearance.Default,\n type: SulaButtonType.Text,\n size: SulaButtonSize.Default,\n status: SulaButtonStatus.Primary,\n loading: false,\n buttonDisabled: false,\n};\n\nexport const IconButton = Template.bind({});\nIconButton.args = {\n text: '',\n icon: 'ph ph-house',\n appearance: SulaButtonAppearance.Default,\n type: SulaButtonType.Icon,\n size: SulaButtonSize.Default,\n status: SulaButtonStatus.Primary,\n loading: false,\n buttonDisabled: false,\n};\n\nexport const TextAppearance = Template.bind({});\nTextAppearance.args = {\n text: 'Text Button',\n icon: '',\n appearance: SulaButtonAppearance.Text,\n type: SulaButtonType.Text,\n size: SulaButtonSize.Default,\n status: SulaButtonStatus.Primary,\n loading: false,\n buttonDisabled: false,\n};\n\nexport const SecondaryButton = Template.bind({});\nSecondaryButton.args = {\n text: 'Secondary Button',\n icon: '',\n appearance: SulaButtonAppearance.Secondary,\n type: SulaButtonType.Text,\n size: SulaButtonSize.Default,\n status: SulaButtonStatus.Primary,\n loading: false,\n buttonDisabled: false,\n};\n\nexport const LargeButton = Template.bind({});\nLargeButton.args = {\n text: 'Large Button',\n icon: '',\n appearance: SulaButtonAppearance.Default,\n type: SulaButtonType.Text,\n size: SulaButtonSize.Large,\n status: SulaButtonStatus.Primary,\n loading: false,\n buttonDisabled: false,\n};\n\nexport const DangerButton = Template.bind({});\nDangerButton.args = {\n text: 'Danger Button',\n icon: '',\n appearance: SulaButtonAppearance.Default,\n type: SulaButtonType.Text,\n size: SulaButtonSize.Default,\n status: SulaButtonStatus.Danger,\n loading: false,\n buttonDisabled: false,\n};\n\nexport const NegativeButton = Template.bind({});\nNegativeButton.args = {\n text: 'Negative Button',\n icon: '',\n appearance: SulaButtonAppearance.Default,\n type: SulaButtonType.Text,\n size: SulaButtonSize.Default,\n status: SulaButtonStatus.Negative,\n loading: false,\n buttonDisabled: false,\n};\n\nexport const DisabledButton = Template.bind({});\nDisabledButton.args = {\n text: 'Disabled Button',\n icon: '',\n appearance: SulaButtonAppearance.Default,\n type: SulaButtonType.Text,\n size: SulaButtonSize.Default,\n status: SulaButtonStatus.Primary,\n loading: false,\n buttonDisabled: true,\n};\n\nexport const LoadingButton = Template.bind({});\nLoadingButton.args = {\n text: 'Loading Button',\n icon: '',\n appearance: SulaButtonAppearance.Default,\n type: SulaButtonType.Text,\n size: SulaButtonSize.Default,\n status: SulaButtonStatus.Primary,\n loading: true,\n buttonDisabled: false,\n};\n\nexport const IconAndTextButton = Template.bind({});\nIconAndTextButton.args = {\n text: 'Icon and Text',\n icon: 'ph ph-house',\n appearance: SulaButtonAppearance.Default,\n type: SulaButtonType.Text,\n size: SulaButtonSize.Default,\n status: SulaButtonStatus.Primary,\n loading: false,\n buttonDisabled: false,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"sula-button.stories.js","sourceRoot":"","sources":["../../../src/components/sula-button/sula-button.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { SulaButtonAppearance, SulaButtonSize, SulaButtonStatus, SulaButtonType } from './model/sula-button.model';\n\nexport default {\n title: 'Components/sula-button',\n tags: ['autodocs'],\n argTypes: {\n text: {\n control: 'text',\n description: 'Texto do botão quando é do tipo texto',\n table: {\n type: { summary: 'string' },\n defaultValue: { summary: 'undefined' },\n },\n },\n icon: {\n control: 'text',\n description: 'Ícone do botão quando é do tipo ícone',\n table: {\n type: { summary: 'string' },\n defaultValue: { summary: 'undefined' },\n },\n },\n leftIcon: {\n control: 'text',\n description: 'Ícone à esquerda do texto',\n table: {\n type: { summary: 'string' },\n defaultValue: { summary: 'undefined' },\n },\n },\n rightIcon: {\n control: 'text',\n description: 'Ícone à direita do texto',\n table: {\n type: { summary: 'string' },\n defaultValue: { summary: 'undefined' },\n },\n },\n appearance: {\n control: { type: 'select' },\n options: Object.values(SulaButtonAppearance),\n description: 'Aparência visual do botão',\n table: {\n type: { summary: 'SulaButtonAppearance' },\n defaultValue: { summary: 'SulaButtonAppearance.Default' },\n },\n },\n type: {\n control: { type: 'select' },\n options: Object.values(SulaButtonType),\n description: 'Tipo do botão (texto ou ícone)',\n table: {\n type: { summary: 'SulaButtonType' },\n defaultValue: { summary: 'SulaButtonType.Text' },\n },\n },\n size: {\n control: { type: 'select' },\n options: Object.values(SulaButtonSize),\n description: 'Tamanho do botão',\n table: {\n type: { summary: 'SulaButtonSize' },\n defaultValue: { summary: 'SulaButtonSize.Default' },\n },\n },\n status: {\n control: { type: 'select' },\n options: Object.values(SulaButtonStatus),\n description: 'Status/cor do botão',\n table: {\n type: { summary: 'SulaButtonStatus' },\n defaultValue: { summary: 'SulaButtonStatus.Primary' },\n },\n },\n loading: {\n control: 'boolean',\n description: 'Estado de carregamento do botão',\n table: {\n type: { summary: 'boolean' },\n defaultValue: { summary: 'false' },\n },\n },\n buttonDisabled: {\n control: 'boolean',\n description: 'Estado desabilitado do botão',\n table: {\n type: { summary: 'boolean' },\n defaultValue: { summary: 'false' },\n },\n },\n buttonClicked: {\n action: 'buttonClicked',\n description: 'Evento emitido quando o botão é clicado',\n table: {\n type: { summary: 'CustomEvent<void>' },\n },\n },\n },\n parameters: {\n docs: {\n description: {\n component: `\nO componente **Sula Button** é utilizado como representação visual para ações de clique. \nEle permite que os usuários interajam com a interface de diferentes maneiras, comunicando \nações disponíveis através de variações visuais e estados.\n\n### Características principais:\n- Suporte a diferentes aparências (Default, Secondary, Text)\n- Tipos de botão (Texto e Ícone)\n- Estados de carregamento e desabilitado\n- Diferentes tamanhos e status de cor\n- Suporte a ícones laterais\n `,\n },\n },\n },\n};\n\nconst Template = args => {\n const container = document.createElement('div');\n container.style.margin = '20px';\n container.style.display = 'flex';\n container.style.alignItems = 'center';\n container.style.justifyContent = 'center';\n container.style.minHeight = '80px';\n\n const el = document.createElement('sula-button');\n\n if (args.text) el.setAttribute('text', args.text);\n if (args.icon) el.setAttribute('icon', args.icon);\n if (args.leftIcon) el.setAttribute('left-icon', args.leftIcon);\n if (args.rightIcon) el.setAttribute('right-icon', args.rightIcon);\n\n el.setAttribute('appearance', args.appearance);\n el.setAttribute('type', args.type);\n el.setAttribute('size', args.size);\n el.setAttribute('status', args.status);\n el.setAttribute('loading', args.loading ? args.loading.toString() : 'false');\n el.setAttribute('button-disabled', args.buttonDisabled ? args.buttonDisabled.toString() : 'false');\n\n el.addEventListener('buttonClicked', args.buttonClicked);\n\n container.appendChild(el);\n return container;\n};\n\nexport const Playground = Template.bind({});\nPlayground.args = {\n text: 'Button Text',\n appearance: SulaButtonAppearance.Default,\n type: SulaButtonType.Text,\n size: SulaButtonSize.Default,\n status: SulaButtonStatus.Primary,\n loading: false,\n buttonDisabled: false,\n};\n\nexport const DefaultAppearance = Template.bind({});\nDefaultAppearance.args = {\n text: 'Default Button',\n appearance: SulaButtonAppearance.Default,\n type: SulaButtonType.Text,\n size: SulaButtonSize.Default,\n status: SulaButtonStatus.Primary,\n};\nDefaultAppearance.parameters = {\n docs: {\n description: {\n story: 'Botão com aparência padrão (preenchido).',\n },\n },\n};\n\nexport const SecondaryAppearance = Template.bind({});\nSecondaryAppearance.args = {\n text: 'Secondary Button',\n appearance: SulaButtonAppearance.Secondary,\n type: SulaButtonType.Text,\n size: SulaButtonSize.Default,\n status: SulaButtonStatus.Primary,\n};\nSecondaryAppearance.parameters = {\n docs: {\n description: {\n story: 'Botão com aparência secundária (com borda).',\n },\n },\n};\n\nexport const TextAppearance = Template.bind({});\nTextAppearance.args = {\n text: 'Text Button',\n appearance: SulaButtonAppearance.Text,\n type: SulaButtonType.Text,\n size: SulaButtonSize.Default,\n status: SulaButtonStatus.Primary,\n};\nTextAppearance.parameters = {\n docs: {\n description: {\n story: 'Botão com aparência de texto (sem fundo).',\n },\n },\n};\n\nexport const IconButton = Template.bind({});\nIconButton.args = {\n icon: 'ph ph-house',\n appearance: SulaButtonAppearance.Default,\n type: SulaButtonType.Icon,\n size: SulaButtonSize.Default,\n status: SulaButtonStatus.Primary,\n};\nIconButton.parameters = {\n docs: {\n description: {\n story: 'Botão contendo apenas um ícone.',\n },\n },\n};\n\nexport const Sizes = () => {\n const container = document.createElement('div');\n container.style.display = 'flex';\n container.style.gap = '16px';\n container.style.alignItems = 'center';\n container.style.padding = '20px';\n\n const defaultButton = document.createElement('sula-button');\n defaultButton.setAttribute('text', 'Default Size');\n defaultButton.setAttribute('size', SulaButtonSize.Default);\n\n const largeButton = document.createElement('sula-button');\n largeButton.setAttribute('text', 'Large Size');\n largeButton.setAttribute('size', SulaButtonSize.Large);\n\n container.appendChild(defaultButton);\n container.appendChild(largeButton);\n\n return container;\n};\nSizes.parameters = {\n docs: {\n description: {\n story: 'Comparação entre os diferentes tamanhos disponíveis.',\n },\n },\n};\n\nexport const StatusVariations = () => {\n const container = document.createElement('div');\n container.style.display = 'flex';\n container.style.gap = '16px';\n container.style.alignItems = 'center';\n container.style.padding = '20px';\n\n const primaryButton = document.createElement('sula-button');\n primaryButton.setAttribute('text', 'Primary');\n primaryButton.setAttribute('status', SulaButtonStatus.Primary);\n\n const dangerButton = document.createElement('sula-button');\n dangerButton.setAttribute('text', 'Danger');\n dangerButton.setAttribute('status', SulaButtonStatus.Danger);\n\n const negativeButton = document.createElement('sula-button');\n negativeButton.setAttribute('text', 'Negative');\n negativeButton.setAttribute('status', SulaButtonStatus.Negative);\n\n container.appendChild(primaryButton);\n container.appendChild(dangerButton);\n container.appendChild(negativeButton);\n\n return container;\n};\nStatusVariations.parameters = {\n docs: {\n description: {\n story: 'Diferentes status/cores disponíveis para o botão.',\n },\n },\n};\n\nexport const WithLeftIcon = Template.bind({});\nWithLeftIcon.args = {\n text: 'With Left Icon',\n leftIcon: 'ph ph-plus',\n appearance: SulaButtonAppearance.Default,\n type: SulaButtonType.Text,\n size: SulaButtonSize.Default,\n status: SulaButtonStatus.Primary,\n};\nWithLeftIcon.parameters = {\n docs: {\n description: {\n story: 'Botão com ícone à esquerda do texto.',\n },\n },\n};\n\nexport const WithRightIcon = Template.bind({});\nWithRightIcon.args = {\n text: 'With Right Icon',\n rightIcon: 'ph ph-arrow-right',\n appearance: SulaButtonAppearance.Default,\n type: SulaButtonType.Text,\n size: SulaButtonSize.Default,\n status: SulaButtonStatus.Primary,\n};\nWithRightIcon.parameters = {\n docs: {\n description: {\n story: 'Botão com ícone à direita do texto.',\n },\n },\n};\n\nexport const WithBothIcons = Template.bind({});\nWithBothIcons.args = {\n text: 'Both Icons',\n leftIcon: 'ph ph-download',\n rightIcon: 'ph ph-arrow-down',\n appearance: SulaButtonAppearance.Default,\n type: SulaButtonType.Text,\n size: SulaButtonSize.Default,\n status: SulaButtonStatus.Primary,\n};\nWithBothIcons.parameters = {\n docs: {\n description: {\n story: 'Botão com ícones em ambos os lados do texto.',\n },\n },\n};\n\nexport const LoadingState = Template.bind({});\nLoadingState.args = {\n text: 'Loading Button',\n appearance: SulaButtonAppearance.Default,\n type: SulaButtonType.Text,\n size: SulaButtonSize.Default,\n status: SulaButtonStatus.Primary,\n loading: true,\n};\nLoadingState.parameters = {\n docs: {\n description: {\n story: 'Botão em estado de carregamento.',\n },\n },\n};\n\nexport const DisabledState = Template.bind({});\nDisabledState.args = {\n text: 'Disabled Button',\n appearance: SulaButtonAppearance.Default,\n type: SulaButtonType.Text,\n size: SulaButtonSize.Default,\n status: SulaButtonStatus.Primary,\n buttonDisabled: true,\n};\nDisabledState.parameters = {\n docs: {\n description: {\n story: 'Botão em estado desabilitado.',\n },\n },\n};\n\nexport const AllVariations = () => {\n const container = document.createElement('div');\n container.style.display = 'grid';\n container.style.gridTemplateColumns = 'repeat(auto-fit, minmax(200px, 1fr))';\n container.style.gap = '16px';\n container.style.padding = '20px';\n\n const variations = [\n { text: 'Default Primary', appearance: SulaButtonAppearance.Default, status: SulaButtonStatus.Primary },\n { text: 'Default Danger', appearance: SulaButtonAppearance.Default, status: SulaButtonStatus.Danger },\n { text: 'Default Negative', appearance: SulaButtonAppearance.Default, status: SulaButtonStatus.Negative },\n { text: 'Secondary Primary', appearance: SulaButtonAppearance.Secondary, status: SulaButtonStatus.Primary },\n { text: 'Secondary Danger', appearance: SulaButtonAppearance.Secondary, status: SulaButtonStatus.Danger },\n { text: 'Secondary Negative', appearance: SulaButtonAppearance.Secondary, status: SulaButtonStatus.Negative },\n { text: 'Text Primary', appearance: SulaButtonAppearance.Text, status: SulaButtonStatus.Primary },\n { text: 'Text Danger', appearance: SulaButtonAppearance.Text, status: SulaButtonStatus.Danger },\n ];\n\n variations.forEach(variation => {\n const button = document.createElement('sula-button');\n button.setAttribute('text', variation.text);\n button.setAttribute('appearance', variation.appearance);\n button.setAttribute('status', variation.status);\n button.setAttribute('type', SulaButtonType.Text);\n button.setAttribute('size', SulaButtonSize.Default);\n container.appendChild(button);\n });\n\n return container;\n};\nAllVariations.parameters = {\n docs: {\n description: {\n story: 'Visão geral de todas as combinações de aparência e status.',\n },\n },\n};\n"]}
|
|
@@ -41,20 +41,20 @@ export class SulaCheckbox {
|
|
|
41
41
|
return 'text-negative-negative-1';
|
|
42
42
|
}
|
|
43
43
|
render() {
|
|
44
|
-
return (h(Host, { key: '
|
|
44
|
+
return (h(Host, { key: '1f62bb3865134760716112f168c78a1412b770d0' }, h("div", { key: '2edbfdbfc3b48135383c5681cf5763b276942ff9', class: {
|
|
45
45
|
'outline-none': true,
|
|
46
46
|
'flex items-center space-x-12': !!this.label && this.type === SulaCheckboxType.Default,
|
|
47
47
|
'flex items-center justify-between bg-surface-on-body rounded-md w-[280px] min-h-[85px] px-24 py-16': this.type === SulaCheckboxType.List,
|
|
48
48
|
'hover:bg-states-empty-bg-hover active:bg-states-empty-bg-pressed cursor-pointer': this.type === SulaCheckboxType.List && !this.disabled,
|
|
49
49
|
'container-focus': this.isFocus && this.type === SulaCheckboxType.List,
|
|
50
|
-
}, onFocus: this.handleFocus, onBlur: this.handleBlur, onClick: this.toggle, tabIndex: 0 }, this.type === SulaCheckboxType.List && (h("div", { key: '
|
|
50
|
+
}, onFocus: this.handleFocus, onBlur: this.handleBlur, onClick: this.toggle, tabIndex: 0 }, this.type === SulaCheckboxType.List && (h("div", { key: '577dc485bf9f39bb64ae98f0e17b410af4910d9a', class: "flex flex-col flex-1 mr-16 overflow-hidden" }, !!this.label && h("label", { key: '5c352cfa5f71a29848e4dd0069b487968cf31018', class: "text-text-primary font-bold text-base cursor-pointer break-words" }, this.label), !!this.subTitle && h("span", { key: '473f6dcdb47d590037970172455dcc705350b9b1', class: "text-text-secondary text-base break-words" }, this.subTitle))), h("div", { key: 'dbc2782e0f323927dc42c90c7eaceaa04ce8d870', tabIndex: 0, class: {
|
|
51
51
|
'flex justify-center items-center rounded-xs w-[27px] h-[27px] border outline-none flex-shrink-0': true,
|
|
52
52
|
'checkbox-focus': this.isFocus && this.type === SulaCheckboxType.Default,
|
|
53
53
|
'cursor-pointer active:bg-states-empty-bg-pressed': !this.disabled,
|
|
54
54
|
'bg-states-bg-disabled border-states-bg-disabled': this.disabled,
|
|
55
55
|
'bg-brand-primary border-brand-primary': this.checked,
|
|
56
56
|
'bg-surface-body border-line-input': !this.checked,
|
|
57
|
-
}, onFocus: this.handleFocus, onBlur: this.handleBlur }, this.checked && (h("div", { key: '
|
|
57
|
+
}, onFocus: this.handleFocus, onBlur: this.handleBlur }, this.checked && (h("div", { key: 'bc2712c3d43788ffbddcee8bd920f985d867d357', class: "flex justify-center items-center" }, h("sula-icon", { key: '00808ef092a0f06a1692f77cf11a700f5e6be3ce', icon: "ph-bold ph-check", customClass: `${this.getIconColor()} text-xl` })))), !!this.label && this.type === SulaCheckboxType.Default && h("label", { key: '67a977a81ee6e282976fff2621630f6f45c96da3', class: "text-text-secondary text-base cursor-pointer break-words" }, this.label))));
|
|
58
58
|
}
|
|
59
59
|
static get is() { return "sula-checkbox"; }
|
|
60
60
|
static get encapsulation() { return "shadow"; }
|
|
@@ -63,7 +63,7 @@ export class SulaChip {
|
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
render() {
|
|
66
|
-
return (h(Host, { key: '
|
|
66
|
+
return (h(Host, { key: '6d1b92a6fda24fde41243d60571f6ef34fefd79e', ref: node => (this.node = node) }, h("div", { key: 'ad1ed1703e015a284fd315364ed3fb70b65c6b25', class: "w-fit relative" }, h("div", { key: 'fc717fc929968ffe49438a88012d7c11f9ac4e20', class: {
|
|
67
67
|
'flex justify-center items-center px-16 py-2 rounded-xxl min-h-40 w-fit outline-none': true,
|
|
68
68
|
'bg-surface-on-body hover:bg-states-empty-bg-hover active:bg-states-empty-bg-pressed': this.appearance === SulaChipAppearance.Default && !this.disabled,
|
|
69
69
|
'bg-negative-negative-1 hover:bg-states-negative-hover active:bg-states-negative-pressed': this.appearance === SulaChipAppearance.Negative && !this.disabled,
|
|
@@ -71,12 +71,12 @@ export class SulaChip {
|
|
|
71
71
|
'cursor-pointer': !this.disabled,
|
|
72
72
|
'border border-line-input chip-opened': !this.disabled && this.showItems,
|
|
73
73
|
'chip-focus': this.isFocused,
|
|
74
|
-
}, tabIndex: 0, onClick: this.handleClick, onFocus: this.handleFocus, onBlur: this.handleBlur }, h("span", { key: '
|
|
74
|
+
}, tabIndex: 0, onClick: this.handleClick, onFocus: this.handleFocus, onBlur: this.handleBlur }, h("span", { key: 'e08903b3bcd3e101aeec7f2deb9213636818682a', class: {
|
|
75
75
|
'text-base font-bold leading-4': true,
|
|
76
76
|
'text-text-primary': this.appearance === SulaChipAppearance.Default && !this.disabled,
|
|
77
77
|
'text-negative-negative-2': this.appearance === SulaChipAppearance.Negative && !this.disabled,
|
|
78
78
|
'text-text-disabled': this.disabled,
|
|
79
|
-
} }, this.text), this.items.length > 0 && (h("div", { key: '
|
|
79
|
+
} }, this.text), this.items.length > 0 && (h("div", { key: 'bf169918f272474e80295c1685bdc081e52b0659', class: "flex items-center justify-center ml-8 leading-4" }, h("sula-icon", { key: '4725462c18f295d2bdfd2ac878af6f28329c43ae', icon: `ph-bold ph-caret-${this.showItems ? 'up' : 'down'}`, customClass: this.getIconClass() })))), this.showItems && (h("div", { key: 'f4ed2a67fcaebafb80e2a308f9e3949814ec791d', class: "absolute z-50 top-40 left-0" }, h("sula-menu-select-list", { key: '03b02174a28fd59aa5dbab6c773c15a4d6bdc91e', items: this.items, onItemSelected: this.handleItemSelected }))))));
|
|
80
80
|
}
|
|
81
81
|
static get is() { return "sula-chip"; }
|
|
82
82
|
static get encapsulation() { return "shadow"; }
|
|
@@ -60,21 +60,21 @@ export class SulaDropdown {
|
|
|
60
60
|
return 'text-text-primary';
|
|
61
61
|
}
|
|
62
62
|
render() {
|
|
63
|
-
return (h(Host, { key: '
|
|
63
|
+
return (h(Host, { key: 'af171f9d30d47328809736bfd6ba701f0148a5ab', ref: node => (this.node = node) }, h("div", { key: 'ef5a81511095b6e6edf85db9b7edf46c3aff0b7b', class: {
|
|
64
64
|
'flex justify-between items-center border border-line-input h-[72px] px-16 rounded-xl relative': true,
|
|
65
65
|
'bg-surface-body cursor-pointer': !this.disabled,
|
|
66
66
|
'bg-states-bg-disabled': this.disabled,
|
|
67
67
|
'dropdown-focus': this.isFocused,
|
|
68
|
-
}, onClick: this.handleClick, tabIndex: 0, onFocus: this.handleFocus, onBlur: this.handleBlur }, h("div", { key: '
|
|
68
|
+
}, onClick: this.handleClick, tabIndex: 0, onFocus: this.handleFocus, onBlur: this.handleBlur }, h("div", { key: 'fee96c02b5b8e52d2e2abfac4ee9d6a3db8521c6', class: "flex flex-col" }, h("label", { key: 'a1a0ac4132c1a4bb4cac86dcbcccd981ee034c39', class: {
|
|
69
69
|
'text-base leading-4': !this.selectedItem,
|
|
70
70
|
'text-sm leading-4 font-bold': !!this.selectedItem,
|
|
71
71
|
'text-text-primary': !this.disabled,
|
|
72
72
|
'text-text-disabled': this.disabled,
|
|
73
|
-
} }, this.label), !!this.selectedItem && (h("span", { key: '
|
|
73
|
+
} }, this.label), !!this.selectedItem && (h("span", { key: 'e99a3a7e82876c2cacd3d2ed956eb6b5965ba9ac', class: {
|
|
74
74
|
'text-base leading-4 pt-4': true,
|
|
75
75
|
'text-text-primary': !this.disabled,
|
|
76
76
|
'text-text-disabled': this.disabled,
|
|
77
|
-
} }, this.selectedItem.title))), h("div", { key: '
|
|
77
|
+
} }, this.selectedItem.title))), h("div", { key: 'adfab0de70c420ca4889606e9623b9d0f574646c', class: "flex items-center justify-center ml-8 leading-6 text-2xl" }, h("sula-icon", { key: '9e9b7c2e68037090e3d66cafd5052ddb7a4ae6b7', icon: `ph ph-caret-${this.showItems ? 'up' : 'down'}`, customClass: `${this.getIconClass()} text-2xl` })), this.showItems && (h("div", { key: '72c7054b3110563312e048f8e2c70cf1c18edfda', class: "absolute z-50 top-[72px] left-0 w-full" }, h("sula-menu-select-list", { key: 'fd63b80f52e1861f2bb1f0132a544ac8e4c6c4d6', items: this.items, fullWidth: true, onItemSelected: this.handleItemSelected }))))));
|
|
78
78
|
}
|
|
79
79
|
static get is() { return "sula-dropdown"; }
|
|
80
80
|
static get encapsulation() { return "shadow"; }
|