@sula-tech/webcomponents 0.0.0-snapshot-feature-workbench-menu-57f51ec → 0.0.0-snapshot-update-release-workflow-eeeefa9

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 (164) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/sula-avatar_32.cjs.entry.js +176 -99
  3. package/dist/cjs/sula-avatar_32.cjs.entry.js.map +1 -1
  4. package/dist/cjs/sula-profile-menu.cjs.entry.js +1 -1
  5. package/dist/cjs/sula-profile-menu.cjs.entry.js.map +1 -1
  6. package/dist/cjs/sula-profile-menu.entry.cjs.js.map +1 -1
  7. package/dist/cjs/sula-toast-stack.cjs.entry.js +4 -4
  8. package/dist/cjs/sula-toast.cjs.entry.js +2 -2
  9. package/dist/cjs/sula-workbench-menu.cjs.entry.js +124 -61
  10. package/dist/cjs/sula-workbench-menu.cjs.entry.js.map +1 -1
  11. package/dist/cjs/sula-workbench-menu.entry.cjs.js.map +1 -1
  12. package/dist/cjs/webcomponents.cjs.js +1 -1
  13. package/dist/collection/components/sula-button/sula-button.css +1 -1
  14. package/dist/collection/components/sula-calendar/sula-calendar.css +1 -1
  15. package/dist/collection/components/sula-calendar/sula-calendar.js +56 -17
  16. package/dist/collection/components/sula-calendar/sula-calendar.js.map +1 -1
  17. package/dist/collection/components/sula-calendar/sula-calendar.stories.js +16 -1
  18. package/dist/collection/components/sula-calendar/sula-calendar.stories.js.map +1 -1
  19. package/dist/collection/components/sula-chip/sula-chip.css +1 -1
  20. package/dist/collection/components/sula-chip/sula-chip.js +30 -4
  21. package/dist/collection/components/sula-chip/sula-chip.js.map +1 -1
  22. package/dist/collection/components/sula-chip/sula-chip.stories.js +55 -0
  23. package/dist/collection/components/sula-chip/sula-chip.stories.js.map +1 -1
  24. package/dist/collection/components/sula-dropdown/sula-dropdown.js +3 -3
  25. package/dist/collection/components/sula-icon/sula-icon.css +1 -1
  26. package/dist/collection/components/sula-icon/sula-icon.js +1 -1
  27. package/dist/collection/components/sula-icon-picker/sula-icon-picker.js +2 -2
  28. package/dist/collection/components/sula-loader/sula-loader.css +1 -1
  29. package/dist/collection/components/sula-loader/sula-loader.js +1 -1
  30. package/dist/collection/components/sula-menu/sula-menu.css +1 -1
  31. package/dist/collection/components/sula-menu/sula-menu.js +13 -13
  32. package/dist/collection/components/sula-menu/sula-menu.js.map +1 -1
  33. package/dist/collection/components/sula-menu-select-list/sula-menu-select-list.css +1 -1
  34. package/dist/collection/components/sula-menu-select-list/sula-menu-select-list.js +1 -1
  35. package/dist/collection/components/sula-modal/sula-modal.css +1 -1
  36. package/dist/collection/components/sula-modal/sula-modal.js +142 -11
  37. package/dist/collection/components/sula-modal/sula-modal.js.map +1 -1
  38. package/dist/collection/components/sula-modal/sula-modal.stories.js +48 -0
  39. package/dist/collection/components/sula-modal/sula-modal.stories.js.map +1 -1
  40. package/dist/collection/components/sula-profile-menu/sula-profile-menu.css +1 -1
  41. package/dist/collection/components/sula-progress-bar/sula-progress-bar.js +2 -2
  42. package/dist/collection/components/sula-radio-button/sula-radio-button.js +2 -2
  43. package/dist/collection/components/sula-search-bar/sula-search-bar.js +2 -2
  44. package/dist/collection/components/sula-segmented-control/sula-segmented-control.js +1 -1
  45. package/dist/collection/components/sula-switch/sula-switch.css +1 -1
  46. package/dist/collection/components/sula-switch/sula-switch.js +4 -4
  47. package/dist/collection/components/sula-table/sula-table.js +3 -3
  48. package/dist/collection/components/sula-table-body/sula-table-body.js +1 -1
  49. package/dist/collection/components/sula-table-cell/sula-table-cell.js +2 -2
  50. package/dist/collection/components/sula-table-head-cell/sula-table-head-cell.js +2 -2
  51. package/dist/collection/components/sula-table-header/sula-table-header.js +1 -1
  52. package/dist/collection/components/sula-table-row/sula-table-row.js +1 -1
  53. package/dist/collection/components/sula-tag/sula-tag.js +3 -3
  54. package/dist/collection/components/sula-textarea/sula-textarea.js +6 -6
  55. package/dist/collection/components/sula-textfield/sula-textfield.css +1 -1
  56. package/dist/collection/components/sula-textfield/sula-textfield.js +2 -2
  57. package/dist/collection/components/sula-tiles/sula-tiles.js +1 -1
  58. package/dist/collection/components/sula-timeline-list/sula-timeline-list.js +1 -1
  59. package/dist/collection/components/sula-toast/sula-toast.js +2 -2
  60. package/dist/collection/components/sula-toast-stack/sula-toast-stack.js +4 -4
  61. package/dist/collection/components/sula-toggle/sula-toggle.js +1 -1
  62. package/dist/collection/components/sula-tooltip/sula-tooltip.js +1 -1
  63. package/dist/collection/components/sula-workbench-menu/sula-workbench-menu.css +1 -1
  64. package/dist/collection/components/sula-workbench-menu/sula-workbench-menu.js +138 -74
  65. package/dist/collection/components/sula-workbench-menu/sula-workbench-menu.js.map +1 -1
  66. package/dist/collection/components/sula-workbench-menu/sula-workbench-menu.stories.js +218 -99
  67. package/dist/collection/components/sula-workbench-menu/sula-workbench-menu.stories.js.map +1 -1
  68. package/dist/components/{p-Wd3q-zRy.js → p-1SBJ2JjF.js} +6 -6
  69. package/dist/components/{p-Wd3q-zRy.js.map → p-1SBJ2JjF.js.map} +1 -1
  70. package/dist/components/{p-YsuXC_9x.js → p-BD4DLCMm.js} +5 -5
  71. package/dist/components/{p-YsuXC_9x.js.map → p-BD4DLCMm.js.map} +1 -1
  72. package/dist/components/{p-DkXdsyPr.js → p-Bdc73E-Z.js} +7 -7
  73. package/dist/components/{p-DkXdsyPr.js.map → p-Bdc73E-Z.js.map} +1 -1
  74. package/dist/components/{p-MPkJUrNl.js → p-BlRYoc3b.js} +4 -4
  75. package/dist/components/{p-MPkJUrNl.js.map → p-BlRYoc3b.js.map} +1 -1
  76. package/dist/components/{p-B5MmQ8zn.js → p-BrjLS4Oh.js} +5 -5
  77. package/dist/components/{p-B5MmQ8zn.js.map → p-BrjLS4Oh.js.map} +1 -1
  78. package/dist/components/{p-CZdy_Df-.js → p-Cktbp7SD.js} +5 -5
  79. package/dist/components/{p-CZdy_Df-.js.map → p-Cktbp7SD.js.map} +1 -1
  80. package/dist/components/{p-DpW2KDYm.js → p-DP9qGgPM.js} +4 -4
  81. package/dist/components/{p-DpW2KDYm.js.map → p-DP9qGgPM.js.map} +1 -1
  82. package/dist/components/{p-CvpbIDzE.js → p-DTZo84U5.js} +5 -5
  83. package/dist/components/{p-CvpbIDzE.js.map → p-DTZo84U5.js.map} +1 -1
  84. package/dist/components/{p-B8AsfKSM.js → p-KIC3LfH4.js} +7 -7
  85. package/dist/components/{p-B8AsfKSM.js.map → p-KIC3LfH4.js.map} +1 -1
  86. package/dist/components/{p-DCGHpgTv.js → p-boQwbNNO.js} +5 -5
  87. package/dist/components/{p-DCGHpgTv.js.map → p-boQwbNNO.js.map} +1 -1
  88. package/dist/components/sula-avatar.js +1 -1
  89. package/dist/components/sula-badge.js +1 -1
  90. package/dist/components/sula-breadcrumb.js +1 -1
  91. package/dist/components/sula-button.js +1 -1
  92. package/dist/components/sula-calendar.js +59 -20
  93. package/dist/components/sula-calendar.js.map +1 -1
  94. package/dist/components/sula-checkbox.js +1 -1
  95. package/dist/components/sula-chip.js +15 -7
  96. package/dist/components/sula-chip.js.map +1 -1
  97. package/dist/components/sula-dropdown.js +1 -1
  98. package/dist/components/sula-icon-picker.js +6 -6
  99. package/dist/components/sula-icon.js +1 -1
  100. package/dist/components/sula-loader.js +1 -1
  101. package/dist/components/sula-menu-select-list.js +1 -1
  102. package/dist/components/sula-menu.js +15 -15
  103. package/dist/components/sula-menu.js.map +1 -1
  104. package/dist/components/sula-modal.js +51 -15
  105. package/dist/components/sula-modal.js.map +1 -1
  106. package/dist/components/sula-profile-menu.js +1 -1
  107. package/dist/components/sula-progress-bar.js +3 -3
  108. package/dist/components/sula-radio-button.js +2 -2
  109. package/dist/components/sula-search-bar.js +1 -1
  110. package/dist/components/sula-segmented-control.js +2 -2
  111. package/dist/components/sula-switch.js +1 -1
  112. package/dist/components/sula-table-body.js +1 -1
  113. package/dist/components/sula-table-cell.js +2 -2
  114. package/dist/components/sula-table-head-cell.js +2 -2
  115. package/dist/components/sula-table-header.js +1 -1
  116. package/dist/components/sula-table-row.js +1 -1
  117. package/dist/components/sula-table.js +3 -3
  118. package/dist/components/sula-tag.js +4 -4
  119. package/dist/components/sula-textarea.js +6 -6
  120. package/dist/components/sula-textfield.js +1 -1
  121. package/dist/components/sula-tiles.js +2 -2
  122. package/dist/components/sula-timeline-list.js +2 -2
  123. package/dist/components/sula-toast-stack.js +6 -6
  124. package/dist/components/sula-toast.js +1 -1
  125. package/dist/components/sula-toggle.js +2 -2
  126. package/dist/components/sula-tooltip.js +2 -2
  127. package/dist/components/sula-workbench-menu.js +131 -66
  128. package/dist/components/sula-workbench-menu.js.map +1 -1
  129. package/dist/esm/loader.js +1 -1
  130. package/dist/esm/sula-avatar_32.entry.js +176 -99
  131. package/dist/esm/sula-avatar_32.entry.js.map +1 -1
  132. package/dist/esm/sula-profile-menu.entry.js +1 -1
  133. package/dist/esm/sula-profile-menu.entry.js.map +1 -1
  134. package/dist/esm/sula-toast-stack.entry.js +4 -4
  135. package/dist/esm/sula-toast.entry.js +2 -2
  136. package/dist/esm/sula-workbench-menu.entry.js +124 -61
  137. package/dist/esm/sula-workbench-menu.entry.js.map +1 -1
  138. package/dist/esm/webcomponents.js +1 -1
  139. package/dist/types/components/sula-calendar/sula-calendar.d.ts +9 -3
  140. package/dist/types/components/sula-calendar/sula-calendar.stories.d.ts +1 -0
  141. package/dist/types/components/sula-chip/sula-chip.d.ts +5 -0
  142. package/dist/types/components/sula-chip/sula-chip.stories.d.ts +12 -0
  143. package/dist/types/components/sula-modal/sula-modal.d.ts +21 -0
  144. package/dist/types/components/sula-modal/sula-modal.stories.d.ts +22 -0
  145. package/dist/types/components/sula-workbench-menu/sula-workbench-menu.d.ts +18 -9
  146. package/dist/types/components/sula-workbench-menu/sula-workbench-menu.stories.d.ts +26 -19
  147. package/dist/types/components.d.ts +79 -23
  148. package/dist/webcomponents/{p-df271629.entry.js → p-18c84807.entry.js} +6 -6
  149. package/dist/webcomponents/p-235dcb90.entry.js +880 -0
  150. package/dist/webcomponents/p-235dcb90.entry.js.map +1 -0
  151. package/dist/webcomponents/{p-60d2ad8f.entry.js → p-3344a9f9.entry.js} +406 -289
  152. package/dist/webcomponents/p-3344a9f9.entry.js.map +1 -0
  153. package/dist/webcomponents/{p-c552c435.entry.js → p-705e2424.entry.js} +16 -16
  154. package/dist/webcomponents/{p-4251c973.entry.js → p-7e31b463.entry.js} +2 -2
  155. package/dist/webcomponents/sula-profile-menu.entry.esm.js.map +1 -1
  156. package/dist/webcomponents/sula-workbench-menu.entry.esm.js.map +1 -1
  157. package/dist/webcomponents/webcomponents.esm.js +15 -7
  158. package/package.json +1 -1
  159. package/dist/webcomponents/p-569d0bad.entry.js +0 -807
  160. package/dist/webcomponents/p-569d0bad.entry.js.map +0 -1
  161. package/dist/webcomponents/p-60d2ad8f.entry.js.map +0 -1
  162. /package/dist/webcomponents/{p-df271629.entry.js.map → p-18c84807.entry.js.map} +0 -0
  163. /package/dist/webcomponents/{p-c552c435.entry.js.map → p-705e2424.entry.js.map} +0 -0
  164. /package/dist/webcomponents/{p-4251c973.entry.js.map → p-7e31b463.entry.js.map} +0 -0
