@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.
Files changed (92) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/{sula-avatar_16.cjs.entry.js → sula-avatar_18.cjs.entry.js} +220 -50
  3. package/dist/cjs/sula-avatar_18.cjs.entry.js.map +1 -0
  4. package/dist/cjs/webcomponents.cjs.js +1 -1
  5. package/dist/collection/collection-manifest.json +2 -0
  6. package/dist/collection/components/sula-button/sula-button.css +1 -1
  7. package/dist/collection/components/sula-button/sula-button.js +66 -6
  8. package/dist/collection/components/sula-button/sula-button.js.map +1 -1
  9. package/dist/collection/components/sula-button/sula-button.stories.js +260 -97
  10. package/dist/collection/components/sula-button/sula-button.stories.js.map +1 -1
  11. package/dist/collection/components/sula-checkbox/sula-checkbox.js +3 -3
  12. package/dist/collection/components/sula-chip/sula-chip.js +3 -3
  13. package/dist/collection/components/sula-dropdown/sula-dropdown.js +4 -4
  14. package/dist/collection/components/sula-icon/sula-icon.css +1 -1
  15. package/dist/collection/components/sula-icon/sula-icon.js +1 -1
  16. package/dist/collection/components/sula-loader/sula-loader.css +1 -1
  17. package/dist/collection/components/sula-loader/sula-loader.js +1 -1
  18. package/dist/collection/components/sula-menu-select-list/sula-menu-select-list.js +1 -1
  19. package/dist/collection/components/sula-progress-bar/model/sula-progress-bar.model.js +15 -0
  20. package/dist/collection/components/sula-progress-bar/model/sula-progress-bar.model.js.map +1 -0
  21. package/dist/collection/components/sula-progress-bar/sula-progress-bar.css +1 -0
  22. package/dist/collection/components/sula-progress-bar/sula-progress-bar.js +213 -0
  23. package/dist/collection/components/sula-progress-bar/sula-progress-bar.js.map +1 -0
  24. package/dist/collection/components/sula-progress-bar/sula-progress.stories.js +172 -0
  25. package/dist/collection/components/sula-progress-bar/sula-progress.stories.js.map +1 -0
  26. package/dist/collection/components/sula-radio-button/sula-radio-button.js +2 -2
  27. package/dist/collection/components/sula-search-bar/model/sula-search.bar-model.js +6 -0
  28. package/dist/collection/components/sula-search-bar/model/sula-search.bar-model.js.map +1 -0
  29. package/dist/collection/components/sula-search-bar/sula-search-bar.css +1 -0
  30. package/dist/collection/components/sula-search-bar/sula-search-bar.js +240 -0
  31. package/dist/collection/components/sula-search-bar/sula-search-bar.js.map +1 -0
  32. package/dist/collection/components/sula-search-bar/sula-search-bar.stories.js +119 -0
  33. package/dist/collection/components/sula-search-bar/sula-search-bar.stories.js.map +1 -0
  34. package/dist/collection/components/sula-switch/sula-switch.js +4 -4
  35. package/dist/collection/components/sula-tag/sula-tag.js +3 -3
  36. package/dist/collection/components/sula-textarea/sula-textarea.js +6 -6
  37. package/dist/collection/components/sula-textfield/sula-textfield.js +2 -2
  38. package/dist/collection/components/sula-tiles/sula-tiles.js +1 -1
  39. package/dist/collection/components/sula-timeline-list/sula-timeline-list.js +1 -1
  40. package/dist/components/{p-CjYWDIHR.js → p-BNtk_d_S.js} +3 -3
  41. package/dist/components/{p-CjYWDIHR.js.map → p-BNtk_d_S.js.map} +1 -1
  42. package/dist/components/p-CYBZuKr6.js +27129 -0
  43. package/dist/components/p-CYBZuKr6.js.map +1 -0
  44. package/dist/components/{p-CYhL1fU6.js → p-DULnDBOY.js} +4 -4
  45. package/dist/components/{p-CYhL1fU6.js.map → p-DULnDBOY.js.map} +1 -1
  46. package/dist/components/sula-avatar.js +1 -1
  47. package/dist/components/sula-badge.js +1 -1
  48. package/dist/components/sula-button.js +38 -9
  49. package/dist/components/sula-button.js.map +1 -1
  50. package/dist/components/sula-checkbox.js +4 -4
  51. package/dist/components/sula-chip.js +5 -5
  52. package/dist/components/sula-dropdown.js +6 -6
  53. package/dist/components/sula-icon.js +1 -1
  54. package/dist/components/sula-loader.js +1 -27124
  55. package/dist/components/sula-loader.js.map +1 -1
  56. package/dist/components/sula-menu-select-list.js +1 -1
  57. package/dist/components/sula-progress-bar.d.ts +11 -0
  58. package/dist/components/sula-progress-bar.js +122 -0
  59. package/dist/components/sula-progress-bar.js.map +1 -0
  60. package/dist/components/sula-radio-button.js +2 -2
  61. package/dist/components/sula-search-bar.d.ts +11 -0
  62. package/dist/components/sula-search-bar.js +104 -0
  63. package/dist/components/sula-search-bar.js.map +1 -0
  64. package/dist/components/sula-switch.js +4 -4
  65. package/dist/components/sula-tag.js +4 -4
  66. package/dist/components/sula-textarea.js +6 -6
  67. package/dist/components/sula-textfield.js +3 -3
  68. package/dist/components/sula-tiles.js +2 -2
  69. package/dist/components/sula-timeline-list.js +2 -2
  70. package/dist/esm/loader.js +1 -1
  71. package/dist/esm/{sula-avatar_16.entry.js → sula-avatar_18.entry.js} +219 -51
  72. package/dist/esm/sula-avatar_18.entry.js.map +1 -0
  73. package/dist/esm/webcomponents.js +1 -1
  74. package/dist/types/components/sula-button/sula-button.d.ts +11 -1
  75. package/dist/types/components/sula-button/sula-button.stories.d.ts +124 -33
  76. package/dist/types/components/sula-progress-bar/model/sula-progress-bar.model.d.ts +12 -0
  77. package/dist/types/components/sula-progress-bar/sula-progress-bar.d.ts +33 -0
  78. package/dist/types/components/sula-progress-bar/sula-progress.stories.d.ts +84 -0
  79. package/dist/types/components/sula-search-bar/model/sula-search.bar-model.d.ts +4 -0
  80. package/dist/types/components/sula-search-bar/sula-search-bar.d.ts +50 -0
  81. package/dist/types/components/sula-search-bar/sula-search-bar.stories.d.ts +84 -0
  82. package/dist/types/components.d.ts +176 -0
  83. package/dist/webcomponents/{p-51f9d6a5.entry.js → p-2a133394.entry.js} +2788 -2538
  84. 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
  85. package/dist/webcomponents/webcomponents.esm.js +33 -14
  86. package/package.json +1 -1
  87. package/readme.md +79 -19
  88. 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
  89. package/dist/cjs/sula-avatar_16.cjs.entry.js.map +0 -1
  90. 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
  91. package/dist/esm/sula-avatar_16.entry.js.map +0 -1
  92. 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
