@sula-tech/webcomponents 0.11.0 → 0.11.2

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 (79) hide show
  1. package/dist/cjs/{index-LR6yFDX7.js → index-C19aFtyq.js} +5 -2
  2. package/dist/cjs/index-C19aFtyq.js.map +1 -0
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/sula-avatar_21.cjs.entry.js +73 -26
  5. package/dist/cjs/sula-avatar_21.cjs.entry.js.map +1 -1
  6. package/dist/cjs/webcomponents.cjs.js +2 -2
  7. package/dist/collection/components/sula-chip/sula-chip.css +1 -1
  8. package/dist/collection/components/sula-chip/sula-chip.js +33 -7
  9. package/dist/collection/components/sula-chip/sula-chip.js.map +1 -1
  10. package/dist/collection/components/sula-chip/sula-chip.stories.js +22 -0
  11. package/dist/collection/components/sula-chip/sula-chip.stories.js.map +1 -1
  12. package/dist/collection/components/sula-dropdown/sula-dropdown.css +1 -1
  13. package/dist/collection/components/sula-dropdown/sula-dropdown.js +62 -7
  14. package/dist/collection/components/sula-dropdown/sula-dropdown.js.map +1 -1
  15. package/dist/collection/components/sula-dropdown/sula-dropdown.stories.js +94 -0
  16. package/dist/collection/components/sula-dropdown/sula-dropdown.stories.js.map +1 -1
  17. package/dist/collection/components/sula-icon/sula-icon.css +1 -1
  18. package/dist/collection/components/sula-menu-select-list/sula-menu-select-list.css +1 -1
  19. package/dist/collection/components/sula-menu-select-list/sula-menu-select-list.js +28 -2
  20. package/dist/collection/components/sula-menu-select-list/sula-menu-select-list.js.map +1 -1
  21. package/dist/collection/components/sula-switch/sula-switch.css +1 -1
  22. package/dist/collection/components/sula-switch/sula-switch.js +35 -5
  23. package/dist/collection/components/sula-switch/sula-switch.js.map +1 -1
  24. package/dist/collection/components/sula-switch/sula-switch.stories.js +22 -0
  25. package/dist/collection/components/sula-switch/sula-switch.stories.js.map +1 -1
  26. package/dist/components/index.js +3 -0
  27. package/dist/components/index.js.map +1 -1
  28. package/dist/components/{p-CD0__3qt.js → p-BlyFOqde.js} +3 -3
  29. package/dist/components/{p-CD0__3qt.js.map → p-BlyFOqde.js.map} +1 -1
  30. package/dist/components/{p-CFhhi4NQ.js → p-DksR9NcR.js} +12 -5
  31. package/dist/components/p-DksR9NcR.js.map +1 -0
  32. package/dist/components/{p-DO7voMbe.js → p-tr2oA4pB.js} +3 -3
  33. package/dist/components/{p-DO7voMbe.js.map → p-tr2oA4pB.js.map} +1 -1
  34. package/dist/components/sula-avatar.js +1 -1
  35. package/dist/components/sula-badge.js +1 -1
  36. package/dist/components/sula-breadcrumb.js +1 -1
  37. package/dist/components/sula-button.js +1 -1
  38. package/dist/components/sula-checkbox.js +1 -1
  39. package/dist/components/sula-chip.js +17 -10
  40. package/dist/components/sula-chip.js.map +1 -1
  41. package/dist/components/sula-dropdown.js +41 -11
  42. package/dist/components/sula-dropdown.js.map +1 -1
  43. package/dist/components/sula-icon.js +1 -1
  44. package/dist/components/sula-menu-select-list.js +1 -1
  45. package/dist/components/sula-modal.js +2 -2
  46. package/dist/components/sula-progress-bar.js +1 -1
  47. package/dist/components/sula-search-bar.js +1 -1
  48. package/dist/components/sula-segmented-control.js +1 -1
  49. package/dist/components/sula-switch.js +14 -6
  50. package/dist/components/sula-switch.js.map +1 -1
  51. package/dist/components/sula-tag.js +1 -1
  52. package/dist/components/sula-textfield.js +1 -1
  53. package/dist/components/sula-tiles.js +1 -1
  54. package/dist/components/sula-timeline-list.js +1 -1
  55. package/dist/esm/{index-CrFclBiX.js → index-CwIBTB8E.js} +5 -2
  56. package/dist/esm/index-CwIBTB8E.js.map +1 -0
  57. package/dist/esm/loader.js +3 -3
  58. package/dist/esm/sula-avatar_21.entry.js +73 -26
  59. package/dist/esm/sula-avatar_21.entry.js.map +1 -1
  60. package/dist/esm/webcomponents.js +3 -3
  61. package/dist/types/components/sula-chip/sula-chip.d.ts +4 -0
  62. package/dist/types/components/sula-chip/sula-chip.stories.d.ts +9 -0
  63. package/dist/types/components/sula-dropdown/sula-dropdown.d.ts +7 -0
  64. package/dist/types/components/sula-dropdown/sula-dropdown.stories.d.ts +9 -0
  65. package/dist/types/components/sula-menu-select-list/sula-menu-select-list.d.ts +4 -0
  66. package/dist/types/components/sula-switch/sula-switch.d.ts +5 -0
  67. package/dist/types/components/sula-switch/sula-switch.stories.d.ts +10 -0
  68. package/dist/types/components.d.ts +40 -0
  69. package/dist/webcomponents/{p-491c4d76.entry.js → p-1b6e77dc.entry.js} +85 -41
  70. package/dist/webcomponents/p-1b6e77dc.entry.js.map +1 -0
  71. package/dist/webcomponents/{p-CrFclBiX.js → p-CwIBTB8E.js} +5 -2
  72. package/dist/webcomponents/p-CwIBTB8E.js.map +1 -0
  73. package/dist/webcomponents/webcomponents.esm.js +10 -5
  74. package/package.json +1 -1
  75. package/dist/cjs/index-LR6yFDX7.js.map +0 -1
  76. package/dist/components/p-CFhhi4NQ.js.map +0 -1
  77. package/dist/esm/index-CrFclBiX.js.map +0 -1
  78. package/dist/webcomponents/p-491c4d76.entry.js.map +0 -1
  79. package/dist/webcomponents/p-CrFclBiX.js.map +0 -1