@@ -73,7 +73,7 @@ const BRAND_IMAGE = `data:image/svg+xml;utf8,${encodeURIComponent(`
73
73
  <path d="M52 24H35.5C31.3579 24 28 27.3579 28 31.5C28 35.6421 31.3579 39 35.5 39H44.5C48.6421 39 52 42.3579 52 46.5C52 50.6421 48.6421 54 44.5 54H28" stroke="white" stroke-width="8" stroke-linecap="round" stroke-linejoin="round"/>
74
74
  </svg>
75
75
  `)}`;
76
- // Same items as the menu in production today, to compare both components with identical content.
76
+ // Same items as the menu in production today.
77
77
  const currentMenuItems = [
78
78
  { id: 'dashboard', label: 'Dashboard', icon: 'ph ph-house', selected: true },
79
79
  { id: 'exemplo', label: 'Exemplo menu', icon: 'ph ph-archive', children: [{ id: 'exemplo-usuarios', label: 'Usuários', icon: 'ph ph-user' }] },
@@ -189,7 +189,7 @@ const createStoryShell = () => {
189
189
  contentPanel.style.borderRadius = '0 24px 24px 0';
190
190
  contentPanel.style.color = '#6c6e6e';
191
191
  contentPanel.style.fontSize = '14px';
192
- contentPanel.textContent = 'Área de conteúdo. Níveis 1 a 2 expandem em linha; a partir do nível 3 com filhos, o menu entra em drill-down com breadcrumb.';
192
+ contentPanel.textContent = 'Área de conteúdo. Até 3 níveis o menu expande em linha; se algum item chega ao 4º nível, toda a navegação vira drill-down com breadcrumb.';
193
193
  shell.appendChild(contentPanel);
194
194
  container.appendChild(shell);
195
195
  return { container, shell };
@@ -199,6 +199,7 @@ export default {
199
199
  tags: ['autodocs'],
200
200
  argTypes: {
201
201
  menuTitle: { control: 'text', defaultValue: 'Sula Hub', description: 'Título do menu.' },
202
+ image: { control: 'text', description: 'Imagem da marca no cabeçalho da raiz (URL ou data URI).' },
202
203
  density: {
203
204
  control: { type: 'select' },
204
205
  options: Object.values(SulaMenuDensity),
@@ -209,9 +210,9 @@ export default {
209
210
  options: Object.values(SulaMenuLabelOverflow),
210
211
  description: 'Quebra ou ellipsis dos labels.',
211
212
  },
212
- drilldownLevel: {
213
- control: { type: 'number', min: 1 },
214
- description: 'Nível (1-based) a partir do qual itens com filhos abrem drill-down em vez de expandir em linha.',
213
+ drillPath: {
214
+ control: 'object',
215
+ description: 'Controla a navegação pelo host: ids da raiz até o item cujos filhos aparecem. No drill-down, array vazio volta à raiz; no modo em linha, os itens do caminho são expandidos. undefined deixa só os cliques navegarem.',
215
216
  },
216
217
  items: { control: 'object', description: 'Árvore de itens, recursiva.' },
217
218
  itemSelected: { action: 'itemSelected', description: 'Emitido ao selecionar um item folha.' },
@@ -227,22 +228,23 @@ export default {
227
228
  parameters: {
228
229
  docs: {
229
230
  description: {
230
- component: 'Menu que combina a navegação em árvore do sula-menu (níveis 1 e 2 expandem em linha) com o drill-down: a partir do nível configurado em drilldownLevel (padrão 3), itens com filhos abrem um painel de um nível com breadcrumb e botão de voltar.',
231
+ component: 'Menu de navegação com dois modos, escolhidos pela profundidade dos items: com até 3 níveis, tudo expande em linha como no sula-menu; se algum item visível chega ao 4º nível, toda a navegação vira drill-down, e itens com filhos abrem um painel de um nível com breadcrumb e botão de voltar.',
231
232
  },
232
233
  },
233
234
  },
234
235
  };
235
236
  const Template = (args) => {
236
- var _a;
237
+ var _a, _b;
237
238
  const { container, shell } = createStoryShell();
238
239
  const el = document.createElement('sula-workbench-menu');
239
240
  el.menuTitle = args.menuTitle;
241
+ el.image = (_a = args.image) !== null && _a !== void 0 ? _a : '';
240
242
  el.density = args.density;
241
243
  el.labelOverflow = args.labelOverflow;
242
- el.drilldownLevel = args.drilldownLevel;
244
+ el.drillPath = args.drillPath;
243
245
  el.items = cloneItems(args.items);
244
246
  el.user = args.user;
245
- el.profileItems = ((_a = args.profileItems) !== null && _a !== void 0 ? _a : hubProfileItems).map(item => (Object.assign({}, item)));
247
+ el.profileItems = ((_b = args.profileItems) !== null && _b !== void 0 ? _b : hubProfileItems).map(item => (Object.assign({}, item)));
246
248
  el.addEventListener('itemSelected', args.itemSelected);
247
249
  el.addEventListener('itemClicked', args.itemClicked);
248
250
  el.addEventListener('levelChanged', args.levelChanged);
@@ -258,14 +260,13 @@ Default.args = {
258
260
  menuTitle: 'Sula Hub',
259
261
  density: SulaMenuDensity.Default,
260
262
  labelOverflow: SulaMenuLabelOverflow.Wrap,
261
- drilldownLevel: 3,
262
263
  items: workbenchItems,
263
264
  user: sampleUser,
264
265
  };
265
266
  Default.parameters = {
266
267
  docs: {
267
268
  description: {
268
- story: 'Exemplo com 6 níveis reais. Sinistros e Auto já vêm expandidos; em Cobertura (nível 3) o item Terceiros abre o drill-down. "Apólices" e "Veículos" usam um SVG no lugar do ícone de fonte (propriedade image do item). O rodapé mostra o usuário logado; clicar nele emite profileClicked.',
269
+ story: 'Exemplo com 6 níveis reais: como passa de 3 níveis, toda a navegação é drill-down, a partir da raiz. "Apólices" e "Veículos" usam um SVG no lugar do ícone de fonte (propriedade image do item). O rodapé mostra o usuário logado; clicar nele emite profileClicked.',
269
270
  },
270
271
  },
271
272
  };
@@ -274,7 +275,6 @@ WithoutPhotoOrEmail.args = {
274
275
  menuTitle: 'Sula Hub',
275
276
  density: SulaMenuDensity.Default,
276
277
  labelOverflow: SulaMenuLabelOverflow.Wrap,
277
- drilldownLevel: 3,
278
278
  items: workbenchItems,
279
279
  user: { name: 'Carlos Mendes' },
280
280
  };
@@ -299,7 +299,6 @@ WithProfileMenu.args = {
299
299
  menuTitle: 'Sula Hub',
300
300
  density: SulaMenuDensity.Default,
301
301
  labelOverflow: SulaMenuLabelOverflow.Wrap,
302
- drilldownLevel: 3,
303
302
  items: currentMenuItems,
304
303
  user: { name: 'Lucas Reichert', email: 'lucas.reichert@sulamerica.com.br' },
305
304
  profileItems: hubProfileItems,
@@ -316,7 +315,6 @@ CustomProfileItems.args = {
316
315
  menuTitle: 'Sula Hub',
317
316
  density: SulaMenuDensity.Default,
318
317
  labelOverflow: SulaMenuLabelOverflow.Wrap,
319
- drilldownLevel: 3,
320
318
  items: workbenchItems,
321
319
  user: sampleUser,
322
320
  profileItems: [
@@ -337,113 +335,234 @@ CustomProfileItems.parameters = {
337
335
  },
338
336
  },
339
337
  };
338
+ export const ControlledDrillPath = (args) => {
339
+ const container = Template(args);
340
+ const menu = container.querySelector('sula-workbench-menu');
341
+ const paths = {
342
+ Tree: [],
343
+ Sinistros: ['claims'],
344
+ 'Cobertura': ['claims', 'claims-auto', 'claims-auto-coverage'],
345
+ 'Terceiros': ['claims', 'claims-auto', 'claims-auto-coverage', 'claims-auto-third'],
346
+ };
347
+ const toolbar = document.createElement('div');
348
+ toolbar.style.cssText = 'display:flex;gap:8px;margin:20px 20px 0';
349
+ Object.entries(paths).forEach(([label, path]) => {
350
+ const button = document.createElement('sula-button');
351
+ button.text = label;
352
+ button.addEventListener('click', () => (menu.drillPath = path));
353
+ toolbar.appendChild(button);
354
+ });
355
+ const wrapper = document.createElement('div');
356
+ wrapper.append(toolbar, container);
357
+ return wrapper;
358
+ };
359
+ ControlledDrillPath.args = {
360
+ menuTitle: 'Sula Hub',
361
+ density: SulaMenuDensity.Default,
362
+ labelOverflow: SulaMenuLabelOverflow.Wrap,
363
+ items: workbenchItems,
364
+ user: sampleUser,
365
+ };
366
+ ControlledDrillPath.parameters = {
367
+ docs: {
368
+ description: {
369
+ story: 'O host controla o drill-down pela propriedade drillPath: os botões acima entram em Sinistros, em Cobertura, em Terceiros ou voltam para a raiz. Ids desconhecidos interrompem o caminho no último nível válido.',
370
+ },
371
+ },
372
+ };
340
373
  export const InlineOnly = Template.bind({});
341
374
  InlineOnly.args = {
342
375
  menuTitle: 'Sula Hub',
343
376
  density: SulaMenuDensity.Default,
344
377
  labelOverflow: SulaMenuLabelOverflow.Wrap,
345
- drilldownLevel: 99,
346
- items: workbenchItems,
378
+ items: currentMenuItems,
347
379
  user: sampleUser,
348
380
  };
349
381
  InlineOnly.parameters = {
350
382
  docs: {
351
383
  description: {
352
- story: 'Com drilldownLevel acima da profundidade da árvore, o componente se comporta como o sula-menu, expandindo tudo em linha.',
384
+ story: 'Com no máximo 3 níveis, não há drill-down: o componente se comporta como o sula-menu, expandindo tudo em linha.',
353
385
  },
354
386
  },
355
387
  };
356
- const createComparisonShell = () => {
357
- const container = document.createElement('div');
358
- container.style.margin = '20px';
359
- container.style.padding = '24px';
360
- container.style.background = '#eef2f2';
361
- container.style.borderRadius = '24px';
362
- container.style.boxSizing = 'border-box';
363
- container.style.display = 'flex';
364
- container.style.gap = '32px';
365
- container.style.alignItems = 'flex-start';
366
- return container;
388
+ export const InlineWithExpandedPath = Template.bind({});
389
+ InlineWithExpandedPath.args = {
390
+ menuTitle: 'Sula Hub',
391
+ density: SulaMenuDensity.Default,
392
+ labelOverflow: SulaMenuLabelOverflow.Wrap,
393
+ items: currentMenuItems,
394
+ drillPath: ['tech-portal', 'tech-cadastros'],
395
+ user: sampleUser,
367
396
  };
368
- const createComparisonColumn = (title) => {
369
- const column = document.createElement('div');
370
- const caption = document.createElement('div');
371
- caption.textContent = title;
372
- caption.style.font = '600 13px sans-serif';
373
- caption.style.color = '#6c6e6e';
374
- caption.style.marginBottom = '12px';
375
- const box = document.createElement('div');
376
- box.style.height = '720px';
377
- box.style.width = '350px';
378
- box.style.display = 'flex';
379
- box.style.background = '#ffffff';
380
- box.style.border = '1px solid #e5e6e6';
381
- box.style.borderRadius = '16px';
382
- box.style.overflow = 'hidden';
383
- column.appendChild(caption);
384
- column.appendChild(box);
385
- return { column, box };
386
- };
387
- // Fourth level under Tech Portal > Cadastros > Tribos. The current sula-menu stops at the third level,
388
- // so in it "Tribos" stays a leaf; in the new menu it opens the drill-down.
389
- const withFourthLevel = (items) => cloneItems(items).map(item => {
390
- if (item.id !== 'tech-portal')
391
- return item;
392
- return Object.assign(Object.assign({}, item), { expanded: true, children: item.children.map(child => {
393
- if (child.id !== 'tech-cadastros')
394
- return child;
395
- return Object.assign(Object.assign({}, child), { expanded: true, children: child.children.map(grandchild => grandchild.id === 'tech-tribos'
396
- ? Object.assign(Object.assign({}, grandchild), { children: [
397
- { id: 'tribo-saude', label: 'Tribo Saúde', icon: 'ph ph-heartbeat', selected: true },
398
- { id: 'tribo-odonto', label: 'Tribo Odonto', icon: 'ph ph-tooth' },
399
- { id: 'tribo-auto', label: 'Tribo Auto e Massificados', icon: 'ph ph-car' },
400
- { id: 'tribo-dados', label: 'Tribo Dados e Analytics', icon: 'ph ph-chart-line-up' },
401
- ] }) : grandchild) });
402
- }) });
403
- });
404
- const withoutSelection = (items) => items.map(item => (Object.assign(Object.assign({}, item), { selected: false, children: item.children ? withoutSelection(item.children) : undefined })));
405
- const clickMenuRow = (menu, label) => {
406
- const row = Array.from(menu.shadowRoot.querySelectorAll('.menu-item, .submenu-item')).find(el => { var _a; return ((_a = el.textContent) === null || _a === void 0 ? void 0 : _a.trim()) === label; });
407
- row === null || row === void 0 ? void 0 : row.click();
408
- };
409
- const renderComparison = (items, drillTo) => {
410
- const container = createComparisonShell();
411
- const current = createComparisonColumn('sula-menu (atual)');
412
- const currentMenu = document.createElement('sula-menu');
413
- currentMenu.menuTitle = 'Sula Hub';
414
- currentMenu.image = BRAND_IMAGE;
415
- currentMenu.items = cloneItems(items);
416
- current.box.appendChild(currentMenu);
417
- const workbench = createComparisonColumn('sula-workbench-menu (novo)');
418
- const workbenchMenu = document.createElement('sula-workbench-menu');
419
- workbenchMenu.menuTitle = 'Sula Hub';
420
- workbenchMenu.image = BRAND_IMAGE;
421
- workbenchMenu.user = sampleUser;
422
- workbenchMenu.items = cloneItems(items);
423
- workbench.box.appendChild(workbenchMenu);
424
- if (drillTo) {
425
- customElements
426
- .whenDefined('sula-workbench-menu')
427
- .then(() => workbenchMenu.componentOnReady())
428
- .then(() => clickMenuRow(workbenchMenu, drillTo));
429
- }
430
- container.appendChild(current.column);
431
- container.appendChild(workbench.column);
432
- return container;
397
+ InlineWithExpandedPath.parameters = {
398
+ docs: {
399
+ description: {
400
+ story: 'Sem drill-down, drillPath expande em linha os itens do caminho (Tech Portal e Cadastros) uma única vez; o usuário pode recolhê-los depois.',
401
+ },
402
+ },
403
+ };
404
+ export const FourthLevelBreadcrumb = Template.bind({});
405
+ FourthLevelBreadcrumb.args = {
406
+ menuTitle: 'Sula Hub',
407
+ density: SulaMenuDensity.Default,
408
+ labelOverflow: SulaMenuLabelOverflow.Wrap,
409
+ items: workbenchItems,
410
+ drillPath: ['claims', 'claims-auto', 'claims-auto-coverage', 'claims-auto-third'],
411
+ user: sampleUser,
412
+ };
413
+ FourthLevelBreadcrumb.parameters = {
414
+ docs: {
415
+ description: {
416
+ story: 'Drill-down no quarto nível: duas faixas de camadas na borda esquerda, breadcrumb com o nome do menu, reticências (o dropdown lista os níveis ocultos) e os dois últimos ancestrais, e o título do nível atual.',
417
+ },
418
+ },
419
+ };
420
+ export const WithBrandImage = Template.bind({});
421
+ WithBrandImage.args = {
422
+ menuTitle: 'Sula Hub',
423
+ image: BRAND_IMAGE,
424
+ density: SulaMenuDensity.Default,
425
+ labelOverflow: SulaMenuLabelOverflow.Wrap,
426
+ items: currentMenuItems,
427
+ user: sampleUser,
433
428
  };
434
- export const ComparisonWithCurrentSulaMenu = () => renderComparison(currentMenuItems);
435
- ComparisonWithCurrentSulaMenu.parameters = {
429
+ WithBrandImage.parameters = {
436
430
  docs: {
437
431
  description: {
438
- story: 'Os mesmos itens do menu atual de produção, renderizados no sula-menu (atual) e no sula-workbench-menu (novo), lado a lado, para comparar espaçamento, ícones e hierarquia. O menu novo mostra o perfil do usuário no rodapé, que substitui o "Ocultar menu" (o recolher fica no topo).',
432
+ story: 'Imagem da marca ao lado do título no cabeçalho da raiz. No drill-down o cabeçalho segue o protótipo e não mostra a imagem.',
439
433
  },
440
434
  },
441
435
  };
442
- export const ComparisonDrilldownFourthLevel = () => renderComparison(withFourthLevel(withoutSelection(currentMenuItems)), 'Tribos');
443
- ComparisonDrilldownFourthLevel.parameters = {
436
+ const longLabelItems = [
437
+ { id: 'inicio', label: 'Início', icon: 'ph ph-house' },
438
+ {
439
+ id: 'long-root',
440
+ label: 'Plataforma de Gestão Integrada de Sinistros e Apólices',
441
+ icon: 'ph ph-buildings',
442
+ children: [
443
+ {
444
+ id: 'long-contracts',
445
+ label: 'Administração de Contratos Corporativos de Longa Duração',
446
+ icon: 'ph ph-briefcase',
447
+ children: [
448
+ {
449
+ id: 'long-coverage',
450
+ label: 'Coberturas Adicionais para Terceiros e Beneficiários',
451
+ icon: 'ph ph-shield-check',
452
+ children: [
453
+ {
454
+ id: 'long-docs',
455
+ label: 'Documentação Complementar Exigida pela Seguradora',
456
+ icon: 'ph ph-folder-open',
457
+ children: [
458
+ { id: 'long-address', label: 'Comprovante de residência atualizado nos últimos noventa dias', icon: 'ph ph-map-pin' },
459
+ { id: 'long-short', label: 'Curto', icon: 'ph ph-file' },
460
+ ],
461
+ },
462
+ ],
463
+ },
464
+ ],
465
+ },
466
+ ],
467
+ },
468
+ ];
469
+ const longLabelPath = ['long-root', 'long-contracts', 'long-coverage', 'long-docs'];
470
+ export const LongLabels = Template.bind({});
471
+ LongLabels.args = {
472
+ menuTitle: 'Sula Hub',
473
+ density: SulaMenuDensity.Default,
474
+ labelOverflow: SulaMenuLabelOverflow.Wrap,
475
+ items: longLabelItems,
476
+ drillPath: longLabelPath,
477
+ user: { name: 'Maria Fernanda Albuquerque de Souza', email: 'maria.fernanda.albuquerque.de.souza@sulamerica.com.br' },
478
+ };
479
+ LongLabels.parameters = {
480
+ docs: {
481
+ description: {
482
+ story: 'Textos longos no drill-down: o título do nível quebra em até duas linhas, os itens quebram em até duas linhas (a seta fica na primeira), o breadcrumb encolhe com reticências e o rodapé corta nome e e-mail.',
483
+ },
484
+ },
485
+ };
486
+ export const LongLabelsTruncate = Template.bind({});
487
+ LongLabelsTruncate.args = Object.assign(Object.assign({}, LongLabels.args), { labelOverflow: SulaMenuLabelOverflow.Truncate });
488
+ LongLabelsTruncate.parameters = {
489
+ docs: {
490
+ description: {
491
+ story: 'Os mesmos textos longos com labelOverflow="truncate": os itens ficam em uma linha, com reticências.',
492
+ },
493
+ },
494
+ };
495
+ export const CompactDensity = Template.bind({});
496
+ CompactDensity.args = {
497
+ menuTitle: 'Sula Hub',
498
+ density: SulaMenuDensity.Compact,
499
+ labelOverflow: SulaMenuLabelOverflow.Wrap,
500
+ items: currentMenuItems,
501
+ user: sampleUser,
502
+ };
503
+ CompactDensity.parameters = {
504
+ docs: {
505
+ description: {
506
+ story: 'Densidade compacta: itens da raiz com menos espaço vertical.',
507
+ },
508
+ },
509
+ };
510
+ export const ComfortableDensity = Template.bind({});
511
+ ComfortableDensity.args = {
512
+ menuTitle: 'Sula Hub',
513
+ density: SulaMenuDensity.Comfortable,
514
+ labelOverflow: SulaMenuLabelOverflow.Wrap,
515
+ items: currentMenuItems,
516
+ user: sampleUser,
517
+ };
518
+ ComfortableDensity.parameters = {
519
+ docs: {
520
+ description: {
521
+ story: 'Densidade confortável: itens da raiz maiores e com mais espaço.',
522
+ },
523
+ },
524
+ };
525
+ export const HiddenAndDisabledItems = Template.bind({});
526
+ HiddenAndDisabledItems.args = {
527
+ menuTitle: 'Sula Hub',
528
+ density: SulaMenuDensity.Default,
529
+ labelOverflow: SulaMenuLabelOverflow.Wrap,
530
+ items: [
531
+ { id: 'home', label: 'Início', icon: 'ph ph-house', selected: true },
532
+ { id: 'reports', label: 'Relatórios', icon: 'ph ph-chart-bar', disabled: true },
533
+ { id: 'secret', label: 'Oculto', icon: 'ph ph-eye-slash', hidden: true },
534
+ {
535
+ id: 'admin',
536
+ label: 'Administração',
537
+ icon: 'ph ph-gear',
538
+ children: [
539
+ { id: 'admin-users', label: 'Usuários', icon: 'ph ph-users' },
540
+ { id: 'admin-audit', label: 'Auditoria', icon: 'ph ph-clipboard-text', disabled: true },
541
+ { id: 'admin-hidden', label: 'Oculto', icon: 'ph ph-eye-slash', hidden: true },
542
+ ],
543
+ },
544
+ ],
545
+ user: sampleUser,
546
+ };
547
+ HiddenAndDisabledItems.parameters = {
548
+ docs: {
549
+ description: {
550
+ story: 'Itens hidden não aparecem (nem contam para a profundidade) e itens disabled ficam esmaecidos e não respondem a cliques.',
551
+ },
552
+ },
553
+ };
554
+ export const WithoutUser = Template.bind({});
555
+ WithoutUser.args = {
556
+ menuTitle: 'Sula Hub',
557
+ density: SulaMenuDensity.Default,
558
+ labelOverflow: SulaMenuLabelOverflow.Wrap,
559
+ items: workbenchItems,
560
+ user: undefined,
561
+ };
562
+ WithoutUser.parameters = {
444
563
  docs: {
445
564
  description: {
446
- story: 'Mesmos itens do menu atual com um quarto nível em Tech Portal > Cadastros > Tribos. No sula-menu (atual) a árvore para no terceiro nível e Tribos fica sem os filhos. No sula-workbench-menu (novo), Tribos abre o drill-down: breadcrumb com o caminho, botão de voltar e os itens do quarto nível em tela cheia.',
565
+ story: 'Sem a propriedade user o rodapé e o menu de perfil não são renderizados.',
447
566
  },
448
567
  },
449
568
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sula-workbench-menu.stories.js","sourceRoot":"","sources":["../../../src/components/sula-workbench-menu/sula-workbench-menu.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { SulaMenuDensity, SulaMenuLabelOverflow } from '../sula-menu/model/sula-menu.model';\nimport { SulaMenuMainItem } from '../sula-menu/model/sula-menu.model';\nimport { SulaProfileMenuItem, SulaProfileMenuSwitchChange } from '../sula-profile-menu/model/sula-profile-menu.model';\nimport { SulaWorkbenchMenuItem, SulaWorkbenchMenuUser } from './model/sula-workbench-menu.model';\n\ntype StoryArgs = {\n\tmenuTitle: string;\n\tdensity: SulaMenuDensity;\n\tlabelOverflow: SulaMenuLabelOverflow;\n\tdrilldownLevel: number;\n\titems: SulaWorkbenchMenuItem[];\n\tuser: SulaWorkbenchMenuUser;\n\tprofileItems?: SulaProfileMenuItem[];\n\tprofileClicked: EventListener;\n\tprofileItemClicked: EventListener;\n\tprofileSwitchChanged: EventListener;\n\titemSelected: EventListener;\n\titemClicked: EventListener;\n\tlevelChanged: EventListener;\n\tmenuToggled: EventListener;\n};\n\nconst SHIELD_SVG = `data:image/svg+xml;utf8,${encodeURIComponent(`\n\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6c6e6e\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t<path d=\"M12 3l7 3v5c0 4.5-3 8.2-7 10-4-1.8-7-5.5-7-10V6l7-3z\"/>\n\t\t<path d=\"M9 12l2 2 4-4\"/>\n\t</svg>\n`)}`;\n\nconst CAR_SVG = `data:image/svg+xml;utf8,${encodeURIComponent(`\n\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6c6e6e\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t<path d=\"M4 16v-3.2L6 8h12l2 4.8V16\"/>\n\t\t<path d=\"M4 16h16v2.4a.8.8 0 0 1-.8.8h-1.4a.8.8 0 0 1-.8-.8V17H7v1.4a.8.8 0 0 1-.8.8H4.8a.8.8 0 0 1-.8-.8Z\"/>\n\t</svg>\n`)}`;\n\nconst workbenchItems: SulaWorkbenchMenuItem[] = [\n\t{ id: 'overview', label: 'Visão Geral', icon: 'ph ph-house-line' },\n\t{\n\t\tid: 'claims',\n\t\tlabel: 'Sinistros',\n\t\ticon: 'ph ph-warning-circle',\n\t\texpanded: true,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: 'claims-auto',\n\t\t\t\tlabel: 'Auto',\n\t\t\t\ticon: 'ph ph-car',\n\t\t\t\texpanded: true,\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'claims-auto-coverage',\n\t\t\t\t\t\tlabel: 'Cobertura',\n\t\t\t\t\t\ticon: 'ph ph-shield-check',\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'claims-auto-third',\n\t\t\t\t\t\t\t\tlabel: 'Terceiros',\n\t\t\t\t\t\t\t\ticon: 'ph ph-users-three',\n\t\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: 'claims-auto-third-docs',\n\t\t\t\t\t\t\t\t\t\tlabel: 'Documentação',\n\t\t\t\t\t\t\t\t\t\ticon: 'ph ph-folder-open',\n\t\t\t\t\t\t\t\t\t\tchildren: [{ id: 'claims-auto-third-address', label: 'Comprovante de residência', icon: 'ph ph-map-pin', selected: true }],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ id: 'claims-auto-own', label: 'Próprio', icon: 'ph ph-car-profile' },\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t\t{ id: 'claims-auto-glass', label: 'Vidros', icon: 'ph ph-wrench' },\n\t\t\t\t\t{ id: 'claims-auto-other', label: 'Outros (ícone padrão)' },\n\t\t\t\t],\n\t\t\t},\n\t\t\t{ id: 'claims-home', label: 'Residencial', icon: 'ph ph-house', children: [{ id: 'claims-home-fire', label: 'Incêndio', icon: 'ph ph-fire' }] },\n\t\t\t{ id: 'claims-vehicle', label: 'Veículos', icon: 'ph ph-car', image: CAR_SVG },\n\t\t\t{ id: 'claims-life', label: 'Vida', icon: 'ph ph-heartbeat' },\n\t\t],\n\t},\n\t{\n\t\tid: 'policies',\n\t\tlabel: 'Apólices',\n\t\ticon: 'ph ph-files',\n\t\timage: SHIELD_SVG,\n\t\tchildren: [\n\t\t\t{ id: 'policies-issued', label: 'Emitidas', icon: 'ph ph-file-text' },\n\t\t\t{ id: 'policies-review', label: 'Em análise', icon: 'ph ph-clipboard-text' },\n\t\t],\n\t},\n\t{ id: 'settings', label: 'Configurações', icon: 'ph ph-gear-six', children: [{ id: 'settings-users', label: 'Usuários', icon: 'ph ph-users-three' }] },\n];\n\nconst BRAND_IMAGE = `data:image/svg+xml;utf8,${encodeURIComponent(`\n\t<svg width=\"80\" height=\"80\" viewBox=\"0 0 80 80\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t<rect width=\"80\" height=\"80\" rx=\"20\" fill=\"#E5231B\"/>\n\t\t<path d=\"M52 24H35.5C31.3579 24 28 27.3579 28 31.5C28 35.6421 31.3579 39 35.5 39H44.5C48.6421 39 52 42.3579 52 46.5C52 50.6421 48.6421 54 44.5 54H28\" stroke=\"white\" stroke-width=\"8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n\t</svg>\n`)}`;\n\n// Same items as the menu in production today, to compare both components with identical content.\nconst currentMenuItems: SulaWorkbenchMenuItem[] = [\n\t{ id: 'dashboard', label: 'Dashboard', icon: 'ph ph-house', selected: true },\n\t{ id: 'exemplo', label: 'Exemplo menu', icon: 'ph ph-archive', children: [{ id: 'exemplo-usuarios', label: 'Usuários', icon: 'ph ph-user' }] },\n\t{ id: 'contas', label: 'Contas Médicas', icon: 'ph ph-align-right', children: [{ id: 'guias', label: 'Guias', icon: 'ph ph-align-center-horizontal-simple' }] },\n\t{\n\t\tid: 'ppa',\n\t\tlabel: 'PPA (Portal Plataforma Antifraude)',\n\t\ticon: 'ph ph-air-traffic-control',\n\t\tchildren: [\n\t\t\t{ id: 'ppa-prestadores', label: 'Prestadores', icon: 'ph ph-ambulance' },\n\t\t\t{ id: 'ppa-usuarios', label: 'Usuários', icon: 'ph ph-user' },\n\t\t\t{ id: 'ppa-prestadores-local', label: 'Prestadores-LOCAL', icon: 'ph ph-' },\n\t\t\t{ id: 'ppa-usuarios-local', label: 'Usuarios-LOCAL', icon: 'ph ph-' },\n\t\t\t{ id: 'ppa-prestadores-lilian', label: 'Prestadores Lilian', icon: 'ph ph-address-book' },\n\t\t],\n\t},\n\t{\n\t\tid: 'sula-audit',\n\t\tlabel: 'Sula Audit',\n\t\ticon: 'ph ph-airplane-in-flight',\n\t\tchildren: [\n\t\t\t{ id: 'audit-home', label: 'Home', icon: 'ph ph-house' },\n\t\t\t{ id: 'audit-prestadores', label: 'Prestadores auditados', icon: 'ph ph-airplay' },\n\t\t],\n\t},\n\t{\n\t\tid: 'dev-portal',\n\t\tlabel: 'Dev Portal',\n\t\ticon: 'ph ph-code-simple',\n\t\tchildren: [\n\t\t\t{ id: 'dev-devsecops', label: 'DevSecOps', icon: 'ph ph-chart-line' },\n\t\t\t{ id: 'dev-tech-radar', label: 'Tech Radar', icon: 'ph ph-target' },\n\t\t\t{ id: 'dev-portal-eda', label: 'Portal EDA', icon: 'ph ph-' },\n\t\t],\n\t},\n\t{\n\t\tid: 'sula-os',\n\t\tlabel: 'Sula OS',\n\t\ticon: 'ph ph-browsers',\n\t\tchildren: [\n\t\t\t{ id: 'os-dashboard', label: 'Dashboard', icon: 'ph ph-gauge' },\n\t\t\t{ id: 'os-canvas', label: 'Canvas', icon: 'ph ph-frame-corners' },\n\t\t],\n\t},\n\t{\n\t\tid: 'tech-portal',\n\t\tlabel: 'Tech Portal',\n\t\ticon: 'ph ph-address-book',\n\t\tchildren: [\n\t\t\t{ id: 'tech-home', label: 'Home', icon: 'ph ph-users-four' },\n\t\t\t{ id: 'tech-busca', label: 'Busca', icon: 'ph ph-user-circle-gear' },\n\t\t\t{ id: 'tech-perfil', label: 'Meu perfil', icon: 'ph ph-user-circle' },\n\t\t\t{\n\t\t\t\tid: 'tech-cadastros',\n\t\t\t\tlabel: 'Cadastros',\n\t\t\t\ticon: 'ph ph-table',\n\t\t\t\tchildren: [\n\t\t\t\t\t{ id: 'tech-empresas', label: 'Empresas terceiras', icon: 'ph ph-' },\n\t\t\t\t\t{ id: 'tech-tribos', label: 'Tribos', icon: 'ph ph-' },\n\t\t\t\t\t{ id: 'tech-capitulos', label: 'Capítulos/Jornadas', icon: 'ph ph-' },\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tid: 'configuracoes',\n\t\tlabel: 'Configurações',\n\t\ticon: 'ph ph-gear',\n\t\tchildren: [\n\t\t\t{ id: 'conf-menus', label: 'Menus', icon: 'ph ph-layout' },\n\t\t\t{ id: 'conf-usuarios', label: 'Usuários', icon: 'ph ph-users' },\n\t\t\t{ id: 'conf-tenant', label: 'Tenant', icon: 'ph ph-building' },\n\t\t\t{ id: 'conf-chaves', label: 'Chaves de APIs', icon: 'ph ph-key' },\n\t\t\t{\n\t\t\t\tid: 'conf-permissoes',\n\t\t\t\tlabel: 'Permissões',\n\t\t\t\ticon: 'ph ph-lock',\n\t\t\t\tchildren: [\n\t\t\t\t\t{ id: 'perm-papeis', label: 'Papéis', icon: 'ph ph-' },\n\t\t\t\t\t{ id: 'perm-recursos', label: 'Recursos', icon: 'ph ph-' },\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n];\n\nconst sampleUser: SulaWorkbenchMenuUser = { name: 'Ana Ribeiro', email: 'ana.ribeiro@sula.com.br' };\n\nconst hubProfileItems: SulaProfileMenuItem[] = [\n\t{ id: 'account', label: 'Minha conta', icon: 'ph ph-user-circle' },\n\t{ id: 'dark-mode', label: 'Modo escuro', icon: 'ph ph-moon', hasSwitch: true, active: false },\n\t{ id: 'divider-logout', divider: true },\n\t{ id: 'logout', label: 'Sair', icon: 'ph ph-sign-out' },\n];\n\nconst cloneItems = (items: SulaWorkbenchMenuItem[]): SulaWorkbenchMenuItem[] =>\n\titems.map(item => ({ ...item, children: item.children ? cloneItems(item.children) : undefined }));\n\nconst createStoryShell = () => {\n\tconst container = document.createElement('div');\n\tcontainer.style.margin = '20px';\n\tcontainer.style.padding = '24px';\n\tcontainer.style.background = 'linear-gradient(180deg, #f8f9f9 0%, #eef2f2 100%)';\n\tcontainer.style.borderRadius = '24px';\n\tcontainer.style.boxSizing = 'border-box';\n\n\tconst shell = document.createElement('div');\n\tshell.style.display = 'flex';\n\tshell.style.width = '960px';\n\tshell.style.maxWidth = '100%';\n\tshell.style.height = '720px';\n\tshell.style.borderRadius = '24px';\n\tshell.style.background = '#ffffff';\n\tshell.style.border = '1px solid #dfe5e5';\n\tshell.style.boxShadow = '0 20px 48px rgba(15, 23, 42, 0.08)';\n\n\tconst contentPanel = document.createElement('div');\n\tcontentPanel.style.flex = '1';\n\tcontentPanel.style.padding = '40px';\n\tcontentPanel.style.borderRadius = '0 24px 24px 0';\n\tcontentPanel.style.color = '#6c6e6e';\n\tcontentPanel.style.fontSize = '14px';\n\tcontentPanel.textContent = 'Área de conteúdo. Níveis 1 a 2 expandem em linha; a partir do nível 3 com filhos, o menu entra em drill-down com breadcrumb.';\n\n\tshell.appendChild(contentPanel);\n\tcontainer.appendChild(shell);\n\treturn { container, shell };\n};\n\nexport default {\n\ttitle: 'Components/sula-workbench-menu',\n\ttags: ['autodocs'],\n\targTypes: {\n\t\tmenuTitle: { control: 'text', defaultValue: 'Sula Hub', description: 'Título do menu.' },\n\t\tdensity: {\n\t\t\tcontrol: { type: 'select' },\n\t\t\toptions: Object.values(SulaMenuDensity),\n\t\t\tdescription: 'Densidade visual dos itens.',\n\t\t},\n\t\tlabelOverflow: {\n\t\t\tcontrol: { type: 'select' },\n\t\t\toptions: Object.values(SulaMenuLabelOverflow),\n\t\t\tdescription: 'Quebra ou ellipsis dos labels.',\n\t\t},\n\t\tdrilldownLevel: {\n\t\t\tcontrol: { type: 'number', min: 1 },\n\t\t\tdescription: 'Nível (1-based) a partir do qual itens com filhos abrem drill-down em vez de expandir em linha.',\n\t\t},\n\t\titems: { control: 'object', description: 'Árvore de itens, recursiva.' },\n\t\titemSelected: { action: 'itemSelected', description: 'Emitido ao selecionar um item folha.' },\n\t\titemClicked: { action: 'itemClicked', description: 'Emitido a cada clique em um item.' },\n\t\tlevelChanged: { action: 'levelChanged', description: 'Emitido ao entrar ou voltar de nível no drill-down.' },\n\t\tuser: { control: 'object', description: 'Usuário logado exibido no rodapé: name (obrigatório), email e photo (URL ou data URI). Sem photo, mostra as iniciais.' },\n\t\tprofileClicked: { action: 'profileClicked', description: 'Emitido ao clicar na área do usuário. Abre o menu de perfil, a menos que o evento seja cancelado com preventDefault().' },\n\t\tprofileItems: { control: 'object', description: 'Opções do menu de perfil: id, label, icon, hasSwitch + active, divider, disabled, hidden.' },\n\t\tprofileItemClicked: { action: 'profileItemClicked', description: 'Emitido ao clicar em uma opção sem switch do menu de perfil. O popover fecha.' },\n\t\tprofileSwitchChanged: { action: 'profileSwitchChanged', description: 'Emitido ao alternar o switch de uma opção, com { item, active }. O popover continua aberto.' },\n\t\tmenuToggled: { action: 'menuToggled', description: 'Emitido ao colapsar ou expandir o menu.' },\n\t},\n\tparameters: {\n\t\tdocs: {\n\t\t\tdescription: {\n\t\t\t\tcomponent:\n\t\t\t\t\t'Menu que combina a navegação em árvore do sula-menu (níveis 1 e 2 expandem em linha) com o drill-down: a partir do nível configurado em drilldownLevel (padrão 3), itens com filhos abrem um painel de um nível com breadcrumb e botão de voltar.',\n\t\t\t},\n\t\t},\n\t},\n};\n\nconst Template: any = (args: StoryArgs) => {\n\tconst { container, shell } = createStoryShell();\n\tconst el = document.createElement('sula-workbench-menu');\n\n\tel.menuTitle = args.menuTitle;\n\tel.density = args.density;\n\tel.labelOverflow = args.labelOverflow;\n\tel.drilldownLevel = args.drilldownLevel;\n\tel.items = cloneItems(args.items);\n\tel.user = args.user;\n\tel.profileItems = (args.profileItems ?? hubProfileItems).map(item => ({ ...item }));\n\n\tel.addEventListener('itemSelected', args.itemSelected);\n\tel.addEventListener('itemClicked', args.itemClicked);\n\tel.addEventListener('levelChanged', args.levelChanged);\n\tel.addEventListener('menuToggled', args.menuToggled);\n\tel.addEventListener('profileClicked', args.profileClicked);\n\tel.addEventListener('profileItemClicked', args.profileItemClicked);\n\tel.addEventListener('profileSwitchChanged', args.profileSwitchChanged);\n\n\tshell.prepend(el);\n\treturn container;\n};\n\nexport const Default = Template.bind({});\nDefault.args = {\n\tmenuTitle: 'Sula Hub',\n\tdensity: SulaMenuDensity.Default,\n\tlabelOverflow: SulaMenuLabelOverflow.Wrap,\n\tdrilldownLevel: 3,\n\titems: workbenchItems,\n\tuser: sampleUser,\n};\nDefault.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory:\n\t\t\t\t'Exemplo com 6 níveis reais. Sinistros e Auto já vêm expandidos; em Cobertura (nível 3) o item Terceiros abre o drill-down. \"Apólices\" e \"Veículos\" usam um SVG no lugar do ícone de fonte (propriedade image do item). O rodapé mostra o usuário logado; clicar nele emite profileClicked.',\n\t\t},\n\t},\n};\n\nexport const WithoutPhotoOrEmail = Template.bind({});\nWithoutPhotoOrEmail.args = {\n\tmenuTitle: 'Sula Hub',\n\tdensity: SulaMenuDensity.Default,\n\tlabelOverflow: SulaMenuLabelOverflow.Wrap,\n\tdrilldownLevel: 3,\n\titems: workbenchItems,\n\tuser: { name: 'Carlos Mendes' },\n};\nWithoutPhotoOrEmail.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory: 'Usuário sem foto nem e-mail: o avatar mostra as iniciais e o nome aparece sozinho.',\n\t\t},\n\t},\n};\n\nexport const WithProfileMenu = (args: StoryArgs) => {\n\tconst container = Template(args);\n\tconst menu = container.querySelector('sula-workbench-menu');\n\t// Example of the host application applying the theme chosen in the profile popover.\n\tmenu.addEventListener('profileSwitchChanged', (event: CustomEvent<SulaProfileMenuSwitchChange>) => {\n\t\tif (event.detail.item.id === 'dark-mode') document.documentElement.classList.toggle('dark', event.detail.active);\n\t});\n\treturn container;\n};\nWithProfileMenu.args = {\n\tmenuTitle: 'Sula Hub',\n\tdensity: SulaMenuDensity.Default,\n\tlabelOverflow: SulaMenuLabelOverflow.Wrap,\n\tdrilldownLevel: 3,\n\titems: currentMenuItems,\n\tuser: { name: 'Lucas Reichert', email: 'lucas.reichert@sulamerica.com.br' },\n\tprofileItems: hubProfileItems,\n};\nWithProfileMenu.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory:\n\t\t\t\t'Clique no usuário do rodapé para abrir o menu de perfil, que substitui o header da aplicação. Com o menu expandido, o popover abre acima do usuário, na largura do menu; recolhido, abre ao lado do rail. Fecha com clique fora, Esc ou novo clique no usuário. As opções vêm de profileItems (label, icon, hasSwitch, divider...): cliques emitem profileItemClicked e switches emitem profileSwitchChanged. Aqui a story aplica a classe .dark no documentElement quando o switch dark-mode muda. Para não abrir o popover e tratar o clique por conta própria, chame preventDefault() em profileClicked. Conteúdo extra pode ser passado com slot=\"profile-content\".',\n\t\t},\n\t},\n};\n\nexport const CustomProfileItems = Template.bind({});\nCustomProfileItems.args = {\n\tmenuTitle: 'Sula Hub',\n\tdensity: SulaMenuDensity.Default,\n\tlabelOverflow: SulaMenuLabelOverflow.Wrap,\n\tdrilldownLevel: 3,\n\titems: workbenchItems,\n\tuser: sampleUser,\n\tprofileItems: [\n\t\t{ id: 'profile', label: 'Meu perfil', icon: 'ph ph-identification-card' },\n\t\t{ id: 'notifications', label: 'Notificações', icon: 'ph ph-bell', hasSwitch: true, active: true },\n\t\t{ id: 'compact', label: 'Modo compacto', icon: 'ph ph-rows', hasSwitch: true, active: false },\n\t\t{ id: 'divider-help', divider: true },\n\t\t{ id: 'help', label: 'Central de ajuda', icon: 'ph ph-question' },\n\t\t{ id: 'billing', label: 'Faturamento', icon: 'ph ph-credit-card', disabled: true },\n\t\t{ id: 'divider-logout', divider: true },\n\t\t{ id: 'logout', label: 'Sair', icon: 'ph ph-sign-out' },\n\t],\n};\nCustomProfileItems.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory: 'Outra aplicação com opções próprias: dois switches, item desabilitado e dois divisores. Basta trocar profileItems.',\n\t\t},\n\t},\n};\n\nexport const InlineOnly = Template.bind({});\nInlineOnly.args = {\n\tmenuTitle: 'Sula Hub',\n\tdensity: SulaMenuDensity.Default,\n\tlabelOverflow: SulaMenuLabelOverflow.Wrap,\n\tdrilldownLevel: 99,\n\titems: workbenchItems,\n\tuser: sampleUser,\n};\nInlineOnly.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory: 'Com drilldownLevel acima da profundidade da árvore, o componente se comporta como o sula-menu, expandindo tudo em linha.',\n\t\t},\n\t},\n};\n\nconst createComparisonShell = () => {\n\tconst container = document.createElement('div');\n\tcontainer.style.margin = '20px';\n\tcontainer.style.padding = '24px';\n\tcontainer.style.background = '#eef2f2';\n\tcontainer.style.borderRadius = '24px';\n\tcontainer.style.boxSizing = 'border-box';\n\tcontainer.style.display = 'flex';\n\tcontainer.style.gap = '32px';\n\tcontainer.style.alignItems = 'flex-start';\n\treturn container;\n};\n\nconst createComparisonColumn = (title: string) => {\n\tconst column = document.createElement('div');\n\tconst caption = document.createElement('div');\n\tcaption.textContent = title;\n\tcaption.style.font = '600 13px sans-serif';\n\tcaption.style.color = '#6c6e6e';\n\tcaption.style.marginBottom = '12px';\n\tconst box = document.createElement('div');\n\tbox.style.height = '720px';\n\tbox.style.width = '350px';\n\tbox.style.display = 'flex';\n\tbox.style.background = '#ffffff';\n\tbox.style.border = '1px solid #e5e6e6';\n\tbox.style.borderRadius = '16px';\n\tbox.style.overflow = 'hidden';\n\tcolumn.appendChild(caption);\n\tcolumn.appendChild(box);\n\treturn { column, box };\n};\n\n// Fourth level under Tech Portal > Cadastros > Tribos. The current sula-menu stops at the third level,\n// so in it \"Tribos\" stays a leaf; in the new menu it opens the drill-down.\nconst withFourthLevel = (items: SulaWorkbenchMenuItem[]): SulaWorkbenchMenuItem[] =>\n\tcloneItems(items).map(item => {\n\t\tif (item.id !== 'tech-portal') return item;\n\t\treturn {\n\t\t\t...item,\n\t\t\texpanded: true,\n\t\t\tchildren: item.children!.map(child => {\n\t\t\t\tif (child.id !== 'tech-cadastros') return child;\n\t\t\t\treturn {\n\t\t\t\t\t...child,\n\t\t\t\t\texpanded: true,\n\t\t\t\t\tchildren: child.children!.map(grandchild =>\n\t\t\t\t\t\tgrandchild.id === 'tech-tribos'\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t...grandchild,\n\t\t\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\t\t{ id: 'tribo-saude', label: 'Tribo Saúde', icon: 'ph ph-heartbeat', selected: true },\n\t\t\t\t\t\t\t\t\t\t{ id: 'tribo-odonto', label: 'Tribo Odonto', icon: 'ph ph-tooth' },\n\t\t\t\t\t\t\t\t\t\t{ id: 'tribo-auto', label: 'Tribo Auto e Massificados', icon: 'ph ph-car' },\n\t\t\t\t\t\t\t\t\t\t{ id: 'tribo-dados', label: 'Tribo Dados e Analytics', icon: 'ph ph-chart-line-up' },\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: grandchild,\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t}),\n\t\t};\n\t});\n\nconst withoutSelection = (items: SulaWorkbenchMenuItem[]): SulaWorkbenchMenuItem[] =>\n\titems.map(item => ({ ...item, selected: false, children: item.children ? withoutSelection(item.children) : undefined }));\n\nconst clickMenuRow = (menu: HTMLElement, label: string) => {\n\tconst row = Array.from(menu.shadowRoot!.querySelectorAll<HTMLElement>('.menu-item, .submenu-item')).find(el => el.textContent?.trim() === label);\n\trow?.click();\n};\n\nconst renderComparison = (items: SulaWorkbenchMenuItem[], drillTo?: string) => {\n\tconst container = createComparisonShell();\n\n\tconst current = createComparisonColumn('sula-menu (atual)');\n\tconst currentMenu = document.createElement('sula-menu');\n\tcurrentMenu.menuTitle = 'Sula Hub';\n\tcurrentMenu.image = BRAND_IMAGE;\n\tcurrentMenu.items = cloneItems(items) as unknown as SulaMenuMainItem[];\n\tcurrent.box.appendChild(currentMenu);\n\n\tconst workbench = createComparisonColumn('sula-workbench-menu (novo)');\n\tconst workbenchMenu = document.createElement('sula-workbench-menu');\n\tworkbenchMenu.menuTitle = 'Sula Hub';\n\tworkbenchMenu.image = BRAND_IMAGE;\n\tworkbenchMenu.user = sampleUser;\n\tworkbenchMenu.items = cloneItems(items);\n\tworkbench.box.appendChild(workbenchMenu);\n\n\tif (drillTo) {\n\t\tcustomElements\n\t\t\t.whenDefined('sula-workbench-menu')\n\t\t\t.then(() => workbenchMenu.componentOnReady())\n\t\t\t.then(() => clickMenuRow(workbenchMenu, drillTo));\n\t}\n\n\tcontainer.appendChild(current.column);\n\tcontainer.appendChild(workbench.column);\n\treturn container;\n};\n\nexport const ComparisonWithCurrentSulaMenu = () => renderComparison(currentMenuItems);\nComparisonWithCurrentSulaMenu.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory:\n\t\t\t\t'Os mesmos itens do menu atual de produção, renderizados no sula-menu (atual) e no sula-workbench-menu (novo), lado a lado, para comparar espaçamento, ícones e hierarquia. O menu novo mostra o perfil do usuário no rodapé, que substitui o \"Ocultar menu\" (o recolher fica no topo).',\n\t\t},\n\t},\n};\n\nexport const ComparisonDrilldownFourthLevel = () => renderComparison(withFourthLevel(withoutSelection(currentMenuItems)), 'Tribos');\nComparisonDrilldownFourthLevel.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory:\n\t\t\t\t'Mesmos itens do menu atual com um quarto nível em Tech Portal > Cadastros > Tribos. No sula-menu (atual) a árvore para no terceiro nível e Tribos fica sem os filhos. No sula-workbench-menu (novo), Tribos abre o drill-down: breadcrumb com o caminho, botão de voltar e os itens do quarto nível em tela cheia.',\n\t\t},\n\t},\n};\n"]}
1
+ {"version":3,"file":"sula-workbench-menu.stories.js","sourceRoot":"","sources":["../../../src/components/sula-workbench-menu/sula-workbench-menu.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { SulaMenuDensity, SulaMenuLabelOverflow } from '../sula-menu/model/sula-menu.model';\nimport { SulaProfileMenuItem, SulaProfileMenuSwitchChange } from '../sula-profile-menu/model/sula-profile-menu.model';\nimport { SulaWorkbenchMenuItem, SulaWorkbenchMenuUser } from './model/sula-workbench-menu.model';\n\ntype StoryArgs = {\n\tmenuTitle: string;\n\timage?: string;\n\tdensity: SulaMenuDensity;\n\tlabelOverflow: SulaMenuLabelOverflow;\n\tdrillPath?: string[];\n\titems: SulaWorkbenchMenuItem[];\n\tuser: SulaWorkbenchMenuUser;\n\tprofileItems?: SulaProfileMenuItem[];\n\tprofileClicked: EventListener;\n\tprofileItemClicked: EventListener;\n\tprofileSwitchChanged: EventListener;\n\titemSelected: EventListener;\n\titemClicked: EventListener;\n\tlevelChanged: EventListener;\n\tmenuToggled: EventListener;\n};\n\nconst SHIELD_SVG = `data:image/svg+xml;utf8,${encodeURIComponent(`\n\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6c6e6e\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t<path d=\"M12 3l7 3v5c0 4.5-3 8.2-7 10-4-1.8-7-5.5-7-10V6l7-3z\"/>\n\t\t<path d=\"M9 12l2 2 4-4\"/>\n\t</svg>\n`)}`;\n\nconst CAR_SVG = `data:image/svg+xml;utf8,${encodeURIComponent(`\n\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6c6e6e\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t<path d=\"M4 16v-3.2L6 8h12l2 4.8V16\"/>\n\t\t<path d=\"M4 16h16v2.4a.8.8 0 0 1-.8.8h-1.4a.8.8 0 0 1-.8-.8V17H7v1.4a.8.8 0 0 1-.8.8H4.8a.8.8 0 0 1-.8-.8Z\"/>\n\t</svg>\n`)}`;\n\nconst workbenchItems: SulaWorkbenchMenuItem[] = [\n\t{ id: 'overview', label: 'Visão Geral', icon: 'ph ph-house-line' },\n\t{\n\t\tid: 'claims',\n\t\tlabel: 'Sinistros',\n\t\ticon: 'ph ph-warning-circle',\n\t\texpanded: true,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: 'claims-auto',\n\t\t\t\tlabel: 'Auto',\n\t\t\t\ticon: 'ph ph-car',\n\t\t\t\texpanded: true,\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'claims-auto-coverage',\n\t\t\t\t\t\tlabel: 'Cobertura',\n\t\t\t\t\t\ticon: 'ph ph-shield-check',\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'claims-auto-third',\n\t\t\t\t\t\t\t\tlabel: 'Terceiros',\n\t\t\t\t\t\t\t\ticon: 'ph ph-users-three',\n\t\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: 'claims-auto-third-docs',\n\t\t\t\t\t\t\t\t\t\tlabel: 'Documentação',\n\t\t\t\t\t\t\t\t\t\ticon: 'ph ph-folder-open',\n\t\t\t\t\t\t\t\t\t\tchildren: [{ id: 'claims-auto-third-address', label: 'Comprovante de residência', icon: 'ph ph-map-pin', selected: true }],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ id: 'claims-auto-own', label: 'Próprio', icon: 'ph ph-car-profile' },\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t\t{ id: 'claims-auto-glass', label: 'Vidros', icon: 'ph ph-wrench' },\n\t\t\t\t\t{ id: 'claims-auto-other', label: 'Outros (ícone padrão)' },\n\t\t\t\t],\n\t\t\t},\n\t\t\t{ id: 'claims-home', label: 'Residencial', icon: 'ph ph-house', children: [{ id: 'claims-home-fire', label: 'Incêndio', icon: 'ph ph-fire' }] },\n\t\t\t{ id: 'claims-vehicle', label: 'Veículos', icon: 'ph ph-car', image: CAR_SVG },\n\t\t\t{ id: 'claims-life', label: 'Vida', icon: 'ph ph-heartbeat' },\n\t\t],\n\t},\n\t{\n\t\tid: 'policies',\n\t\tlabel: 'Apólices',\n\t\ticon: 'ph ph-files',\n\t\timage: SHIELD_SVG,\n\t\tchildren: [\n\t\t\t{ id: 'policies-issued', label: 'Emitidas', icon: 'ph ph-file-text' },\n\t\t\t{ id: 'policies-review', label: 'Em análise', icon: 'ph ph-clipboard-text' },\n\t\t],\n\t},\n\t{ id: 'settings', label: 'Configurações', icon: 'ph ph-gear-six', children: [{ id: 'settings-users', label: 'Usuários', icon: 'ph ph-users-three' }] },\n];\n\nconst BRAND_IMAGE = `data:image/svg+xml;utf8,${encodeURIComponent(`\n\t<svg width=\"80\" height=\"80\" viewBox=\"0 0 80 80\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t<rect width=\"80\" height=\"80\" rx=\"20\" fill=\"#E5231B\"/>\n\t\t<path d=\"M52 24H35.5C31.3579 24 28 27.3579 28 31.5C28 35.6421 31.3579 39 35.5 39H44.5C48.6421 39 52 42.3579 52 46.5C52 50.6421 48.6421 54 44.5 54H28\" stroke=\"white\" stroke-width=\"8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n\t</svg>\n`)}`;\n\n// Same items as the menu in production today.\nconst currentMenuItems: SulaWorkbenchMenuItem[] = [\n\t{ id: 'dashboard', label: 'Dashboard', icon: 'ph ph-house', selected: true },\n\t{ id: 'exemplo', label: 'Exemplo menu', icon: 'ph ph-archive', children: [{ id: 'exemplo-usuarios', label: 'Usuários', icon: 'ph ph-user' }] },\n\t{ id: 'contas', label: 'Contas Médicas', icon: 'ph ph-align-right', children: [{ id: 'guias', label: 'Guias', icon: 'ph ph-align-center-horizontal-simple' }] },\n\t{\n\t\tid: 'ppa',\n\t\tlabel: 'PPA (Portal Plataforma Antifraude)',\n\t\ticon: 'ph ph-air-traffic-control',\n\t\tchildren: [\n\t\t\t{ id: 'ppa-prestadores', label: 'Prestadores', icon: 'ph ph-ambulance' },\n\t\t\t{ id: 'ppa-usuarios', label: 'Usuários', icon: 'ph ph-user' },\n\t\t\t{ id: 'ppa-prestadores-local', label: 'Prestadores-LOCAL', icon: 'ph ph-' },\n\t\t\t{ id: 'ppa-usuarios-local', label: 'Usuarios-LOCAL', icon: 'ph ph-' },\n\t\t\t{ id: 'ppa-prestadores-lilian', label: 'Prestadores Lilian', icon: 'ph ph-address-book' },\n\t\t],\n\t},\n\t{\n\t\tid: 'sula-audit',\n\t\tlabel: 'Sula Audit',\n\t\ticon: 'ph ph-airplane-in-flight',\n\t\tchildren: [\n\t\t\t{ id: 'audit-home', label: 'Home', icon: 'ph ph-house' },\n\t\t\t{ id: 'audit-prestadores', label: 'Prestadores auditados', icon: 'ph ph-airplay' },\n\t\t],\n\t},\n\t{\n\t\tid: 'dev-portal',\n\t\tlabel: 'Dev Portal',\n\t\ticon: 'ph ph-code-simple',\n\t\tchildren: [\n\t\t\t{ id: 'dev-devsecops', label: 'DevSecOps', icon: 'ph ph-chart-line' },\n\t\t\t{ id: 'dev-tech-radar', label: 'Tech Radar', icon: 'ph ph-target' },\n\t\t\t{ id: 'dev-portal-eda', label: 'Portal EDA', icon: 'ph ph-' },\n\t\t],\n\t},\n\t{\n\t\tid: 'sula-os',\n\t\tlabel: 'Sula OS',\n\t\ticon: 'ph ph-browsers',\n\t\tchildren: [\n\t\t\t{ id: 'os-dashboard', label: 'Dashboard', icon: 'ph ph-gauge' },\n\t\t\t{ id: 'os-canvas', label: 'Canvas', icon: 'ph ph-frame-corners' },\n\t\t],\n\t},\n\t{\n\t\tid: 'tech-portal',\n\t\tlabel: 'Tech Portal',\n\t\ticon: 'ph ph-address-book',\n\t\tchildren: [\n\t\t\t{ id: 'tech-home', label: 'Home', icon: 'ph ph-users-four' },\n\t\t\t{ id: 'tech-busca', label: 'Busca', icon: 'ph ph-user-circle-gear' },\n\t\t\t{ id: 'tech-perfil', label: 'Meu perfil', icon: 'ph ph-user-circle' },\n\t\t\t{\n\t\t\t\tid: 'tech-cadastros',\n\t\t\t\tlabel: 'Cadastros',\n\t\t\t\ticon: 'ph ph-table',\n\t\t\t\tchildren: [\n\t\t\t\t\t{ id: 'tech-empresas', label: 'Empresas terceiras', icon: 'ph ph-' },\n\t\t\t\t\t{ id: 'tech-tribos', label: 'Tribos', icon: 'ph ph-' },\n\t\t\t\t\t{ id: 'tech-capitulos', label: 'Capítulos/Jornadas', icon: 'ph ph-' },\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tid: 'configuracoes',\n\t\tlabel: 'Configurações',\n\t\ticon: 'ph ph-gear',\n\t\tchildren: [\n\t\t\t{ id: 'conf-menus', label: 'Menus', icon: 'ph ph-layout' },\n\t\t\t{ id: 'conf-usuarios', label: 'Usuários', icon: 'ph ph-users' },\n\t\t\t{ id: 'conf-tenant', label: 'Tenant', icon: 'ph ph-building' },\n\t\t\t{ id: 'conf-chaves', label: 'Chaves de APIs', icon: 'ph ph-key' },\n\t\t\t{\n\t\t\t\tid: 'conf-permissoes',\n\t\t\t\tlabel: 'Permissões',\n\t\t\t\ticon: 'ph ph-lock',\n\t\t\t\tchildren: [\n\t\t\t\t\t{ id: 'perm-papeis', label: 'Papéis', icon: 'ph ph-' },\n\t\t\t\t\t{ id: 'perm-recursos', label: 'Recursos', icon: 'ph ph-' },\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n];\n\nconst sampleUser: SulaWorkbenchMenuUser = { name: 'Ana Ribeiro', email: 'ana.ribeiro@sula.com.br' };\n\nconst hubProfileItems: SulaProfileMenuItem[] = [\n\t{ id: 'account', label: 'Minha conta', icon: 'ph ph-user-circle' },\n\t{ id: 'dark-mode', label: 'Modo escuro', icon: 'ph ph-moon', hasSwitch: true, active: false },\n\t{ id: 'divider-logout', divider: true },\n\t{ id: 'logout', label: 'Sair', icon: 'ph ph-sign-out' },\n];\n\nconst cloneItems = (items: SulaWorkbenchMenuItem[]): SulaWorkbenchMenuItem[] =>\n\titems.map(item => ({ ...item, children: item.children ? cloneItems(item.children) : undefined }));\n\nconst createStoryShell = () => {\n\tconst container = document.createElement('div');\n\tcontainer.style.margin = '20px';\n\tcontainer.style.padding = '24px';\n\tcontainer.style.background = 'linear-gradient(180deg, #f8f9f9 0%, #eef2f2 100%)';\n\tcontainer.style.borderRadius = '24px';\n\tcontainer.style.boxSizing = 'border-box';\n\n\tconst shell = document.createElement('div');\n\tshell.style.display = 'flex';\n\tshell.style.width = '960px';\n\tshell.style.maxWidth = '100%';\n\tshell.style.height = '720px';\n\tshell.style.borderRadius = '24px';\n\tshell.style.background = '#ffffff';\n\tshell.style.border = '1px solid #dfe5e5';\n\tshell.style.boxShadow = '0 20px 48px rgba(15, 23, 42, 0.08)';\n\n\tconst contentPanel = document.createElement('div');\n\tcontentPanel.style.flex = '1';\n\tcontentPanel.style.padding = '40px';\n\tcontentPanel.style.borderRadius = '0 24px 24px 0';\n\tcontentPanel.style.color = '#6c6e6e';\n\tcontentPanel.style.fontSize = '14px';\n\tcontentPanel.textContent = 'Área de conteúdo. Até 3 níveis o menu expande em linha; se algum item chega ao 4º nível, toda a navegação vira drill-down com breadcrumb.';\n\n\tshell.appendChild(contentPanel);\n\tcontainer.appendChild(shell);\n\treturn { container, shell };\n};\n\nexport default {\n\ttitle: 'Components/sula-workbench-menu',\n\ttags: ['autodocs'],\n\targTypes: {\n\t\tmenuTitle: { control: 'text', defaultValue: 'Sula Hub', description: 'Título do menu.' },\n\t\timage: { control: 'text', description: 'Imagem da marca no cabeçalho da raiz (URL ou data URI).' },\n\t\tdensity: {\n\t\t\tcontrol: { type: 'select' },\n\t\t\toptions: Object.values(SulaMenuDensity),\n\t\t\tdescription: 'Densidade visual dos itens.',\n\t\t},\n\t\tlabelOverflow: {\n\t\t\tcontrol: { type: 'select' },\n\t\t\toptions: Object.values(SulaMenuLabelOverflow),\n\t\t\tdescription: 'Quebra ou ellipsis dos labels.',\n\t\t},\n\t\tdrillPath: {\n\t\t\tcontrol: 'object',\n\t\t\tdescription: 'Controla a navegação pelo host: ids da raiz até o item cujos filhos aparecem. No drill-down, array vazio volta à raiz; no modo em linha, os itens do caminho são expandidos. undefined deixa só os cliques navegarem.',\n\t\t},\n\t\titems: { control: 'object', description: 'Árvore de itens, recursiva.' },\n\t\titemSelected: { action: 'itemSelected', description: 'Emitido ao selecionar um item folha.' },\n\t\titemClicked: { action: 'itemClicked', description: 'Emitido a cada clique em um item.' },\n\t\tlevelChanged: { action: 'levelChanged', description: 'Emitido ao entrar ou voltar de nível no drill-down.' },\n\t\tuser: { control: 'object', description: 'Usuário logado exibido no rodapé: name (obrigatório), email e photo (URL ou data URI). Sem photo, mostra as iniciais.' },\n\t\tprofileClicked: { action: 'profileClicked', description: 'Emitido ao clicar na área do usuário. Abre o menu de perfil, a menos que o evento seja cancelado com preventDefault().' },\n\t\tprofileItems: { control: 'object', description: 'Opções do menu de perfil: id, label, icon, hasSwitch + active, divider, disabled, hidden.' },\n\t\tprofileItemClicked: { action: 'profileItemClicked', description: 'Emitido ao clicar em uma opção sem switch do menu de perfil. O popover fecha.' },\n\t\tprofileSwitchChanged: { action: 'profileSwitchChanged', description: 'Emitido ao alternar o switch de uma opção, com { item, active }. O popover continua aberto.' },\n\t\tmenuToggled: { action: 'menuToggled', description: 'Emitido ao colapsar ou expandir o menu.' },\n\t},\n\tparameters: {\n\t\tdocs: {\n\t\t\tdescription: {\n\t\t\t\tcomponent:\n\t\t\t\t\t'Menu de navegação com dois modos, escolhidos pela profundidade dos items: com até 3 níveis, tudo expande em linha como no sula-menu; se algum item visível chega ao 4º nível, toda a navegação vira drill-down, e itens com filhos abrem um painel de um nível com breadcrumb e botão de voltar.',\n\t\t\t},\n\t\t},\n\t},\n};\n\nconst Template: any = (args: StoryArgs) => {\n\tconst { container, shell } = createStoryShell();\n\tconst el = document.createElement('sula-workbench-menu');\n\n\tel.menuTitle = args.menuTitle;\n\tel.image = args.image ?? '';\n\tel.density = args.density;\n\tel.labelOverflow = args.labelOverflow;\n\tel.drillPath = args.drillPath;\n\tel.items = cloneItems(args.items);\n\tel.user = args.user;\n\tel.profileItems = (args.profileItems ?? hubProfileItems).map(item => ({ ...item }));\n\n\tel.addEventListener('itemSelected', args.itemSelected);\n\tel.addEventListener('itemClicked', args.itemClicked);\n\tel.addEventListener('levelChanged', args.levelChanged);\n\tel.addEventListener('menuToggled', args.menuToggled);\n\tel.addEventListener('profileClicked', args.profileClicked);\n\tel.addEventListener('profileItemClicked', args.profileItemClicked);\n\tel.addEventListener('profileSwitchChanged', args.profileSwitchChanged);\n\n\tshell.prepend(el);\n\treturn container;\n};\n\nexport const Default = Template.bind({});\nDefault.args = {\n\tmenuTitle: 'Sula Hub',\n\tdensity: SulaMenuDensity.Default,\n\tlabelOverflow: SulaMenuLabelOverflow.Wrap,\n\titems: workbenchItems,\n\tuser: sampleUser,\n};\nDefault.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory:\n\t\t\t\t'Exemplo com 6 níveis reais: como passa de 3 níveis, toda a navegação é drill-down, a partir da raiz. \"Apólices\" e \"Veículos\" usam um SVG no lugar do ícone de fonte (propriedade image do item). O rodapé mostra o usuário logado; clicar nele emite profileClicked.',\n\t\t},\n\t},\n};\n\nexport const WithoutPhotoOrEmail = Template.bind({});\nWithoutPhotoOrEmail.args = {\n\tmenuTitle: 'Sula Hub',\n\tdensity: SulaMenuDensity.Default,\n\tlabelOverflow: SulaMenuLabelOverflow.Wrap,\n\titems: workbenchItems,\n\tuser: { name: 'Carlos Mendes' },\n};\nWithoutPhotoOrEmail.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory: 'Usuário sem foto nem e-mail: o avatar mostra as iniciais e o nome aparece sozinho.',\n\t\t},\n\t},\n};\n\nexport const WithProfileMenu = (args: StoryArgs) => {\n\tconst container = Template(args);\n\tconst menu = container.querySelector('sula-workbench-menu');\n\t// Example of the host application applying the theme chosen in the profile popover.\n\tmenu.addEventListener('profileSwitchChanged', (event: CustomEvent<SulaProfileMenuSwitchChange>) => {\n\t\tif (event.detail.item.id === 'dark-mode') document.documentElement.classList.toggle('dark', event.detail.active);\n\t});\n\treturn container;\n};\nWithProfileMenu.args = {\n\tmenuTitle: 'Sula Hub',\n\tdensity: SulaMenuDensity.Default,\n\tlabelOverflow: SulaMenuLabelOverflow.Wrap,\n\titems: currentMenuItems,\n\tuser: { name: 'Lucas Reichert', email: 'lucas.reichert@sulamerica.com.br' },\n\tprofileItems: hubProfileItems,\n};\nWithProfileMenu.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory:\n\t\t\t\t'Clique no usuário do rodapé para abrir o menu de perfil, que substitui o header da aplicação. Com o menu expandido, o popover abre acima do usuário, na largura do menu; recolhido, abre ao lado do rail. Fecha com clique fora, Esc ou novo clique no usuário. As opções vêm de profileItems (label, icon, hasSwitch, divider...): cliques emitem profileItemClicked e switches emitem profileSwitchChanged. Aqui a story aplica a classe .dark no documentElement quando o switch dark-mode muda. Para não abrir o popover e tratar o clique por conta própria, chame preventDefault() em profileClicked. Conteúdo extra pode ser passado com slot=\"profile-content\".',\n\t\t},\n\t},\n};\n\nexport const CustomProfileItems = Template.bind({});\nCustomProfileItems.args = {\n\tmenuTitle: 'Sula Hub',\n\tdensity: SulaMenuDensity.Default,\n\tlabelOverflow: SulaMenuLabelOverflow.Wrap,\n\titems: workbenchItems,\n\tuser: sampleUser,\n\tprofileItems: [\n\t\t{ id: 'profile', label: 'Meu perfil', icon: 'ph ph-identification-card' },\n\t\t{ id: 'notifications', label: 'Notificações', icon: 'ph ph-bell', hasSwitch: true, active: true },\n\t\t{ id: 'compact', label: 'Modo compacto', icon: 'ph ph-rows', hasSwitch: true, active: false },\n\t\t{ id: 'divider-help', divider: true },\n\t\t{ id: 'help', label: 'Central de ajuda', icon: 'ph ph-question' },\n\t\t{ id: 'billing', label: 'Faturamento', icon: 'ph ph-credit-card', disabled: true },\n\t\t{ id: 'divider-logout', divider: true },\n\t\t{ id: 'logout', label: 'Sair', icon: 'ph ph-sign-out' },\n\t],\n};\nCustomProfileItems.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory: 'Outra aplicação com opções próprias: dois switches, item desabilitado e dois divisores. Basta trocar profileItems.',\n\t\t},\n\t},\n};\n\nexport const ControlledDrillPath = (args: StoryArgs) => {\n\tconst container = Template(args);\n\tconst menu = container.querySelector('sula-workbench-menu');\n\tconst paths: Record<string, string[]> = {\n\t\tTree: [],\n\t\tSinistros: ['claims'],\n\t\t'Cobertura': ['claims', 'claims-auto', 'claims-auto-coverage'],\n\t\t'Terceiros': ['claims', 'claims-auto', 'claims-auto-coverage', 'claims-auto-third'],\n\t};\n\n\tconst toolbar = document.createElement('div');\n\ttoolbar.style.cssText = 'display:flex;gap:8px;margin:20px 20px 0';\n\tObject.entries(paths).forEach(([label, path]) => {\n\t\tconst button = document.createElement('sula-button');\n\t\tbutton.text = label;\n\t\tbutton.addEventListener('click', () => (menu.drillPath = path));\n\t\ttoolbar.appendChild(button);\n\t});\n\n\tconst wrapper = document.createElement('div');\n\twrapper.append(toolbar, container);\n\treturn wrapper;\n};\nControlledDrillPath.args = {\n\tmenuTitle: 'Sula Hub',\n\tdensity: SulaMenuDensity.Default,\n\tlabelOverflow: SulaMenuLabelOverflow.Wrap,\n\titems: workbenchItems,\n\tuser: sampleUser,\n};\nControlledDrillPath.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory: 'O host controla o drill-down pela propriedade drillPath: os botões acima entram em Sinistros, em Cobertura, em Terceiros ou voltam para a raiz. Ids desconhecidos interrompem o caminho no último nível válido.',\n\t\t},\n\t},\n};\n\nexport const InlineOnly = Template.bind({});\nInlineOnly.args = {\n\tmenuTitle: 'Sula Hub',\n\tdensity: SulaMenuDensity.Default,\n\tlabelOverflow: SulaMenuLabelOverflow.Wrap,\n\titems: currentMenuItems,\n\tuser: sampleUser,\n};\nInlineOnly.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory: 'Com no máximo 3 níveis, não há drill-down: o componente se comporta como o sula-menu, expandindo tudo em linha.',\n\t\t},\n\t},\n};\n\nexport const InlineWithExpandedPath = Template.bind({});\nInlineWithExpandedPath.args = {\n\tmenuTitle: 'Sula Hub',\n\tdensity: SulaMenuDensity.Default,\n\tlabelOverflow: SulaMenuLabelOverflow.Wrap,\n\titems: currentMenuItems,\n\tdrillPath: ['tech-portal', 'tech-cadastros'],\n\tuser: sampleUser,\n};\nInlineWithExpandedPath.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory: 'Sem drill-down, drillPath expande em linha os itens do caminho (Tech Portal e Cadastros) uma única vez; o usuário pode recolhê-los depois.',\n\t\t},\n\t},\n};\n\nexport const FourthLevelBreadcrumb = Template.bind({});\nFourthLevelBreadcrumb.args = {\n\tmenuTitle: 'Sula Hub',\n\tdensity: SulaMenuDensity.Default,\n\tlabelOverflow: SulaMenuLabelOverflow.Wrap,\n\titems: workbenchItems,\n\tdrillPath: ['claims', 'claims-auto', 'claims-auto-coverage', 'claims-auto-third'],\n\tuser: sampleUser,\n};\nFourthLevelBreadcrumb.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory:\n\t\t\t\t'Drill-down no quarto nível: duas faixas de camadas na borda esquerda, breadcrumb com o nome do menu, reticências (o dropdown lista os níveis ocultos) e os dois últimos ancestrais, e o título do nível atual.',\n\t\t},\n\t},\n};\n\nexport const WithBrandImage = Template.bind({});\nWithBrandImage.args = {\n\tmenuTitle: 'Sula Hub',\n\timage: BRAND_IMAGE,\n\tdensity: SulaMenuDensity.Default,\n\tlabelOverflow: SulaMenuLabelOverflow.Wrap,\n\titems: currentMenuItems,\n\tuser: sampleUser,\n};\nWithBrandImage.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory: 'Imagem da marca ao lado do título no cabeçalho da raiz. No drill-down o cabeçalho segue o protótipo e não mostra a imagem.',\n\t\t},\n\t},\n};\n\nconst longLabelItems: SulaWorkbenchMenuItem[] = [\n\t{ id: 'inicio', label: 'Início', icon: 'ph ph-house' },\n\t{\n\t\tid: 'long-root',\n\t\tlabel: 'Plataforma de Gestão Integrada de Sinistros e Apólices',\n\t\ticon: 'ph ph-buildings',\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: 'long-contracts',\n\t\t\t\tlabel: 'Administração de Contratos Corporativos de Longa Duração',\n\t\t\t\ticon: 'ph ph-briefcase',\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'long-coverage',\n\t\t\t\t\t\tlabel: 'Coberturas Adicionais para Terceiros e Beneficiários',\n\t\t\t\t\t\ticon: 'ph ph-shield-check',\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'long-docs',\n\t\t\t\t\t\t\t\tlabel: 'Documentação Complementar Exigida pela Seguradora',\n\t\t\t\t\t\t\t\ticon: 'ph ph-folder-open',\n\t\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\t{ id: 'long-address', label: 'Comprovante de residência atualizado nos últimos noventa dias', icon: 'ph ph-map-pin' },\n\t\t\t\t\t\t\t\t\t{ id: 'long-short', label: 'Curto', icon: 'ph ph-file' },\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n];\n\nconst longLabelPath = ['long-root', 'long-contracts', 'long-coverage', 'long-docs'];\n\nexport const LongLabels = Template.bind({});\nLongLabels.args = {\n\tmenuTitle: 'Sula Hub',\n\tdensity: SulaMenuDensity.Default,\n\tlabelOverflow: SulaMenuLabelOverflow.Wrap,\n\titems: longLabelItems,\n\tdrillPath: longLabelPath,\n\tuser: { name: 'Maria Fernanda Albuquerque de Souza', email: 'maria.fernanda.albuquerque.de.souza@sulamerica.com.br' },\n};\nLongLabels.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory:\n\t\t\t\t'Textos longos no drill-down: o título do nível quebra em até duas linhas, os itens quebram em até duas linhas (a seta fica na primeira), o breadcrumb encolhe com reticências e o rodapé corta nome e e-mail.',\n\t\t},\n\t},\n};\n\nexport const LongLabelsTruncate = Template.bind({});\nLongLabelsTruncate.args = {\n\t...LongLabels.args,\n\tlabelOverflow: SulaMenuLabelOverflow.Truncate,\n};\nLongLabelsTruncate.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory: 'Os mesmos textos longos com labelOverflow=\"truncate\": os itens ficam em uma linha, com reticências.',\n\t\t},\n\t},\n};\n\nexport const CompactDensity = Template.bind({});\nCompactDensity.args = {\n\tmenuTitle: 'Sula Hub',\n\tdensity: SulaMenuDensity.Compact,\n\tlabelOverflow: SulaMenuLabelOverflow.Wrap,\n\titems: currentMenuItems,\n\tuser: sampleUser,\n};\nCompactDensity.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory: 'Densidade compacta: itens da raiz com menos espaço vertical.',\n\t\t},\n\t},\n};\n\nexport const ComfortableDensity = Template.bind({});\nComfortableDensity.args = {\n\tmenuTitle: 'Sula Hub',\n\tdensity: SulaMenuDensity.Comfortable,\n\tlabelOverflow: SulaMenuLabelOverflow.Wrap,\n\titems: currentMenuItems,\n\tuser: sampleUser,\n};\nComfortableDensity.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory: 'Densidade confortável: itens da raiz maiores e com mais espaço.',\n\t\t},\n\t},\n};\n\nexport const HiddenAndDisabledItems = Template.bind({});\nHiddenAndDisabledItems.args = {\n\tmenuTitle: 'Sula Hub',\n\tdensity: SulaMenuDensity.Default,\n\tlabelOverflow: SulaMenuLabelOverflow.Wrap,\n\titems: [\n\t\t{ id: 'home', label: 'Início', icon: 'ph ph-house', selected: true },\n\t\t{ id: 'reports', label: 'Relatórios', icon: 'ph ph-chart-bar', disabled: true },\n\t\t{ id: 'secret', label: 'Oculto', icon: 'ph ph-eye-slash', hidden: true },\n\t\t{\n\t\t\tid: 'admin',\n\t\t\tlabel: 'Administração',\n\t\t\ticon: 'ph ph-gear',\n\t\t\tchildren: [\n\t\t\t\t{ id: 'admin-users', label: 'Usuários', icon: 'ph ph-users' },\n\t\t\t\t{ id: 'admin-audit', label: 'Auditoria', icon: 'ph ph-clipboard-text', disabled: true },\n\t\t\t\t{ id: 'admin-hidden', label: 'Oculto', icon: 'ph ph-eye-slash', hidden: true },\n\t\t\t],\n\t\t},\n\t],\n\tuser: sampleUser,\n};\nHiddenAndDisabledItems.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory: 'Itens hidden não aparecem (nem contam para a profundidade) e itens disabled ficam esmaecidos e não respondem a cliques.',\n\t\t},\n\t},\n};\n\nexport const WithoutUser = Template.bind({});\nWithoutUser.args = {\n\tmenuTitle: 'Sula Hub',\n\tdensity: SulaMenuDensity.Default,\n\tlabelOverflow: SulaMenuLabelOverflow.Wrap,\n\titems: workbenchItems,\n\tuser: undefined,\n};\nWithoutUser.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory: 'Sem a propriedade user o rodapé e o menu de perfil não são renderizados.',\n\t\t},\n\t},\n};\n\n"]}