- defaultValue: 'Button Text',
9
- description: 'Button text when is text type',
10
- type: {
11
- required: false,
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
- defaultValue: 'ph ph-house',
17
- description: 'Button icon when is Icon type',
18
- type: {
19
- required: false,
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
- defaultValue: SulaButtonAppearance.Default,
26
- description: 'Button appearance',
27
- type: {
28
- required: false,
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
- defaultValue: SulaButtonType.Text,
35
- description: 'Button type',
36
- type: {
37
- required: false,
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
- defaultValue: SulaButtonSize.Default,
44
- description: 'Button size',
45
- type: {
46
- required: false,
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
- defaultValue: SulaButtonStatus.Primary,
53
- description: 'Button status',
54
- type: {
55
- required: false,
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
- defaultValue: false,
61
- description: 'Is button loading',
62
- type: {
63
- required: false,
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
- defaultValue: false,
69
- description: 'Is button disabled',
70
- type: {
71
- required: false,
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: '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.',
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 Default = Template.bind({});
106
- Default.args = {
107
- text: 'Default Button',
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 IconButton = Template.bind({});
117
- IconButton.args = {
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.Icon,
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
- loading: false,
125
- buttonDisabled: false,
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
- export const SecondaryButton = Template.bind({});
139
- SecondaryButton.args = {
140
- text: 'Secondary Button',
141
- icon: '',
142
- appearance: SulaButtonAppearance.Secondary,
143
- type: SulaButtonType.Text,
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 LargeButton = Template.bind({});
150
- LargeButton.args = {
151
- text: 'Large Button',
152
- icon: '',
198
+ export const IconButton = Template.bind({});
199
+ IconButton.args = {
200
+ icon: 'ph ph-house',
153
201
  appearance: SulaButtonAppearance.Default,
154
- type: SulaButtonType.Text,
155
- size: SulaButtonSize.Large,
202
+ type: SulaButtonType.Icon,
203
+ size: SulaButtonSize.Default,
156
204
  status: SulaButtonStatus.Primary,
157
- loading: false,
158
- buttonDisabled: false,
159
205
  };
160
- export const DangerButton = Template.bind({});
161
- DangerButton.args = {
162
- text: 'Danger Button',
163
- icon: '',
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.Danger,
168
- loading: false,
169
- buttonDisabled: false,
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 NegativeButton = Template.bind({});
172
- NegativeButton.args = {
173
- text: 'Negative Button',
174
- icon: '',
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.Negative,
179
- loading: false,
180
- buttonDisabled: false,
286
+ status: SulaButtonStatus.Primary,
181
287
  };
182
- export const DisabledButton = Template.bind({});
183
- DisabledButton.args = {
184
- text: 'Disabled Button',
185
- icon: '',
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
- export const LoadingButton = Template.bind({});
194
- LoadingButton.args = {
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
- export const IconAndTextButton = Template.bind({});
205
- IconAndTextButton.args = {
206
- text: 'Icon and Text',
207
- icon: 'ph ph-house',
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
- loading: false,
213
- buttonDisabled: false,
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: '56a8c43bf6e8cdd4a687f5730b86485522486ded' }, h("div", { key: '924f574fecc6e3a92cfc82cd63b9e8345afbe11a', class: {
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: '7b0ba9c45a7a6733fba4520e8fffe5e9cc1f775e', class: "flex flex-col flex-1 mr-16 overflow-hidden" }, !!this.label && h("label", { key: '61b673e866c72a33ab623f656fe882e3df4f04a3', class: "text-text-primary font-bold text-base cursor-pointer break-words" }, this.label), !!this.subTitle && h("span", { key: '3b3a40d2a4fd14b943722a13c06e2478d19337c9', class: "text-text-secondary text-base break-words" }, this.subTitle))), h("div", { key: '03b6d405c2b7aadd113f1314bc12c99103bc72ac', tabIndex: 0, class: {
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: 'ede285c57a75d7a12a4477b31b9c195cd42efca1', class: "flex justify-center items-center" }, h("sula-icon", { key: '5546613a4121659fadb2061e4701ab831dd3bbc6', icon: "ph-bold ph-check", customClass: `${this.getIconColor()} text-xl` })))), !!this.label && this.type === SulaCheckboxType.Default && h("label", { key: '5f1fa7508c159f4b486dad0d4392706e2ca704f1', class: "text-text-secondary text-base cursor-pointer break-words" }, this.label))));
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: '0c92444ee99a6001fc4e660378a34d1edf35330a', ref: node => (this.node = node) }, h("div", { key: '99ed8d8663a3e99ccfa672a92526e86faeff7c63', class: "w-fit relative" }, h("div", { key: '602fa80f7d43c953d50eb4456361477532f04859', class: {
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: 'c8008a1bccf957ceb5e1b90edc5e90d67ec4258f', class: {
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: '2c0deb381c6b12c174f1128130add11a9c7d1077', class: "flex items-center justify-center ml-8 leading-4" }, h("sula-icon", { key: '0938769d19c69368560f9e5812310580cf81f984', icon: `ph-bold ph-caret-${this.showItems ? 'up' : 'down'}`, customClass: this.getIconClass() })))), this.showItems && (h("div", { key: 'e422f0479abecc1b8e5cb7924b59b89f2349c960', class: "absolute z-50 top-40 left-0" }, h("sula-menu-select-list", { key: '6e9c82f9bed0832cb2e545ef56ea6b3b4789485b', items: this.items, onItemSelected: this.handleItemSelected }))))));
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: '3b1ef1e24d664cd64ea4d2918014e45c76122cfc', ref: node => (this.node = node) }, h("div", { key: '91521cd48754948f60b443bfd82c3d4f9657f06e', class: {
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: 'c2b3ad0e588a036d9ea238886e8973b9b5252dd9', class: "flex flex-col" }, h("label", { key: '0c26b0853cde1d66ef5912b7a73a3d63dcac8288', class: {
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: '9c363923f1fbeb9d3272091b38484c04c59a2a81', class: {
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: '1f6fbe0eba9e367a91bf221859e9c6da7400d54e', class: "flex items-center justify-center ml-8 leading-6 text-2xl" }, h("sula-icon", { key: '189da185e0d5a817bf1521ac84a25978956a9e8d', icon: `ph ph-caret-${this.showItems ? 'up' : 'down'}`, customClass: `${this.getIconClass()} text-2xl` })), this.showItems && (h("div", { key: '12be36a5571c69d974213042d7ab4e06ad5554a5', class: "absolute z-50 top-[72px] left-0 w-full" }, h("sula-menu-select-list", { key: 'd0988ca8311fef8633a20fa0ce6b7f224796033e', items: this.items, fullWidth: true, onItemSelected: this.handleItemSelected }))))));
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"; }