@@ -42,6 +42,14 @@ export default {
42
42
  required: false,
43
43
  },
44
44
  },
45
+ menuMaxHeight: {
46
+ control: 'number',
47
+ defaultValue: 260,
48
+ description: 'Altura máxima do menu em pixels (afeta o cálculo de auto-posicionamento)',
49
+ type: {
50
+ required: false,
51
+ },
52
+ },
45
53
  dropdownClicked: {
46
54
  action: 'dropdownClicked',
47
55
  description: 'Evento emitido quando o dropdown é clicado',
@@ -77,6 +85,8 @@ const Template = args => {
77
85
  el.setAttribute('disabled', args.disabled.toString());
78
86
  if (args.searchable)
79
87
  el.setAttribute('searchable', args.searchable.toString());
88
+ if (args.menuMaxHeight)
89
+ el.setAttribute('menu-max-height', args.menuMaxHeight.toString());
80
90
  if (args.items && args.items.length > 0) {
81
91
  el.items = args.items;
82
92
  }
@@ -205,4 +215,88 @@ SearchableWithSelectedValue.args = {
205
215
  ],
206
216
  value: { id: '1', title: 'Brasil' },
207
217
  };
218
+ const AutoPositioningTemplate = args => {
219
+ const container = document.createElement('div');
220
+ container.style.display = 'flex';
221
+ container.style.gap = '2rem';
222
+ container.style.margin = '20px';
223
+ container.style.marginTop = '100px';
224
+ container.style.marginBottom = '1000px';
225
+ // Dropdown padrão
226
+ const defaultWrapper = document.createElement('div');
227
+ defaultWrapper.style.width = '300px';
228
+ const defaultTitle = document.createElement('h4');
229
+ defaultTitle.textContent = 'Padrão (260px)';
230
+ defaultTitle.style.marginBottom = '8px';
231
+ defaultTitle.style.fontSize = '14px';
232
+ defaultTitle.style.fontWeight = 'bold';
233
+ const defaultDesc = document.createElement('p');
234
+ defaultDesc.textContent = 'Abre para cima quando há < 320px abaixo';
235
+ defaultDesc.style.fontSize = '12px';
236
+ defaultDesc.style.color = '#666';
237
+ defaultDesc.style.marginBottom = '8px';
238
+ const defaultDropdown = document.createElement('sula-dropdown');
239
+ defaultDropdown.setAttribute('label', 'Dropdown Padrão');
240
+ defaultDropdown.setAttribute('searchable', 'true');
241
+ defaultDropdown.items = args.items;
242
+ defaultDropdown.addEventListener('menuItemSelected', args.menuItemSelected);
243
+ defaultWrapper.appendChild(defaultTitle);
244
+ defaultWrapper.appendChild(defaultDesc);
245
+ defaultWrapper.appendChild(defaultDropdown);
246
+ // Dropdown custom
247
+ const customWrapper = document.createElement('div');
248
+ customWrapper.style.width = '300px';
249
+ const customTitle = document.createElement('h4');
250
+ customTitle.textContent = 'Custom (600px)';
251
+ customTitle.style.marginBottom = '8px';
252
+ customTitle.style.fontSize = '14px';
253
+ customTitle.style.fontWeight = 'bold';
254
+ const customDesc = document.createElement('p');
255
+ customDesc.textContent = 'Abre para cima quando há < 660px abaixo';
256
+ customDesc.style.fontSize = '12px';
257
+ customDesc.style.color = '#666';
258
+ customDesc.style.marginBottom = '8px';
259
+ const customDropdown = document.createElement('sula-dropdown');
260
+ customDropdown.setAttribute('label', 'Dropdown Custom');
261
+ customDropdown.setAttribute('searchable', 'true');
262
+ customDropdown.setAttribute('menu-max-height', '600');
263
+ customDropdown.items = args.items;
264
+ customDropdown.addEventListener('menuItemSelected', args.menuItemSelected);
265
+ customWrapper.appendChild(customTitle);
266
+ customWrapper.appendChild(customDesc);
267
+ customWrapper.appendChild(customDropdown);
268
+ // Instrução
269
+ const instruction = document.createElement('p');
270
+ instruction.textContent = 'Role a página para ter ~400-500px abaixo dos dropdowns. O Custom abrirá para CIMA, o Padrão para BAIXO.';
271
+ instruction.style.fontSize = '12px';
272
+ instruction.style.color = '#999';
273
+ instruction.style.marginTop = '1rem';
274
+ instruction.style.gridColumn = '1 / -1';
275
+ container.appendChild(defaultWrapper);
276
+ container.appendChild(customWrapper);
277
+ const wrapper = document.createElement('div');
278
+ wrapper.appendChild(container);
279
+ wrapper.appendChild(instruction);
280
+ return wrapper;
281
+ };
282
+ export const AutoPositioning = AutoPositioningTemplate.bind({});
283
+ AutoPositioning.args = {
284
+ items: [
285
+ { id: '1', title: 'Opção 1' },
286
+ { id: '2', title: 'Opção 2' },
287
+ { id: '3', title: 'Opção 3' },
288
+ { id: '4', title: 'Opção 4' },
289
+ { id: '5', title: 'Opção 5' },
290
+ { id: '6', title: 'Opção 6' },
291
+ { id: '7', title: 'Opção 7' },
292
+ { id: '8', title: 'Opção 8' },
293
+ ],
294
+ };
295
+ AutoPositioning.parameters = {
296
+ docs: {
297
+ description: {
298
+ story: 'Demonstra o auto-posicionamento do dropdown. O dropdown com menuMaxHeight maior (600px) é mais sensível e abre para cima com mais antecedência do que o padrão (260px). Role a página para observar o comportamento diferente.',
299
+ },
300
+ },
301
+ };
208
302
  //# sourceMappingURL=sula-dropdown.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sula-dropdown.stories.js","sourceRoot":"","sources":["../../../src/components/sula-dropdown/sula-dropdown.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["export default {\n title: 'Components/sula-dropdown',\n tags: ['autodocs'],\n argTypes: {\n label: {\n control: 'text',\n defaultValue: 'Selecione uma opção',\n description: 'Label do dropdown',\n type: {\n required: false,\n },\n },\n disabled: {\n control: 'boolean',\n defaultValue: false,\n description: 'Define se o dropdown está desabilitado',\n type: {\n required: false,\n },\n },\n items: {\n control: 'object',\n defaultValue: [],\n description: 'Lista de itens para o dropdown',\n type: {\n required: false,\n },\n },\n value: {\n control: 'object',\n defaultValue: null,\n description: 'Valor selecionado do dropdown',\n type: {\n required: false,\n },\n },\n searchable: {\n control: 'boolean',\n defaultValue: false,\n description: 'Define se o dropdown permite busca',\n type: {\n required: false,\n },\n },\n dropdownClicked: {\n action: 'dropdownClicked',\n description: 'Evento emitido quando o dropdown é clicado',\n },\n dropdownFocused: {\n action: 'dropdownFocused',\n description: 'Evento emitido quando o dropdown recebe foco',\n },\n dropdownFocusedOut: {\n action: 'dropdownFocusedOut',\n description: 'Evento emitido quando o dropdown perde o foco',\n },\n menuItemSelected: {\n action: 'menuItemSelected',\n description: 'Evento emitido quando um item é selecionado',\n },\n },\n parameters: {\n docs: {\n description: {\n component:\n 'O componente Dropdown Sula Design System é utilizado para exibição de opções de escolha. Seu intuito é ser usado junto com o botton sheet para selecionar opções variadas de itens em uma lista.',\n },\n },\n },\n};\n\nconst Template = args => {\n const container = document.createElement('div');\n container.style.margin = '20px';\n container.style.width = '300px'; // Define uma largura para melhor visualização\n\n const el = document.createElement('sula-dropdown');\n\n if (args.label) el.setAttribute('label', args.label);\n el.setAttribute('disabled', args.disabled.toString());\n if (args.searchable) el.setAttribute('searchable', args.searchable.toString());\n\n if (args.items && args.items.length > 0) {\n el.items = args.items;\n }\n\n if (args.value) {\n el.value = args.value;\n }\n\n // Adiciona os event listeners\n el.addEventListener('dropdownClicked', args.dropdownClicked);\n el.addEventListener('dropdownFocused', args.dropdownFocused);\n el.addEventListener('dropdownFocusedOut', args.dropdownFocusedOut);\n el.addEventListener('menuItemSelected', args.menuItemSelected);\n\n container.appendChild(el);\n\n return container;\n};\n\nexport const Default = Template.bind({});\nDefault.args = {\n label: 'Selecione uma opção',\n disabled: false,\n items: [\n { id: '1', title: 'Opção 1' },\n { id: '2', title: 'Opção 2' },\n { id: '3', title: 'Opção 3' },\n { id: '4', title: 'Opção 4' },\n ],\n value: null,\n};\n\nexport const WithSelectedValue = Template.bind({});\nWithSelectedValue.args = {\n label: 'País',\n disabled: false,\n items: [\n { id: '1', title: 'Brasil' },\n { id: '2', title: 'Argentina' },\n { id: '3', title: 'Chile' },\n { id: '4', title: 'Uruguai' },\n ],\n value: { id: '1', title: 'Brasil' },\n};\n\nexport const Disabled = Template.bind({});\nDisabled.args = {\n label: 'Dropdown desabilitado',\n disabled: true,\n items: [\n { id: '1', title: 'Opção 1' },\n { id: '2', title: 'Opção 2' },\n { id: '3', title: 'Opção 3' },\n ],\n value: null,\n};\n\nexport const DisabledWithValue = Template.bind({});\nDisabledWithValue.args = {\n label: 'Estado',\n disabled: true,\n items: [\n { id: '1', title: 'São Paulo' },\n { id: '2', title: 'Rio de Janeiro' },\n { id: '3', title: 'Minas Gerais' },\n ],\n value: { id: '1', title: 'São Paulo' },\n};\n\nexport const EmptyItems = Template.bind({});\nEmptyItems.args = {\n label: 'Sem itens disponíveis',\n disabled: false,\n items: [],\n value: null,\n};\n\nexport const LongItemsList = Template.bind({});\nLongItemsList.args = {\n label: 'Lista com muitos itens',\n disabled: false,\n items: [\n { id: '1', title: 'Item 1' },\n { id: '2', title: 'Item 2' },\n { id: '3', title: 'Item 3' },\n { id: '4', title: 'Item 4' },\n { id: '5', title: 'Item 5' },\n { id: '6', title: 'Item 6' },\n { id: '7', title: 'Item 7' },\n { id: '8', title: 'Item 8' },\n { id: '9', title: 'Item 9' },\n { id: '10', title: 'Item 10' },\n ],\n value: null,\n};\n\nexport const Searchable = Template.bind({});\nSearchable.args = {\n label: 'Selecione um país',\n disabled: false,\n searchable: true,\n items: [\n { id: '1', title: 'Brasil' },\n { id: '2', title: 'Argentina' },\n { id: '3', title: 'Chile' },\n { id: '4', title: 'Uruguai' },\n { id: '5', title: 'Paraguai' },\n { id: '6', title: 'Bolívia' },\n { id: '7', title: 'Peru' },\n { id: '8', title: 'Colômbia' },\n { id: '9', title: 'Venezuela' },\n { id: '10', title: 'Equador' },\n { id: '11', title: 'México' },\n { id: '12', title: 'Estados Unidos' },\n { id: '13', title: 'Canadá' },\n { id: '14', title: 'Portugal' },\n { id: '15', title: 'Espanha' },\n ],\n value: null,\n};\n\nexport const SearchableWithSelectedValue = Template.bind({});\nSearchableWithSelectedValue.args = {\n label: 'País de nascimento',\n disabled: false,\n searchable: true,\n items: [\n { id: '1', title: 'Brasil' },\n { id: '2', title: 'Argentina' },\n { id: '3', title: 'Chile' },\n { id: '4', title: 'Uruguai' },\n { id: '5', title: 'Paraguai' },\n { id: '6', title: 'Bolívia' },\n { id: '7', title: 'Peru' },\n { id: '8', title: 'Colômbia' },\n { id: '9', title: 'Venezuela' },\n { id: '10', title: 'Equador' },\n ],\n value: { id: '1', title: 'Brasil' },\n};\n"]}
1
+ {"version":3,"file":"sula-dropdown.stories.js","sourceRoot":"","sources":["../../../src/components/sula-dropdown/sula-dropdown.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["export default {\n title: 'Components/sula-dropdown',\n tags: ['autodocs'],\n argTypes: {\n label: {\n control: 'text',\n defaultValue: 'Selecione uma opção',\n description: 'Label do dropdown',\n type: {\n required: false,\n },\n },\n disabled: {\n control: 'boolean',\n defaultValue: false,\n description: 'Define se o dropdown está desabilitado',\n type: {\n required: false,\n },\n },\n items: {\n control: 'object',\n defaultValue: [],\n description: 'Lista de itens para o dropdown',\n type: {\n required: false,\n },\n },\n value: {\n control: 'object',\n defaultValue: null,\n description: 'Valor selecionado do dropdown',\n type: {\n required: false,\n },\n },\n searchable: {\n control: 'boolean',\n defaultValue: false,\n description: 'Define se o dropdown permite busca',\n type: {\n required: false,\n },\n },\n menuMaxHeight: {\n control: 'number',\n defaultValue: 260,\n description: 'Altura máxima do menu em pixels (afeta o cálculo de auto-posicionamento)',\n type: {\n required: false,\n },\n },\n dropdownClicked: {\n action: 'dropdownClicked',\n description: 'Evento emitido quando o dropdown é clicado',\n },\n dropdownFocused: {\n action: 'dropdownFocused',\n description: 'Evento emitido quando o dropdown recebe foco',\n },\n dropdownFocusedOut: {\n action: 'dropdownFocusedOut',\n description: 'Evento emitido quando o dropdown perde o foco',\n },\n menuItemSelected: {\n action: 'menuItemSelected',\n description: 'Evento emitido quando um item é selecionado',\n },\n },\n parameters: {\n docs: {\n description: {\n component:\n 'O componente Dropdown Sula Design System é utilizado para exibição de opções de escolha. Seu intuito é ser usado junto com o botton sheet para selecionar opções variadas de itens em uma lista.',\n },\n },\n },\n};\n\nconst Template = args => {\n const container = document.createElement('div');\n container.style.margin = '20px';\n container.style.width = '300px'; // Define uma largura para melhor visualização\n\n const el = document.createElement('sula-dropdown');\n\n if (args.label) el.setAttribute('label', args.label);\n el.setAttribute('disabled', args.disabled.toString());\n if (args.searchable) el.setAttribute('searchable', args.searchable.toString());\n if (args.menuMaxHeight) el.setAttribute('menu-max-height', args.menuMaxHeight.toString());\n\n if (args.items && args.items.length > 0) {\n el.items = args.items;\n }\n\n if (args.value) {\n el.value = args.value;\n }\n\n // Adiciona os event listeners\n el.addEventListener('dropdownClicked', args.dropdownClicked);\n el.addEventListener('dropdownFocused', args.dropdownFocused);\n el.addEventListener('dropdownFocusedOut', args.dropdownFocusedOut);\n el.addEventListener('menuItemSelected', args.menuItemSelected);\n\n container.appendChild(el);\n\n return container;\n};\n\nexport const Default = Template.bind({});\nDefault.args = {\n label: 'Selecione uma opção',\n disabled: false,\n items: [\n { id: '1', title: 'Opção 1' },\n { id: '2', title: 'Opção 2' },\n { id: '3', title: 'Opção 3' },\n { id: '4', title: 'Opção 4' },\n ],\n value: null,\n};\n\nexport const WithSelectedValue = Template.bind({});\nWithSelectedValue.args = {\n label: 'País',\n disabled: false,\n items: [\n { id: '1', title: 'Brasil' },\n { id: '2', title: 'Argentina' },\n { id: '3', title: 'Chile' },\n { id: '4', title: 'Uruguai' },\n ],\n value: { id: '1', title: 'Brasil' },\n};\n\nexport const Disabled = Template.bind({});\nDisabled.args = {\n label: 'Dropdown desabilitado',\n disabled: true,\n items: [\n { id: '1', title: 'Opção 1' },\n { id: '2', title: 'Opção 2' },\n { id: '3', title: 'Opção 3' },\n ],\n value: null,\n};\n\nexport const DisabledWithValue = Template.bind({});\nDisabledWithValue.args = {\n label: 'Estado',\n disabled: true,\n items: [\n { id: '1', title: 'São Paulo' },\n { id: '2', title: 'Rio de Janeiro' },\n { id: '3', title: 'Minas Gerais' },\n ],\n value: { id: '1', title: 'São Paulo' },\n};\n\nexport const EmptyItems = Template.bind({});\nEmptyItems.args = {\n label: 'Sem itens disponíveis',\n disabled: false,\n items: [],\n value: null,\n};\n\nexport const LongItemsList = Template.bind({});\nLongItemsList.args = {\n label: 'Lista com muitos itens',\n disabled: false,\n items: [\n { id: '1', title: 'Item 1' },\n { id: '2', title: 'Item 2' },\n { id: '3', title: 'Item 3' },\n { id: '4', title: 'Item 4' },\n { id: '5', title: 'Item 5' },\n { id: '6', title: 'Item 6' },\n { id: '7', title: 'Item 7' },\n { id: '8', title: 'Item 8' },\n { id: '9', title: 'Item 9' },\n { id: '10', title: 'Item 10' },\n ],\n value: null,\n};\n\nexport const Searchable = Template.bind({});\nSearchable.args = {\n label: 'Selecione um país',\n disabled: false,\n searchable: true,\n items: [\n { id: '1', title: 'Brasil' },\n { id: '2', title: 'Argentina' },\n { id: '3', title: 'Chile' },\n { id: '4', title: 'Uruguai' },\n { id: '5', title: 'Paraguai' },\n { id: '6', title: 'Bolívia' },\n { id: '7', title: 'Peru' },\n { id: '8', title: 'Colômbia' },\n { id: '9', title: 'Venezuela' },\n { id: '10', title: 'Equador' },\n { id: '11', title: 'México' },\n { id: '12', title: 'Estados Unidos' },\n { id: '13', title: 'Canadá' },\n { id: '14', title: 'Portugal' },\n { id: '15', title: 'Espanha' },\n ],\n value: null,\n};\n\nexport const SearchableWithSelectedValue = Template.bind({});\nSearchableWithSelectedValue.args = {\n label: 'País de nascimento',\n disabled: false,\n searchable: true,\n items: [\n { id: '1', title: 'Brasil' },\n { id: '2', title: 'Argentina' },\n { id: '3', title: 'Chile' },\n { id: '4', title: 'Uruguai' },\n { id: '5', title: 'Paraguai' },\n { id: '6', title: 'Bolívia' },\n { id: '7', title: 'Peru' },\n { id: '8', title: 'Colômbia' },\n { id: '9', title: 'Venezuela' },\n { id: '10', title: 'Equador' },\n ],\n value: { id: '1', title: 'Brasil' },\n};\n\nconst AutoPositioningTemplate = args => {\n const container = document.createElement('div');\n container.style.display = 'flex';\n container.style.gap = '2rem';\n container.style.margin = '20px';\n container.style.marginTop = '100px';\n container.style.marginBottom = '1000px';\n\n // Dropdown padrão\n const defaultWrapper = document.createElement('div');\n defaultWrapper.style.width = '300px';\n const defaultTitle = document.createElement('h4');\n defaultTitle.textContent = 'Padrão (260px)';\n defaultTitle.style.marginBottom = '8px';\n defaultTitle.style.fontSize = '14px';\n defaultTitle.style.fontWeight = 'bold';\n const defaultDesc = document.createElement('p');\n defaultDesc.textContent = 'Abre para cima quando há < 320px abaixo';\n defaultDesc.style.fontSize = '12px';\n defaultDesc.style.color = '#666';\n defaultDesc.style.marginBottom = '8px';\n \n const defaultDropdown = document.createElement('sula-dropdown');\n defaultDropdown.setAttribute('label', 'Dropdown Padrão');\n defaultDropdown.setAttribute('searchable', 'true');\n defaultDropdown.items = args.items;\n defaultDropdown.addEventListener('menuItemSelected', args.menuItemSelected);\n \n defaultWrapper.appendChild(defaultTitle);\n defaultWrapper.appendChild(defaultDesc);\n defaultWrapper.appendChild(defaultDropdown);\n\n // Dropdown custom\n const customWrapper = document.createElement('div');\n customWrapper.style.width = '300px';\n const customTitle = document.createElement('h4');\n customTitle.textContent = 'Custom (600px)';\n customTitle.style.marginBottom = '8px';\n customTitle.style.fontSize = '14px';\n customTitle.style.fontWeight = 'bold';\n const customDesc = document.createElement('p');\n customDesc.textContent = 'Abre para cima quando há < 660px abaixo';\n customDesc.style.fontSize = '12px';\n customDesc.style.color = '#666';\n customDesc.style.marginBottom = '8px';\n \n const customDropdown = document.createElement('sula-dropdown');\n customDropdown.setAttribute('label', 'Dropdown Custom');\n customDropdown.setAttribute('searchable', 'true');\n customDropdown.setAttribute('menu-max-height', '600');\n customDropdown.items = args.items;\n customDropdown.addEventListener('menuItemSelected', args.menuItemSelected);\n \n customWrapper.appendChild(customTitle);\n customWrapper.appendChild(customDesc);\n customWrapper.appendChild(customDropdown);\n\n // Instrução\n const instruction = document.createElement('p');\n instruction.textContent = 'Role a página para ter ~400-500px abaixo dos dropdowns. O Custom abrirá para CIMA, o Padrão para BAIXO.';\n instruction.style.fontSize = '12px';\n instruction.style.color = '#999';\n instruction.style.marginTop = '1rem';\n instruction.style.gridColumn = '1 / -1';\n\n container.appendChild(defaultWrapper);\n container.appendChild(customWrapper);\n\n const wrapper = document.createElement('div');\n wrapper.appendChild(container);\n wrapper.appendChild(instruction);\n\n return wrapper;\n};\n\nexport const AutoPositioning = AutoPositioningTemplate.bind({});\nAutoPositioning.args = {\n items: [\n { id: '1', title: 'Opção 1' },\n { id: '2', title: 'Opção 2' },\n { id: '3', title: 'Opção 3' },\n { id: '4', title: 'Opção 4' },\n { id: '5', title: 'Opção 5' },\n { id: '6', title: 'Opção 6' },\n { id: '7', title: 'Opção 7' },\n { id: '8', title: 'Opção 8' },\n ],\n};\nAutoPositioning.parameters = {\n docs: {\n description: {\n story:\n 'Demonstra o auto-posicionamento do dropdown. O dropdown com menuMaxHeight maior (600px) é mais sensível e abre para cima com mais antecedência do que o padrão (260px). Role a página para observar o comportamento diferente.',\n },\n },\n};\n"]}