@sula-tech/webcomponents 0.18.0 → 0.19.1

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 (90) hide show
  1. package/dist/cjs/index.cjs.js +11 -0
  2. package/dist/cjs/index.cjs.js.map +1 -1
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/sula-avatar_31.cjs.entry.js +56 -29
  5. package/dist/cjs/sula-avatar_31.cjs.entry.js.map +1 -1
  6. package/dist/cjs/webcomponents.cjs.js +1 -1
  7. package/dist/collection/components/sula-avatar/sula-avatar.css +1 -1
  8. package/dist/collection/components/sula-button/sula-button.css +1 -1
  9. package/dist/collection/components/sula-icon/sula-icon.css +1 -1
  10. package/dist/collection/components/sula-loader/sula-loader.css +1 -1
  11. package/dist/collection/components/sula-menu/model/sula-menu.model.js +11 -1
  12. package/dist/collection/components/sula-menu/model/sula-menu.model.js.map +1 -1
  13. package/dist/collection/components/sula-menu/sula-menu.css +1 -1
  14. package/dist/collection/components/sula-menu/sula-menu.js +124 -9
  15. package/dist/collection/components/sula-menu/sula-menu.js.map +1 -1
  16. package/dist/collection/components/sula-menu/sula-menu.stories.js +94 -1
  17. package/dist/collection/components/sula-menu/sula-menu.stories.js.map +1 -1
  18. package/dist/collection/components/sula-modal/sula-modal.css +1 -1
  19. package/dist/collection/components/sula-modal/sula-modal.js +12 -14
  20. package/dist/collection/components/sula-modal/sula-modal.js.map +1 -1
  21. package/dist/collection/index.js +10 -1
  22. package/dist/collection/index.js.map +1 -1
  23. package/dist/components/index.js +15 -1640
  24. package/dist/components/index.js.map +1 -1
  25. package/dist/components/{p-BmmVNrHj.js → p-BddXO6fP.js} +4 -4
  26. package/dist/components/{p-BmmVNrHj.js.map → p-BddXO6fP.js.map} +1 -1
  27. package/dist/components/{p-C5KdnXMt.js → p-CnGkvX5w.js} +4 -4
  28. package/dist/components/{p-C5KdnXMt.js.map → p-CnGkvX5w.js.map} +1 -1
  29. package/dist/components/{p-Dw0d4f_W.js → p-CnjVJ_xQ.js} +6 -6
  30. package/dist/components/{p-Dw0d4f_W.js.map → p-CnjVJ_xQ.js.map} +1 -1
  31. package/dist/components/p-Cy4ZswbA.js +1643 -0
  32. package/dist/components/p-Cy4ZswbA.js.map +1 -0
  33. package/dist/components/{p-DLb0tgPZ.js → p-DE4pFpiq.js} +4 -4
  34. package/dist/components/{p-DLb0tgPZ.js.map → p-DE4pFpiq.js.map} +1 -1
  35. package/dist/components/{p-KKlHc24i.js → p-DoTL1gHf.js} +5 -5
  36. package/dist/components/{p-KKlHc24i.js.map → p-DoTL1gHf.js.map} +1 -1
  37. package/dist/components/{p-CfgBBJOb.js → p-f7rEWsEo.js} +4 -4
  38. package/dist/components/{p-CfgBBJOb.js.map → p-f7rEWsEo.js.map} +1 -1
  39. package/dist/components/sula-avatar.js +3 -3
  40. package/dist/components/sula-badge.js +2 -2
  41. package/dist/components/sula-breadcrumb.js +2 -2
  42. package/dist/components/sula-button.js +1 -1
  43. package/dist/components/sula-checkbox.js +2 -2
  44. package/dist/components/sula-chip.js +3 -3
  45. package/dist/components/sula-dropdown.js +1 -1
  46. package/dist/components/sula-icon-picker.js +5 -5
  47. package/dist/components/sula-icon.js +1 -1
  48. package/dist/components/sula-loader.js +1 -1
  49. package/dist/components/sula-menu-select-list.js +1 -1
  50. package/dist/components/sula-menu.js +44 -12
  51. package/dist/components/sula-menu.js.map +1 -1
  52. package/dist/components/sula-modal.js +17 -19
  53. package/dist/components/sula-modal.js.map +1 -1
  54. package/dist/components/sula-progress-bar.js +2 -2
  55. package/dist/components/sula-radio-button.js +1 -1
  56. package/dist/components/sula-search-bar.js +1 -1
  57. package/dist/components/sula-segmented-control.js +2 -2
  58. package/dist/components/sula-switch.js +1 -1
  59. package/dist/components/sula-table-body.js +1 -1
  60. package/dist/components/sula-table-cell.js +1 -1
  61. package/dist/components/sula-table-head-cell.js +1 -1
  62. package/dist/components/sula-table-header.js +1 -1
  63. package/dist/components/sula-table-row.js +1 -1
  64. package/dist/components/sula-table.js +1 -1
  65. package/dist/components/sula-tag.js +2 -2
  66. package/dist/components/sula-textarea.js +1 -1
  67. package/dist/components/sula-textfield.js +2 -2
  68. package/dist/components/sula-tiles.js +2 -2
  69. package/dist/components/sula-timeline-list.js +2 -2
  70. package/dist/components/sula-toggle.js +2 -2
  71. package/dist/components/sula-tooltip.js +2 -2
  72. package/dist/esm/index.js +12 -0
  73. package/dist/esm/index.js.map +1 -1
  74. package/dist/esm/loader.js +1 -1
  75. package/dist/esm/sula-avatar_31.entry.js +56 -29
  76. package/dist/esm/sula-avatar_31.entry.js.map +1 -1
  77. package/dist/esm/webcomponents.js +1 -1
  78. package/dist/types/components/sula-menu/model/sula-menu.model.d.ts +9 -0
  79. package/dist/types/components/sula-menu/sula-menu.d.ts +31 -1
  80. package/dist/types/components/sula-menu/sula-menu.stories.d.ts +42 -1
  81. package/dist/types/components/sula-modal/sula-modal.d.ts +1 -0
  82. package/dist/types/components.d.ts +68 -2
  83. package/dist/types/index.d.ts +1 -0
  84. package/dist/webcomponents/index.esm.js +16 -1
  85. package/dist/webcomponents/index.esm.js.map +1 -1
  86. package/dist/webcomponents/{p-9244229f.entry.js → p-b5c2f1e3.entry.js} +68 -38
  87. package/dist/webcomponents/p-b5c2f1e3.entry.js.map +1 -0
  88. package/dist/webcomponents/webcomponents.esm.js +8 -5
  89. package/package.json +1 -1
  90. package/dist/webcomponents/p-9244229f.entry.js.map +0 -1
@@ -1,3 +1,4 @@
1
+ import { SulaMenuDensity, SulaMenuLabelOverflow } from "./model/sula-menu.model";
1
2
  const BRAND_IMAGE = `data:image/svg+xml;utf8,${encodeURIComponent(`
2
3
  <svg width="80" height="80" viewBox="0 0 80 80" fill="none" xmlns="http://www.w3.org/2000/svg">
3
4
  <rect width="80" height="80" rx="20" fill="#E5231B"/>
@@ -292,6 +293,32 @@ export default {
292
293
  required: false,
293
294
  },
294
295
  },
296
+ width: {
297
+ control: 'text',
298
+ defaultValue: '',
299
+ description: 'Largura do menu expandido. Use medidas independentes do host, como 320px, 20rem ou clamp(16rem, 25vw, 24rem).',
300
+ type: {
301
+ required: false,
302
+ },
303
+ },
304
+ density: {
305
+ control: { type: 'select' },
306
+ options: Object.values(SulaMenuDensity),
307
+ description: 'Define a densidade visual e tipografica dos itens principais.',
308
+ table: {
309
+ type: { summary: 'SulaMenuDensity' },
310
+ defaultValue: { summary: 'SulaMenuDensity.Default' },
311
+ },
312
+ },
313
+ labelOverflow: {
314
+ control: { type: 'select' },
315
+ options: Object.values(SulaMenuLabelOverflow),
316
+ description: 'Define se labels longos quebram em ate duas linhas ou usam ellipsis.',
317
+ table: {
318
+ type: { summary: 'SulaMenuLabelOverflow' },
319
+ defaultValue: { summary: 'SulaMenuLabelOverflow.Wrap' },
320
+ },
321
+ },
295
322
  items: {
296
323
  control: 'object',
297
324
  defaultValue: defaultItems,
@@ -326,6 +353,9 @@ const Template = (args) => {
326
353
  const el = document.createElement('sula-menu');
327
354
  el.menuTitle = args.menuTitle;
328
355
  el.image = args.image;
356
+ el.width = args.width;
357
+ el.density = args.density;
358
+ el.labelOverflow = args.labelOverflow;
329
359
  el.items = cloneMenuItems(args.items);
330
360
  el.addEventListener('itemSelected', args.itemSelected);
331
361
  el.addEventListener('itemClicked', args.itemClicked);
@@ -337,6 +367,9 @@ export const Default = Template.bind({});
337
367
  Default.args = {
338
368
  menuTitle: 'Sula Hub',
339
369
  image: BRAND_IMAGE,
370
+ width: '',
371
+ density: SulaMenuDensity.Default,
372
+ labelOverflow: SulaMenuLabelOverflow.Wrap,
340
373
  items: defaultItems,
341
374
  };
342
375
  Default.parameters = {
@@ -350,6 +383,9 @@ export const WithNestedNavigation = Template.bind({});
350
383
  WithNestedNavigation.args = {
351
384
  menuTitle: 'Sula OS',
352
385
  image: BRAND_IMAGE,
386
+ width: '',
387
+ density: SulaMenuDensity.Default,
388
+ labelOverflow: SulaMenuLabelOverflow.Wrap,
353
389
  items: nestedItems,
354
390
  };
355
391
  WithNestedNavigation.parameters = {
@@ -363,12 +399,63 @@ export const WithLongLabels = Template.bind({});
363
399
  WithLongLabels.args = {
364
400
  menuTitle: 'Governanca',
365
401
  image: BRAND_IMAGE,
402
+ width: '',
403
+ density: SulaMenuDensity.Default,
404
+ labelOverflow: SulaMenuLabelOverflow.Wrap,
366
405
  items: longLabelItems,
367
406
  };
368
407
  WithLongLabels.parameters = {
369
408
  docs: {
370
409
  description: {
371
- story: 'Cenario voltado para validacao visual de truncamento e alinhamento quando itens e subitens possuem labels extensas.',
410
+ story: 'Cenario padrao para labels extensos, com tipografia de 14px e quebra em ate duas linhas nos itens principais.',
411
+ },
412
+ },
413
+ };
414
+ export const WithTruncatedLongLabels = Template.bind({});
415
+ WithTruncatedLongLabels.args = {
416
+ menuTitle: 'Governanca',
417
+ image: BRAND_IMAGE,
418
+ width: '',
419
+ density: SulaMenuDensity.Default,
420
+ labelOverflow: SulaMenuLabelOverflow.Truncate,
421
+ items: longLabelItems,
422
+ };
423
+ WithTruncatedLongLabels.parameters = {
424
+ docs: {
425
+ description: {
426
+ story: 'Alternativa explicita com ellipsis para produtos que precisam manter todos os itens principais em uma unica linha.',
427
+ },
428
+ },
429
+ };
430
+ export const WithLongLabelsCustomLayout = Template.bind({});
431
+ WithLongLabelsCustomLayout.args = {
432
+ menuTitle: 'Governanca',
433
+ image: BRAND_IMAGE,
434
+ width: '320px',
435
+ density: SulaMenuDensity.Compact,
436
+ labelOverflow: SulaMenuLabelOverflow.Wrap,
437
+ items: longLabelItems,
438
+ };
439
+ WithLongLabelsCustomLayout.parameters = {
440
+ docs: {
441
+ description: {
442
+ story: 'Cenario para muitos labels longos: combina largura de 320px, densidade compacta e quebra em ate duas linhas por meio da API oficial.',
443
+ },
444
+ },
445
+ };
446
+ export const WithComfortableDensity = Template.bind({});
447
+ WithComfortableDensity.args = {
448
+ menuTitle: 'Governanca',
449
+ image: BRAND_IMAGE,
450
+ width: '320px',
451
+ density: SulaMenuDensity.Comfortable,
452
+ labelOverflow: SulaMenuLabelOverflow.Wrap,
453
+ items: longLabelItems,
454
+ };
455
+ WithComfortableDensity.parameters = {
456
+ docs: {
457
+ description: {
458
+ story: 'Variante com maior area de toque e tipografia de 16px para contextos que priorizam conforto de leitura.',
372
459
  },
373
460
  },
374
461
  };
@@ -376,6 +463,9 @@ export const WithHiddenItems = Template.bind({});
376
463
  WithHiddenItems.args = {
377
464
  menuTitle: 'Administracao',
378
465
  image: BRAND_IMAGE,
466
+ width: '',
467
+ density: SulaMenuDensity.Default,
468
+ labelOverflow: SulaMenuLabelOverflow.Wrap,
379
469
  items: hiddenItems,
380
470
  };
381
471
  WithHiddenItems.parameters = {
@@ -389,6 +479,9 @@ export const WithoutBrandImage = Template.bind({});
389
479
  WithoutBrandImage.args = {
390
480
  menuTitle: 'Menu sem logomarca',
391
481
  image: '',
482
+ width: '',
483
+ density: SulaMenuDensity.Default,
484
+ labelOverflow: SulaMenuLabelOverflow.Wrap,
392
485
  items: defaultItems,
393
486
  };
394
487
  WithoutBrandImage.parameters = {
@@ -1 +1 @@
1
- {"version":3,"file":"sula-menu.stories.js","sourceRoot":"","sources":["../../../src/components/sula-menu/sula-menu.stories.tsx"],"names":[],"mappings":"AAWA,MAAM,WAAW,GAAG,2BAA2B,kBAAkB,CAAC;;;;;;CAMjE,CAAC,EAAE,CAAC;AAEL,MAAM,YAAY,GAAuB;IACxC;QACC,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,kBAAkB;QACxB,QAAQ,EAAE,IAAI;KACd;IACD;QACC,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE;YACT;gBACC,EAAE,EAAE,UAAU;gBACd,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,aAAa;aACnB;YACD;gBACC,EAAE,EAAE,cAAc;gBAClB,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,wBAAwB;aAC9B;YACD;gBACC,EAAE,EAAE,QAAQ;gBACZ,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,sBAAsB;aAC5B;SACD;KACD;IACD;QACC,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE;YACT;gBACC,EAAE,EAAE,OAAO;gBACX,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,mBAAmB;aACzB;YACD;gBACC,EAAE,EAAE,aAAa;gBACjB,KAAK,EAAE,YAAY;gBACnB,IAAI,EAAE,gBAAgB;aACtB;SACD;KACD;CACD,CAAC;AAEF,MAAM,WAAW,GAAuB;IACvC;QACC,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,kBAAkB;QACxB,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE;YACT;gBACC,EAAE,EAAE,WAAW;gBACf,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,aAAa;aACnB;YACD;gBACC,EAAE,EAAE,QAAQ;gBACZ,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE;oBACT;wBACC,EAAE,EAAE,UAAU;wBACd,KAAK,EAAE,oBAAoB;wBAC3B,IAAI,EAAE,mBAAmB;wBACzB,QAAQ,EAAE,IAAI;qBACd;oBACD;wBACC,EAAE,EAAE,QAAQ;wBACZ,KAAK,EAAE,cAAc;wBACrB,IAAI,EAAE,mBAAmB;qBACzB;iBACD;aACD;SACD;KACD;IACD;QACC,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,qBAAqB;QAC3B,QAAQ,EAAE;YACT;gBACC,EAAE,EAAE,WAAW;gBACf,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,uBAAuB;aAC7B;SACD;KACD;CACD,CAAC;AAEF,MAAM,cAAc,GAAuB;IAC1C;QACC,EAAE,EAAE,iBAAiB;QACrB,KAAK,EAAE,sDAAsD;QAC7D,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE;YACT;gBACC,EAAE,EAAE,wBAAwB;gBAC5B,KAAK,EAAE,0DAA0D;gBACjE,IAAI,EAAE,mBAAmB;gBACzB,QAAQ,EAAE,IAAI;aACd;YACD;gBACC,EAAE,EAAE,iBAAiB;gBACrB,KAAK,EAAE,uDAAuD;gBAC9D,IAAI,EAAE,YAAY;gBAClB,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE;oBACT;wBACC,EAAE,EAAE,WAAW;wBACf,KAAK,EAAE,0CAA0C;wBACjD,IAAI,EAAE,mBAAmB;qBACzB;oBACD;wBACC,EAAE,EAAE,OAAO;wBACX,KAAK,EAAE,gDAAgD;wBACvD,IAAI,EAAE,mBAAmB;qBACzB;iBACD;aACD;SACD;KACD;IACD;QACC,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,mCAAmC;QAC1C,IAAI,EAAE,oBAAoB;KAC1B;CACD,CAAC;AAEF,MAAM,WAAW,GAAuB;IACvC;QACC,EAAE,EAAE,iBAAiB;QACrB,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,IAAI;KACZ;IACD;QACC,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE;YACT;gBACC,EAAE,EAAE,UAAU;gBACd,KAAK,EAAE,YAAY;gBACnB,IAAI,EAAE,mBAAmB;gBACzB,MAAM,EAAE,IAAI;aACZ;SACD;KACD;IACD;QACC,EAAE,EAAE,iBAAiB;QACrB,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE;YACT;gBACC,EAAE,EAAE,cAAc;gBAClB,KAAK,EAAE,kBAAkB;gBACzB,IAAI,EAAE,mBAAmB;gBACzB,MAAM,EAAE,IAAI;aACZ;YACD;gBACC,EAAE,EAAE,OAAO;gBACX,KAAK,EAAE,kBAAkB;gBACzB,IAAI,EAAE,gBAAgB;gBACtB,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE;oBACT;wBACC,EAAE,EAAE,aAAa;wBACjB,KAAK,EAAE,eAAe;wBACtB,IAAI,EAAE,mBAAmB;wBACzB,MAAM,EAAE,IAAI;qBACZ;oBACD;wBACC,EAAE,EAAE,SAAS;wBACb,KAAK,EAAE,YAAY;wBACnB,IAAI,EAAE,mBAAmB;wBACzB,QAAQ,EAAE,IAAI;qBACd;iBACD;aACD;YACD;gBACC,EAAE,EAAE,eAAe;gBACnB,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,mBAAmB;aACzB;SACD;KACD;CACD,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,KAAyB,EAAE,EAAE;IACpD,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;;QAAC,OAAA,iCACrB,IAAI,KACP,QAAQ,EAAE,MAAA,IAAI,CAAC,QAAQ,0CAAE,GAAG,CAAC,KAAK,CAAC,EAAE;;gBAAC,OAAA,iCAClC,KAAK,KACR,QAAQ,EAAE,MAAA,KAAK,CAAC,QAAQ,0CAAE,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,mBAAM,UAAU,EAAG,CAAC,IAC/D,CAAA;aAAA,CAAC,IACF,CAAA;KAAA,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC7B,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAChD,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAChC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IACjC,SAAS,CAAC,KAAK,CAAC,UAAU,GAAG,mDAAmD,CAAC;IACjF,SAAS,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC;IACtC,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC;IAEzC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5C,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC7B,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC;IAC5B,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;IAC9B,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;IAC7B,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC;IAClC,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC;IACjC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;IACnC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,mBAAmB,CAAC;IACzC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,oCAAoC,CAAC;IAE7D,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnD,YAAY,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;IAC9B,YAAY,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IACpC,YAAY,CAAC,KAAK,CAAC,UAAU,GAAG,mDAAmD,CAAC;IACpF,YAAY,CAAC,KAAK,CAAC,YAAY,GAAG,eAAe,CAAC;IAClD,YAAY,CAAC,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC;IAE5C,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAClD,YAAY,CAAC,WAAW,GAAG,kBAAkB,CAAC;IAC9C,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;IACvC,YAAY,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;IACrC,YAAY,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;IACtC,YAAY,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;IAErC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACvD,kBAAkB,CAAC,WAAW,GAAG,4KAA4K,CAAC;IAC9M,kBAAkB,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;IAC7C,kBAAkB,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5C,kBAAkB,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;IAC3C,kBAAkB,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;IAC7C,kBAAkB,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;IAE3C,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/C,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,WAAW,CAAC;IACrC,QAAQ,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC;IACrC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,mBAAmB,CAAC;IAC5C,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;IAElC,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACnD,SAAS,CAAC,WAAW,GAAG,qBAAqB,CAAC;IAC9C,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAClC,SAAS,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC;IACtC,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;IAClC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;IAElC,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC9C,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;IACnC,QAAQ,CAAC,SAAS,GAAG,0JAA0J,CAAC;IAEhL,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACvC,YAAY,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAC7C,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACnC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAChC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAE7B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC,CAAC;AAEF,eAAe;IACd,KAAK,EAAE,sBAAsB;IAC7B,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,QAAQ,EAAE;QACT,SAAS,EAAE;YACV,OAAO,EAAE,MAAM;YACf,YAAY,EAAE,UAAU;YACxB,WAAW,EAAE,sCAAsC;YACnD,IAAI,EAAE;gBACL,QAAQ,EAAE,KAAK;aACf;SACD;QACD,KAAK,EAAE;YACN,OAAO,EAAE,MAAM;YACf,YAAY,EAAE,WAAW;YACzB,WAAW,EAAE,4CAA4C;YACzD,IAAI,EAAE;gBACL,QAAQ,EAAE,KAAK;aACf;SACD;QACD,KAAK,EAAE;YACN,OAAO,EAAE,QAAQ;YACjB,YAAY,EAAE,YAAY;YAC1B,WAAW,EAAE,6FAA6F;YAC1G,IAAI,EAAE;gBACL,QAAQ,EAAE,KAAK;aACf;SACD;QACD,YAAY,EAAE;YACb,MAAM,EAAE,cAAc;YACtB,WAAW,EAAE,oDAAoD;SACjE;QACD,WAAW,EAAE;YACZ,MAAM,EAAE,aAAa;YACrB,WAAW,EAAE,wDAAwD;SACrE;QACD,WAAW,EAAE;YACZ,MAAM,EAAE,aAAa;YACrB,WAAW,EAAE,gDAAgD;SAC7D;KACD;IACD,UAAU,EAAE;QACX,IAAI,EAAE;YACL,WAAW,EAAE;gBACZ,SAAS,EACR,yPAAyP;aAC1P;SACD;KACD;CACD,CAAC;AAEF,MAAM,QAAQ,GAAQ,CAAC,IAAe,EAAE,EAAE;IACzC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAChD,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAE/C,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IAC9B,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACtB,EAAE,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEtC,EAAE,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACvD,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACrD,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAErD,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAElB,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzC,OAAO,CAAC,IAAI,GAAG;IACd,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,YAAY;CACnB,CAAC;AACF,OAAO,CAAC,UAAU,GAAG;IACpB,IAAI,EAAE;QACL,WAAW,EAAE;YACZ,KAAK,EAAE,oLAAoL;SAC3L;KACD;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACtD,oBAAoB,CAAC,IAAI,GAAG;IAC3B,SAAS,EAAE,SAAS;IACpB,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,WAAW;CAClB,CAAC;AACF,oBAAoB,CAAC,UAAU,GAAG;IACjC,IAAI,EAAE;QACL,WAAW,EAAE;YACZ,KAAK,EAAE,2HAA2H;SAClI;KACD;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChD,cAAc,CAAC,IAAI,GAAG;IACrB,SAAS,EAAE,YAAY;IACvB,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,cAAc;CACrB,CAAC;AACF,cAAc,CAAC,UAAU,GAAG;IAC3B,IAAI,EAAE;QACL,WAAW,EAAE;YACZ,KAAK,EAAE,qHAAqH;SAC5H;KACD;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACjD,eAAe,CAAC,IAAI,GAAG;IACtB,SAAS,EAAE,eAAe;IAC1B,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,WAAW;CAClB,CAAC;AACF,eAAe,CAAC,UAAU,GAAG;IAC5B,IAAI,EAAE;QACL,WAAW,EAAE;YACZ,KAAK,EAAE,6KAA6K;SACpL;KACD;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnD,iBAAiB,CAAC,IAAI,GAAG;IACxB,SAAS,EAAE,oBAAoB;IAC/B,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,YAAY;CACnB,CAAC;AACF,iBAAiB,CAAC,UAAU,GAAG;IAC9B,IAAI,EAAE;QACL,WAAW,EAAE;YACZ,KAAK,EAAE,0GAA0G;SACjH;KACD;CACD,CAAC","sourcesContent":["import { SulaMenuMainItem } from './model/sula-menu.model';\n\ntype StoryArgs = {\n\tmenuTitle: string;\n\timage: string;\n\titems: SulaMenuMainItem[];\n\titemSelected: EventListener;\n\titemClicked: EventListener;\n\tmenuToggled: EventListener;\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<rect x=\"12\" y=\"12\" width=\"56\" height=\"56\" rx=\"18\" fill=\"white\" fill-opacity=\"0.08\"/>\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\nconst defaultItems: SulaMenuMainItem[] = [\n\t{\n\t\tid: 'overview',\n\t\tlabel: 'Visao Geral',\n\t\ticon: 'ph ph-house-line',\n\t\tselected: true,\n\t},\n\t{\n\t\tid: 'operations',\n\t\tlabel: 'Operacoes',\n\t\ticon: 'ph ph-briefcase',\n\t\texpanded: true,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: 'policies',\n\t\t\t\tlabel: 'Apolices',\n\t\t\t\ticon: 'ph ph-files',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'endorsements',\n\t\t\t\tlabel: 'Endossos',\n\t\t\t\ticon: 'ph ph-arrows-clockwise',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'claims',\n\t\t\t\tlabel: 'Sinistros',\n\t\t\t\ticon: 'ph ph-warning-circle',\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tid: 'settings',\n\t\tlabel: 'Configuracoes',\n\t\ticon: 'ph ph-gear-six',\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: 'teams',\n\t\t\t\tlabel: 'Times',\n\t\t\t\ticon: 'ph ph-users-three',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'permissions',\n\t\t\t\tlabel: 'Permissoes',\n\t\t\t\ticon: 'ph ph-lock-key',\n\t\t\t},\n\t\t],\n\t},\n];\n\nconst nestedItems: SulaMenuMainItem[] = [\n\t{\n\t\tid: 'sula-os',\n\t\tlabel: 'Sula OS',\n\t\ticon: 'ph ph-app-window',\n\t\texpanded: true,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: 'dashboard',\n\t\t\t\tlabel: 'Dashboard',\n\t\t\t\ticon: 'ph ph-gauge',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'canvas',\n\t\t\t\tlabel: 'Canvas',\n\t\t\t\ticon: 'ph ph-frame-corners',\n\t\t\t\texpanded: true,\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'chapters',\n\t\t\t\t\t\tlabel: 'Capitulos/Jornadas',\n\t\t\t\t\t\ticon: 'ph ph-dot-outline',\n\t\t\t\t\t\tselected: true,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'tribes',\n\t\t\t\t\t\tlabel: 'Tribes/Areas',\n\t\t\t\t\t\ticon: 'ph ph-dot-outline',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tid: 'analytics',\n\t\tlabel: 'Analytics',\n\t\ticon: 'ph ph-chart-line-up',\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: 'portfolio',\n\t\t\t\tlabel: 'Portfolio',\n\t\t\t\ticon: 'ph ph-chart-pie-slice',\n\t\t\t},\n\t\t],\n\t},\n];\n\nconst longLabelItems: SulaMenuMainItem[] = [\n\t{\n\t\tid: 'protocol-center',\n\t\tlabel: 'Central de protocolos e acompanhamentos operacionais',\n\t\ticon: 'ph ph-folders',\n\t\texpanded: true,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: 'technical-underwriting',\n\t\t\t\tlabel: 'Analise tecnica e de subscricao para contas corporativas',\n\t\t\t\ticon: 'ph ph-file-search',\n\t\t\t\tselected: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'journey-builder',\n\t\t\t\tlabel: 'Construtor de jornadas e configuracoes de experiencia',\n\t\t\t\ticon: 'ph ph-path',\n\t\t\t\texpanded: true,\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'audiences',\n\t\t\t\t\t\tlabel: 'Segmentos e audiencias de relacionamento',\n\t\t\t\t\t\ticon: 'ph ph-dot-outline',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'rules',\n\t\t\t\t\t\tlabel: 'Regras e validacoes com nomenclaturas extensas',\n\t\t\t\t\t\ticon: 'ph ph-dot-outline',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tid: 'governance',\n\t\tlabel: 'Governanca de acessos e seguranca',\n\t\ticon: 'ph ph-shield-check',\n\t},\n];\n\nconst hiddenItems: SulaMenuMainItem[] = [\n\t{\n\t\tid: 'overview-hidden',\n\t\tlabel: 'Visao Geral',\n\t\ticon: 'ph ph-house-line',\n\t\thidden: true,\n\t},\n\t{\n\t\tid: 'reports',\n\t\tlabel: 'Relatorios',\n\t\ticon: 'ph ph-chart-bar',\n\t\texpanded: true,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: 'archived',\n\t\t\t\tlabel: 'Arquivados',\n\t\t\t\ticon: 'ph ph-archive-box',\n\t\t\t\thidden: true,\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tid: 'settings-hidden',\n\t\tlabel: 'Configuracoes',\n\t\ticon: 'ph ph-gear-six',\n\t\texpanded: true,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: 'users-hidden',\n\t\t\t\tlabel: 'Usuarios ocultos',\n\t\t\t\ticon: 'ph ph-users-three',\n\t\t\t\thidden: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'roles',\n\t\t\t\tlabel: 'Perfis de acesso',\n\t\t\t\ticon: 'ph ph-lock-key',\n\t\t\t\texpanded: true,\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'legacy-role',\n\t\t\t\t\t\tlabel: 'Perfil legado',\n\t\t\t\t\t\ticon: 'ph ph-dot-outline',\n\t\t\t\t\t\thidden: true,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'brokers',\n\t\t\t\t\t\tlabel: 'Corretores',\n\t\t\t\t\t\ticon: 'ph ph-dot-outline',\n\t\t\t\t\t\tselected: true,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'teams-visible',\n\t\t\t\tlabel: 'Times',\n\t\t\t\ticon: 'ph ph-users-three',\n\t\t\t},\n\t\t],\n\t},\n];\n\nconst cloneMenuItems = (items: SulaMenuMainItem[]) => {\n\treturn items.map(item => ({\n\t\t...item,\n\t\tchildren: item.children?.map(child => ({\n\t\t\t...child,\n\t\t\tchildren: child.children?.map(grandchild => ({ ...grandchild })),\n\t\t})),\n\t}));\n};\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.overflow = 'visible';\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.background = 'linear-gradient(180deg, #ffffff 0%, #f7f9f9 100%)';\n\tcontentPanel.style.borderRadius = '0 24px 24px 0';\n\tcontentPanel.style.boxSizing = 'border-box';\n\n\tconst contentTitle = document.createElement('h3');\n\tcontentTitle.textContent = 'Area de conteudo';\n\tcontentTitle.style.margin = '0 0 12px';\n\tcontentTitle.style.fontSize = '24px';\n\tcontentTitle.style.fontWeight = '700';\n\tcontentTitle.style.color = '#2f3131';\n\n\tconst contentDescription = document.createElement('p');\n\tcontentDescription.textContent = 'Use o botao no rodape do menu para colapsar, passe o mouse sobre o menu colapsado para visualizar o preview e clique nos itens para observar os eventos no painel Actions.';\n\tcontentDescription.style.margin = '0 0 24px';\n\tcontentDescription.style.maxWidth = '520px';\n\tcontentDescription.style.fontSize = '14px';\n\tcontentDescription.style.lineHeight = '22px';\n\tcontentDescription.style.color = '#6c6e6e';\n\n\tconst infoCard = document.createElement('div');\n\tinfoCard.style.padding = '20px 24px';\n\tinfoCard.style.borderRadius = '20px';\n\tinfoCard.style.background = '#f4f7f7';\n\tinfoCard.style.border = '1px solid #e3e9e9';\n\tinfoCard.style.maxWidth = '460px';\n\n\tconst infoTitle = document.createElement('strong');\n\tinfoTitle.textContent = 'Fluxos demonstrados';\n\tinfoTitle.style.display = 'block';\n\tinfoTitle.style.marginBottom = '12px';\n\tinfoTitle.style.fontSize = '15px';\n\tinfoTitle.style.color = '#2f3131';\n\n\tconst infoList = document.createElement('ul');\n\tinfoList.style.margin = '0';\n\tinfoList.style.paddingLeft = '18px';\n\tinfoList.style.color = '#5d5f5f';\n\tinfoList.style.fontSize = '14px';\n\tinfoList.style.lineHeight = '22px';\n\tinfoList.innerHTML = '<li>Selecao unica de itens folha</li><li>Expansao independente de branches</li><li>Submenus em dois niveis</li><li>Preview do menu sobre o conteudo</li>';\n\n\tinfoCard.appendChild(infoTitle);\n\tinfoCard.appendChild(infoList);\n\tcontentPanel.appendChild(contentTitle);\n\tcontentPanel.appendChild(contentDescription);\n\tcontentPanel.appendChild(infoCard);\n\tshell.appendChild(contentPanel);\n\tcontainer.appendChild(shell);\n\n\treturn { container, shell };\n};\n\nexport default {\n\ttitle: 'Components/sula-menu',\n\ttags: ['autodocs'],\n\targTypes: {\n\t\tmenuTitle: {\n\t\t\tcontrol: 'text',\n\t\t\tdefaultValue: 'Sula Hub',\n\t\t\tdescription: 'Titulo exibido no cabecalho do menu.',\n\t\t\ttype: {\n\t\t\t\trequired: false,\n\t\t\t},\n\t\t},\n\t\timage: {\n\t\t\tcontrol: 'text',\n\t\t\tdefaultValue: BRAND_IMAGE,\n\t\t\tdescription: 'Imagem de marca exibida ao lado do titulo.',\n\t\t\ttype: {\n\t\t\t\trequired: false,\n\t\t\t},\n\t\t},\n\t\titems: {\n\t\t\tcontrol: 'object',\n\t\t\tdefaultValue: defaultItems,\n\t\t\tdescription: 'Estrutura hierarquica do menu, com suporte a itens, subitens, netos e ocultacao via hidden.',\n\t\t\ttype: {\n\t\t\t\trequired: false,\n\t\t\t},\n\t\t},\n\t\titemSelected: {\n\t\t\taction: 'itemSelected',\n\t\t\tdescription: 'Evento emitido quando um item folha e selecionado.',\n\t\t},\n\t\titemClicked: {\n\t\t\taction: 'itemClicked',\n\t\t\tdescription: 'Evento emitido a cada clique em qualquer item do menu.',\n\t\t},\n\t\tmenuToggled: {\n\t\t\taction: 'menuToggled',\n\t\t\tdescription: 'Evento emitido ao colapsar ou expandir o menu.',\n\t\t},\n\t},\n\tparameters: {\n\t\tdocs: {\n\t\t\tdescription: {\n\t\t\t\tcomponent:\n\t\t\t\t\t'O componente Sula Menu organiza navegacao hierarquica com suporte a expansao de submenus, selecao unica de itens folha, ocultacao declarativa via hidden, colapso com preview em hover e emissao de eventos para clique, selecao e toggle do container.',\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-menu');\n\n\tel.menuTitle = args.menuTitle;\n\tel.image = args.image;\n\tel.items = cloneMenuItems(args.items);\n\n\tel.addEventListener('itemSelected', args.itemSelected);\n\tel.addEventListener('itemClicked', args.itemClicked);\n\tel.addEventListener('menuToggled', args.menuToggled);\n\n\tshell.prepend(el);\n\n\treturn container;\n};\n\nexport const Default = Template.bind({});\nDefault.args = {\n\tmenuTitle: 'Sula Hub',\n\timage: BRAND_IMAGE,\n\titems: defaultItems,\n};\nDefault.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory: 'Exemplo principal do menu com marca, um item folha selecionado e uma secao expandida. Interaja com os itens e com o toggle do rodape para validar os eventos e os estados visuais.',\n\t\t},\n\t},\n};\n\nexport const WithNestedNavigation = Template.bind({});\nWithNestedNavigation.args = {\n\tmenuTitle: 'Sula OS',\n\timage: BRAND_IMAGE,\n\titems: nestedItems,\n};\nWithNestedNavigation.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory: 'Demonstra a navegacao com branch aninhado e um neto previamente selecionado, cobrindo o fluxo de expansao em dois niveis.',\n\t\t},\n\t},\n};\n\nexport const WithLongLabels = Template.bind({});\nWithLongLabels.args = {\n\tmenuTitle: 'Governanca',\n\timage: BRAND_IMAGE,\n\titems: longLabelItems,\n};\nWithLongLabels.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory: 'Cenario voltado para validacao visual de truncamento e alinhamento quando itens e subitens possuem labels extensas.',\n\t\t},\n\t},\n};\n\nexport const WithHiddenItems = Template.bind({});\nWithHiddenItems.args = {\n\tmenuTitle: 'Administracao',\n\timage: BRAND_IMAGE,\n\titems: hiddenItems,\n};\nWithHiddenItems.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory: 'Demonstra a omissao de itens marcados com hidden em todos os niveis, incluindo o caso em que um branch deixa de expandir porque seus descendentes visiveis foram filtrados.',\n\t\t},\n\t},\n};\n\nexport const WithoutBrandImage = Template.bind({});\nWithoutBrandImage.args = {\n\tmenuTitle: 'Menu sem logomarca',\n\timage: '',\n\titems: defaultItems,\n};\nWithoutBrandImage.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory: 'Mostra o comportamento do componente quando apenas o titulo e exibido no cabecalho, sem imagem de marca.',\n\t\t},\n\t},\n};\n"]}
1
+ {"version":3,"file":"sula-menu.stories.js","sourceRoot":"","sources":["../../../src/components/sula-menu/sula-menu.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { SulaMenuDensity, SulaMenuLabelOverflow, SulaMenuMainItem } from './model/sula-menu.model';\n\ntype StoryArgs = {\n\tmenuTitle: string;\n\timage: string;\n\twidth: string;\n\tdensity: SulaMenuDensity;\n\tlabelOverflow: SulaMenuLabelOverflow;\n\titems: SulaMenuMainItem[];\n\titemSelected: EventListener;\n\titemClicked: EventListener;\n\tmenuToggled: EventListener;\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<rect x=\"12\" y=\"12\" width=\"56\" height=\"56\" rx=\"18\" fill=\"white\" fill-opacity=\"0.08\"/>\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\nconst defaultItems: SulaMenuMainItem[] = [\n\t{\n\t\tid: 'overview',\n\t\tlabel: 'Visao Geral',\n\t\ticon: 'ph ph-house-line',\n\t\tselected: true,\n\t},\n\t{\n\t\tid: 'operations',\n\t\tlabel: 'Operacoes',\n\t\ticon: 'ph ph-briefcase',\n\t\texpanded: true,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: 'policies',\n\t\t\t\tlabel: 'Apolices',\n\t\t\t\ticon: 'ph ph-files',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'endorsements',\n\t\t\t\tlabel: 'Endossos',\n\t\t\t\ticon: 'ph ph-arrows-clockwise',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'claims',\n\t\t\t\tlabel: 'Sinistros',\n\t\t\t\ticon: 'ph ph-warning-circle',\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tid: 'settings',\n\t\tlabel: 'Configuracoes',\n\t\ticon: 'ph ph-gear-six',\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: 'teams',\n\t\t\t\tlabel: 'Times',\n\t\t\t\ticon: 'ph ph-users-three',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'permissions',\n\t\t\t\tlabel: 'Permissoes',\n\t\t\t\ticon: 'ph ph-lock-key',\n\t\t\t},\n\t\t],\n\t},\n];\n\nconst nestedItems: SulaMenuMainItem[] = [\n\t{\n\t\tid: 'sula-os',\n\t\tlabel: 'Sula OS',\n\t\ticon: 'ph ph-app-window',\n\t\texpanded: true,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: 'dashboard',\n\t\t\t\tlabel: 'Dashboard',\n\t\t\t\ticon: 'ph ph-gauge',\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'canvas',\n\t\t\t\tlabel: 'Canvas',\n\t\t\t\ticon: 'ph ph-frame-corners',\n\t\t\t\texpanded: true,\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'chapters',\n\t\t\t\t\t\tlabel: 'Capitulos/Jornadas',\n\t\t\t\t\t\ticon: 'ph ph-dot-outline',\n\t\t\t\t\t\tselected: true,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'tribes',\n\t\t\t\t\t\tlabel: 'Tribes/Areas',\n\t\t\t\t\t\ticon: 'ph ph-dot-outline',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tid: 'analytics',\n\t\tlabel: 'Analytics',\n\t\ticon: 'ph ph-chart-line-up',\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: 'portfolio',\n\t\t\t\tlabel: 'Portfolio',\n\t\t\t\ticon: 'ph ph-chart-pie-slice',\n\t\t\t},\n\t\t],\n\t},\n];\n\nconst longLabelItems: SulaMenuMainItem[] = [\n\t{\n\t\tid: 'protocol-center',\n\t\tlabel: 'Central de protocolos e acompanhamentos operacionais',\n\t\ticon: 'ph ph-folders',\n\t\texpanded: true,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: 'technical-underwriting',\n\t\t\t\tlabel: 'Analise tecnica e de subscricao para contas corporativas',\n\t\t\t\ticon: 'ph ph-file-search',\n\t\t\t\tselected: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'journey-builder',\n\t\t\t\tlabel: 'Construtor de jornadas e configuracoes de experiencia',\n\t\t\t\ticon: 'ph ph-path',\n\t\t\t\texpanded: true,\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'audiences',\n\t\t\t\t\t\tlabel: 'Segmentos e audiencias de relacionamento',\n\t\t\t\t\t\ticon: 'ph ph-dot-outline',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'rules',\n\t\t\t\t\t\tlabel: 'Regras e validacoes com nomenclaturas extensas',\n\t\t\t\t\t\ticon: 'ph ph-dot-outline',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tid: 'governance',\n\t\tlabel: 'Governanca de acessos e seguranca',\n\t\ticon: 'ph ph-shield-check',\n\t},\n];\n\nconst hiddenItems: SulaMenuMainItem[] = [\n\t{\n\t\tid: 'overview-hidden',\n\t\tlabel: 'Visao Geral',\n\t\ticon: 'ph ph-house-line',\n\t\thidden: true,\n\t},\n\t{\n\t\tid: 'reports',\n\t\tlabel: 'Relatorios',\n\t\ticon: 'ph ph-chart-bar',\n\t\texpanded: true,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: 'archived',\n\t\t\t\tlabel: 'Arquivados',\n\t\t\t\ticon: 'ph ph-archive-box',\n\t\t\t\thidden: true,\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tid: 'settings-hidden',\n\t\tlabel: 'Configuracoes',\n\t\ticon: 'ph ph-gear-six',\n\t\texpanded: true,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tid: 'users-hidden',\n\t\t\t\tlabel: 'Usuarios ocultos',\n\t\t\t\ticon: 'ph ph-users-three',\n\t\t\t\thidden: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'roles',\n\t\t\t\tlabel: 'Perfis de acesso',\n\t\t\t\ticon: 'ph ph-lock-key',\n\t\t\t\texpanded: true,\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'legacy-role',\n\t\t\t\t\t\tlabel: 'Perfil legado',\n\t\t\t\t\t\ticon: 'ph ph-dot-outline',\n\t\t\t\t\t\thidden: true,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'brokers',\n\t\t\t\t\t\tlabel: 'Corretores',\n\t\t\t\t\t\ticon: 'ph ph-dot-outline',\n\t\t\t\t\t\tselected: true,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'teams-visible',\n\t\t\t\tlabel: 'Times',\n\t\t\t\ticon: 'ph ph-users-three',\n\t\t\t},\n\t\t],\n\t},\n];\n\nconst cloneMenuItems = (items: SulaMenuMainItem[]) => {\n\treturn items.map(item => ({\n\t\t...item,\n\t\tchildren: item.children?.map(child => ({\n\t\t\t...child,\n\t\t\tchildren: child.children?.map(grandchild => ({ ...grandchild })),\n\t\t})),\n\t}));\n};\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.overflow = 'visible';\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.background = 'linear-gradient(180deg, #ffffff 0%, #f7f9f9 100%)';\n\tcontentPanel.style.borderRadius = '0 24px 24px 0';\n\tcontentPanel.style.boxSizing = 'border-box';\n\n\tconst contentTitle = document.createElement('h3');\n\tcontentTitle.textContent = 'Area de conteudo';\n\tcontentTitle.style.margin = '0 0 12px';\n\tcontentTitle.style.fontSize = '24px';\n\tcontentTitle.style.fontWeight = '700';\n\tcontentTitle.style.color = '#2f3131';\n\n\tconst contentDescription = document.createElement('p');\n\tcontentDescription.textContent = 'Use o botao no rodape do menu para colapsar, passe o mouse sobre o menu colapsado para visualizar o preview e clique nos itens para observar os eventos no painel Actions.';\n\tcontentDescription.style.margin = '0 0 24px';\n\tcontentDescription.style.maxWidth = '520px';\n\tcontentDescription.style.fontSize = '14px';\n\tcontentDescription.style.lineHeight = '22px';\n\tcontentDescription.style.color = '#6c6e6e';\n\n\tconst infoCard = document.createElement('div');\n\tinfoCard.style.padding = '20px 24px';\n\tinfoCard.style.borderRadius = '20px';\n\tinfoCard.style.background = '#f4f7f7';\n\tinfoCard.style.border = '1px solid #e3e9e9';\n\tinfoCard.style.maxWidth = '460px';\n\n\tconst infoTitle = document.createElement('strong');\n\tinfoTitle.textContent = 'Fluxos demonstrados';\n\tinfoTitle.style.display = 'block';\n\tinfoTitle.style.marginBottom = '12px';\n\tinfoTitle.style.fontSize = '15px';\n\tinfoTitle.style.color = '#2f3131';\n\n\tconst infoList = document.createElement('ul');\n\tinfoList.style.margin = '0';\n\tinfoList.style.paddingLeft = '18px';\n\tinfoList.style.color = '#5d5f5f';\n\tinfoList.style.fontSize = '14px';\n\tinfoList.style.lineHeight = '22px';\n\tinfoList.innerHTML = '<li>Selecao unica de itens folha</li><li>Expansao independente de branches</li><li>Submenus em dois niveis</li><li>Preview do menu sobre o conteudo</li>';\n\n\tinfoCard.appendChild(infoTitle);\n\tinfoCard.appendChild(infoList);\n\tcontentPanel.appendChild(contentTitle);\n\tcontentPanel.appendChild(contentDescription);\n\tcontentPanel.appendChild(infoCard);\n\tshell.appendChild(contentPanel);\n\tcontainer.appendChild(shell);\n\n\treturn { container, shell };\n};\n\nexport default {\n\ttitle: 'Components/sula-menu',\n\ttags: ['autodocs'],\n\targTypes: {\n\t\tmenuTitle: {\n\t\t\tcontrol: 'text',\n\t\t\tdefaultValue: 'Sula Hub',\n\t\t\tdescription: 'Titulo exibido no cabecalho do menu.',\n\t\t\ttype: {\n\t\t\t\trequired: false,\n\t\t\t},\n\t\t},\n\t\timage: {\n\t\t\tcontrol: 'text',\n\t\t\tdefaultValue: BRAND_IMAGE,\n\t\t\tdescription: 'Imagem de marca exibida ao lado do titulo.',\n\t\t\ttype: {\n\t\t\t\trequired: false,\n\t\t\t},\n\t\t},\n\t\twidth: {\n\t\t\tcontrol: 'text',\n\t\t\tdefaultValue: '',\n\t\t\tdescription: 'Largura do menu expandido. Use medidas independentes do host, como 320px, 20rem ou clamp(16rem, 25vw, 24rem).',\n\t\t\ttype: {\n\t\t\t\trequired: false,\n\t\t\t},\n\t\t},\n\t\tdensity: {\n\t\t\tcontrol: { type: 'select' },\n\t\t\toptions: Object.values(SulaMenuDensity),\n\t\t\tdescription: 'Define a densidade visual e tipografica dos itens principais.',\n\t\t\ttable: {\n\t\t\t\ttype: { summary: 'SulaMenuDensity' },\n\t\t\t\tdefaultValue: { summary: 'SulaMenuDensity.Default' },\n\t\t\t},\n\t\t},\n\t\tlabelOverflow: {\n\t\t\tcontrol: { type: 'select' },\n\t\t\toptions: Object.values(SulaMenuLabelOverflow),\n\t\t\tdescription: 'Define se labels longos quebram em ate duas linhas ou usam ellipsis.',\n\t\t\ttable: {\n\t\t\t\ttype: { summary: 'SulaMenuLabelOverflow' },\n\t\t\t\tdefaultValue: { summary: 'SulaMenuLabelOverflow.Wrap' },\n\t\t\t},\n\t\t},\n\t\titems: {\n\t\t\tcontrol: 'object',\n\t\t\tdefaultValue: defaultItems,\n\t\t\tdescription: 'Estrutura hierarquica do menu, com suporte a itens, subitens, netos e ocultacao via hidden.',\n\t\t\ttype: {\n\t\t\t\trequired: false,\n\t\t\t},\n\t\t},\n\t\titemSelected: {\n\t\t\taction: 'itemSelected',\n\t\t\tdescription: 'Evento emitido quando um item folha e selecionado.',\n\t\t},\n\t\titemClicked: {\n\t\t\taction: 'itemClicked',\n\t\t\tdescription: 'Evento emitido a cada clique em qualquer item do menu.',\n\t\t},\n\t\tmenuToggled: {\n\t\t\taction: 'menuToggled',\n\t\t\tdescription: 'Evento emitido ao colapsar ou expandir o menu.',\n\t\t},\n\t},\n\tparameters: {\n\t\tdocs: {\n\t\t\tdescription: {\n\t\t\t\tcomponent:\n\t\t\t\t\t'O componente Sula Menu organiza navegacao hierarquica com suporte a expansao de submenus, selecao unica de itens folha, ocultacao declarativa via hidden, colapso com preview em hover e emissao de eventos para clique, selecao e toggle do container.',\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-menu');\n\n\tel.menuTitle = args.menuTitle;\n\tel.image = args.image;\n\tel.width = args.width;\n\tel.density = args.density;\n\tel.labelOverflow = args.labelOverflow;\n\tel.items = cloneMenuItems(args.items);\n\n\tel.addEventListener('itemSelected', args.itemSelected);\n\tel.addEventListener('itemClicked', args.itemClicked);\n\tel.addEventListener('menuToggled', args.menuToggled);\n\n\tshell.prepend(el);\n\n\treturn container;\n};\n\nexport const Default = Template.bind({});\nDefault.args = {\n\tmenuTitle: 'Sula Hub',\n\timage: BRAND_IMAGE,\n\twidth: '',\n\tdensity: SulaMenuDensity.Default,\n\tlabelOverflow: SulaMenuLabelOverflow.Wrap,\n\titems: defaultItems,\n};\nDefault.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory: 'Exemplo principal do menu com marca, um item folha selecionado e uma secao expandida. Interaja com os itens e com o toggle do rodape para validar os eventos e os estados visuais.',\n\t\t},\n\t},\n};\n\nexport const WithNestedNavigation = Template.bind({});\nWithNestedNavigation.args = {\n\tmenuTitle: 'Sula OS',\n\timage: BRAND_IMAGE,\n\twidth: '',\n\tdensity: SulaMenuDensity.Default,\n\tlabelOverflow: SulaMenuLabelOverflow.Wrap,\n\titems: nestedItems,\n};\nWithNestedNavigation.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory: 'Demonstra a navegacao com branch aninhado e um neto previamente selecionado, cobrindo o fluxo de expansao em dois niveis.',\n\t\t},\n\t},\n};\n\nexport const WithLongLabels = Template.bind({});\nWithLongLabels.args = {\n\tmenuTitle: 'Governanca',\n\timage: BRAND_IMAGE,\n\twidth: '',\n\tdensity: SulaMenuDensity.Default,\n\tlabelOverflow: SulaMenuLabelOverflow.Wrap,\n\titems: longLabelItems,\n};\nWithLongLabels.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory: 'Cenario padrao para labels extensos, com tipografia de 14px e quebra em ate duas linhas nos itens principais.',\n\t\t},\n\t},\n};\n\nexport const WithTruncatedLongLabels = Template.bind({});\nWithTruncatedLongLabels.args = {\n\tmenuTitle: 'Governanca',\n\timage: BRAND_IMAGE,\n\twidth: '',\n\tdensity: SulaMenuDensity.Default,\n\tlabelOverflow: SulaMenuLabelOverflow.Truncate,\n\titems: longLabelItems,\n};\nWithTruncatedLongLabels.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory: 'Alternativa explicita com ellipsis para produtos que precisam manter todos os itens principais em uma unica linha.',\n\t\t},\n\t},\n};\n\nexport const WithLongLabelsCustomLayout = Template.bind({});\nWithLongLabelsCustomLayout.args = {\n\tmenuTitle: 'Governanca',\n\timage: BRAND_IMAGE,\n\twidth: '320px',\n\tdensity: SulaMenuDensity.Compact,\n\tlabelOverflow: SulaMenuLabelOverflow.Wrap,\n\titems: longLabelItems,\n};\nWithLongLabelsCustomLayout.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory:\n\t\t\t\t'Cenario para muitos labels longos: combina largura de 320px, densidade compacta e quebra em ate duas linhas por meio da API oficial.',\n\t\t},\n\t},\n};\n\nexport const WithComfortableDensity = Template.bind({});\nWithComfortableDensity.args = {\n\tmenuTitle: 'Governanca',\n\timage: BRAND_IMAGE,\n\twidth: '320px',\n\tdensity: SulaMenuDensity.Comfortable,\n\tlabelOverflow: SulaMenuLabelOverflow.Wrap,\n\titems: longLabelItems,\n};\nWithComfortableDensity.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory: 'Variante com maior area de toque e tipografia de 16px para contextos que priorizam conforto de leitura.',\n\t\t},\n\t},\n};\n\nexport const WithHiddenItems = Template.bind({});\nWithHiddenItems.args = {\n\tmenuTitle: 'Administracao',\n\timage: BRAND_IMAGE,\n\twidth: '',\n\tdensity: SulaMenuDensity.Default,\n\tlabelOverflow: SulaMenuLabelOverflow.Wrap,\n\titems: hiddenItems,\n};\nWithHiddenItems.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory: 'Demonstra a omissao de itens marcados com hidden em todos os niveis, incluindo o caso em que um branch deixa de expandir porque seus descendentes visiveis foram filtrados.',\n\t\t},\n\t},\n};\n\nexport const WithoutBrandImage = Template.bind({});\nWithoutBrandImage.args = {\n\tmenuTitle: 'Menu sem logomarca',\n\timage: '',\n\twidth: '',\n\tdensity: SulaMenuDensity.Default,\n\tlabelOverflow: SulaMenuLabelOverflow.Wrap,\n\titems: defaultItems,\n};\nWithoutBrandImage.parameters = {\n\tdocs: {\n\t\tdescription: {\n\t\t\tstory: 'Mostra o comportamento do componente quando apenas o titulo e exibido no cabecalho, sem imagem de marca.',\n\t\t},\n\t},\n};\n"]}
@@ -1 +1 @@
1
- *,:after,:before{--tw-ring-color:rgba(59,130,246,.5);--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(147,197,253,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: ;border:0 solid #e5e7eb;box-sizing:border-box}::backdrop{--tw-ring-color:rgba(59,130,246,.5);--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(147,197,253,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;tab-size:4}body{font-family:Figtree;line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.contents{display:contents}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.opacity-0{opacity:0}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}:host,:host button,:host input,:host option,:host select,:host textarea{font-family:Figtree,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:host{display:contents}.modal-overlay{transition:opacity .3s ease-out}.modal-overlay.opacity-0{pointer-events:none}.modal-slide-up{transform:translateY(100%)}@media (min-width:768px){.modal-slide-up{transform:translateY(20px) scale(.95)}}.modal-slide-up.modal-active{transform:translateY(0) scale(1)}.modal-slide-right{transform:translateX(100%)}.modal-slide-right.modal-active{transform:translateX(0)}@font-face{font-display:swap;font-family:Figtree;font-style:normal;font-weight:300;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-Light.ttf) format("truetype")}@font-face{font-display:swap;font-family:Figtree;font-style:italic;font-weight:300;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-LightItalic.ttf) format("truetype")}@font-face{font-display:swap;font-family:Figtree;font-style:normal;font-weight:400;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-Regular.ttf) format("truetype")}@font-face{font-display:swap;font-family:Figtree;font-style:italic;font-weight:400;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-Italic.ttf) format("truetype")}@font-face{font-display:swap;font-family:Figtree;font-style:normal;font-weight:500;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-Medium.ttf) format("truetype")}@font-face{font-display:swap;font-family:Figtree;font-style:italic;font-weight:500;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-MediumItalic.ttf) format("truetype")}@font-face{font-display:swap;font-family:Figtree;font-style:normal;font-weight:600;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-SemiBold.ttf) format("truetype")}@font-face{font-display:swap;font-family:Figtree;font-style:italic;font-weight:600;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-SemiBoldItalic.ttf) format("truetype")}@font-face{font-display:swap;font-family:Figtree;font-style:normal;font-weight:700;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-Bold.ttf) format("truetype")}@font-face{font-display:swap;font-family:Figtree;font-style:italic;font-weight:700;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-BoldItalic.ttf) format("truetype")}@font-face{font-display:swap;font-family:Figtree;font-style:normal;font-weight:800;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-ExtraBold.ttf) format("truetype")}@font-face{font-display:swap;font-family:Figtree;font-style:italic;font-weight:800;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-ExtraBoldItalic.ttf) format("truetype")}@font-face{font-display:swap;font-family:Figtree;font-style:normal;font-weight:900;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-Black.ttf) format("truetype")}@font-face{font-display:swap;font-family:Figtree;font-style:italic;font-weight:900;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-BlackItalic.ttf) format("truetype")}:root{--color-green-50:#f1f9f4;--color-green-100:#e6f4ed;--color-green-200:#cae7d8;--color-green-300:#a0d4b8;--color-green-400:#68bb8e;--color-green-500:#04843f;--color-green-600:#037236;--color-green-700:#03632f;--color-green-800:#035428;--color-green-900:#024521;--color-green-950:#012b15;--color-red-50:#fef6f6;--color-red-100:#fde8e8;--color-red-200:#fad1d1;--color-red-300:#f7abab;--color-red-400:#f17474;--color-red-500:#c80505;--color-red-600:#b30404;--color-red-700:#9f0404;--color-red-800:#860303;--color-red-900:#6d0303;--color-red-950:#330d00;--color-yellow-50:#fdf4e7;--color-yellow-100:#fcedd9;--color-yellow-200:#fae0bd;--color-yellow-300:#f6c788;--color-yellow-400:#f3b159;--color-yellow-500:#ef9928;--color-yellow-600:#e49226;--color-yellow-700:#d17e10;--color-yellow-800:#b46d0e;--color-yellow-900:#93590b;--color-yellow-950:#402705;--color-orange-50:#fef4f1;--color-orange-100:#fde8e2;--color-orange-200:#fbd2c6;--color-orange-300:#f8b4a0;--color-orange-400:#f58e70;--color-orange-500:#f05223;--color-orange-600:#ea4210;--color-orange-700:#d23b0e;--color-orange-800:#b5330c;--color-orange-900:#942a0a;--color-orange-950:#401204;--color-blue-50:#ecf0f9;--color-blue-100:#dde3f4;--color-blue-200:#b2c2e5;--color-blue-300:#7994d2;--color-blue-400:#4066bf;--color-blue-500:#001e64;--color-blue-600:#001c5c;--color-blue-700:#00174c;--color-blue-800:#00123d;--color-blue-900:#000f33;--color-blue-950:#000d2b;--color-ambar-50:#fff6eb;--color-ambar-100:#ffefdc;--color-ambar-200:#fedfb9;--color-ambar-300:#fdca8b;--color-ambar-400:#fdb359;--color-ambar-500:#fc9c26;--color-ambar-600:#ec8403;--color-ambar-700:#d87803;--color-ambar-800:#ba6803;--color-ambar-900:#975402;--color-ambar-950:#402301;--color-gray-50:#fff;--color-gray-100:#f3f4f4;--color-gray-200:#e5e6e6;--color-gray-300:#bfc0c0;--color-gray-400:#acaeae;--color-gray-500:#949595;--color-gray-600:#737575;--color-gray-700:#6c6e6e;--color-gray-800:#313333;--color-gray-900:#272929;--color-gray-950:#191d1d;--color-white-opacity-50:#ffffff0d;--color-white-opacity-100:#ffffff1a;--color-white-opacity-200:#ffffff26;--color-white-opacity-300:#ffffff45;--color-white-opacity-400:#ffffff5c;--color-white-opacity-500:#ffffff80;--color-white-opacity-600:#ffffff8c;--color-white-opacity-700:#ffffffa3;--color-white-opacity-800:#ffffffba;--color-white-opacity-900:#fffc;--color-white-opacity-950:#ffffffe8;--color-ciano-50:#f1f6fe;--color-ciano-100:#dfeafc;--color-ciano-200:#c3d9f9;--color-ciano-300:#90b9f4;--color-ciano-400:#5d98ee;--color-ciano-500:#1769e0;--color-ciano-600:#155fcb;--color-ciano-700:#1355b4;--color-ciano-800:#104899;--color-ciano-900:#0d3b7d;--color-ciano-950:#071e40;--color-extra-color-blue-light:#e7f0f4;--color-extra-color-blue-dark:#162931;--color-black-opacity-50:rgba(25,29,29,.02);--color-black-opacity-100:rgba(25,29,29,.05);--color-black-opacity-200:rgba(25,29,29,.11);--color-black-opacity-300:rgba(25,29,29,.28);--color-black-opacity-400:rgba(25,29,29,.36);--color-black-opacity-500:rgba(25,29,29,.44);--color-black-opacity-600:rgba(25,29,29,.62);--color-black-opacity-700:rgba(25,29,29,.64);--color-black-opacity-800:rgba(25,29,29,.72);--color-black-opacity-900:rgba(25,29,29,.8);--color-black-opacity-950:rgba(25,29,29,.96);--color-shadow-opacity-50:rgba(0,0,0,.04);--color-shadow-opacity-100:rgba(0,0,0,.06);--color-shadow-opacity-200:rgba(0,0,0,.12);--color-shadow-opacity-300:rgba(0,0,0,.2);--color-shadow-opacity-400:rgba(0,0,0,.32);--color-shadow-opacity-500:rgba(0,0,0,.5);--color-shadow-opacity-600:rgba(0,0,0,.55);--color-shadow-opacity-700:rgba(0,0,0,.64);--color-shadow-opacity-800:rgba(0,0,0,.73);--color-shadow-opacity-900:rgba(0,0,0,.8);--color-shadow-opacity-950:rgba(0,0,0,.91);--color-feedback-success:#04843f;--color-feedback-error:#c80505;--color-feedback-informational:#1355b4;--color-feedback-alert:#ef9928;--color-brand-primary:#f05223;--color-brand-secondary:#001c5c;--color-brand-tertiary-1:#1769e0;--color-brand-tertiary-2:#fc9c26;--color-surface-body:#fff;--color-surface-on-body:#f3f4f4;--color-surface-on-body-blue:#e7f0f4;--color-surface-on-body-brand:#fff6eb;--color-surface-on-body-feedback-success:#e6f4ed;--color-surface-on-body-feedback-error:#fde8e8;--color-surface-on-body-feedback-alert:#fdf4e7;--color-surface-on-body-feedback-info:#dfeafc;--color-text-brand:#f05223;--color-text-primary:#313333;--color-text-secondary:#6c6e6e;--color-text-disabled:#949595;--color-text-link:#1355b4;--color-states-empty-bg-hover:rgba(25,29,29,.05);--color-states-empty-bg-pressed:rgba(25,29,29,.11);--color-states-bg-disabled:rgba(25,29,29,.02);--color-states-bg-focus:#1355b4;--color-states-primary-hover:#ea4210;--color-states-primary-pressed:#d23b0e;--color-states-danger-hover:#b30404;--color-states-danger-pressed:#9f0404;--color-states-negative-hover:#e5e6e6;--color-states-negative-pressed:#bfc0c0;--color-icon-primary:#6c6e6e;--color-icon-secondary:#fff;--color-icon-tertiary:#b30404;--color-icon-disabled:#acaeae;--color-neutral-neutral-1:#fff;--color-neutral-neutral-2:#f3f4f4;--color-neutral-neutral-3:#acaeae;--color-neutral-neutral-4:#949595;--color-neutral-neutral-5:#737575;--color-neutral-neutral-6:#6c6e6e;--color-neutral-neutral-7:#313333;--color-neutral-neutral-8:#272929;--color-negative-negative-1:#fff;--color-negative-negative-2:#313333;--color-opacity-body:#fffc;--color-opacity-on-body:rgba(25,29,29,.02);--color-opacity-overlay:rgba(25,29,29,.62);--color-opacity-on-overlay:#ffffff1a;--color-line-input:#949595;--color-line-general-strong:#bfc0c0;--color-line-general:#e5e6e6;--color-line-hair:rgba(25,29,29,.05);--color-box-shadow-body:#fff;--color-box-shadow-shadow-color-1:rgba(0,0,0,.04);--color-box-shadow-shadow-color-2:rgba(0,0,0,.06)}.static{position:static}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-top-16{top:-1rem}.-top-64{top:-4rem}.-top-8{top:-.5rem}.right-0{right:0}.right-12{right:.75rem}.right-20{right:1.25rem}.right-32{right:2rem}.top-20{top:1.25rem}.top-32{top:2rem}.z-\[999\]{z-index:999}.mt-12{margin-top:.75rem}.mt-48{margin-top:3rem}.flex{display:flex}.hidden{display:none}.h-40{height:2.5rem}.h-64{height:4rem}.h-\[20vh\]{height:20vh}.h-\[50vh\]{height:50vh}.h-\[70vh\]{height:70vh}.h-full{height:100%}.max-h-\[40vh\]{max-height:40vh}.max-h-\[67\.6vh\]{max-height:67.6vh}.max-h-\[72\.7vh\]{max-height:72.7vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[87\%\]{max-height:87%}.max-h-\[90vh\]{max-height:90vh}.w-1\/2{width:50%}.w-40{width:2.5rem}.w-64{width:4rem}.w-\[440px\]{width:440px}.w-full{width:100%}.cursor-pointer{cursor:pointer}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:2.5rem}.rounded-none{border-radius:0}.rounded-b-none{border-bottom-left-radius:0;border-bottom-right-radius:0}.rounded-l-none{border-bottom-left-radius:0;border-top-left-radius:0}.border{border-width:1px}.border-line-general{border-color:var(--color-line-general)}.border-line-hair{border-color:var(--color-line-hair)}.bg-opacity-on-overlay{background-color:var(--color-opacity-on-overlay)}.bg-opacity-overlay{background-color:var(--color-opacity-overlay)}.bg-surface-body{background-color:var(--color-surface-body)}.bg-surface-on-body{background-color:var(--color-surface-on-body)}.object-cover{object-fit:cover}.px-14{padding-left:.875rem;padding-right:.875rem}.py-24{padding-bottom:1.5rem;padding-top:1.5rem}.py-48{padding-bottom:3rem;padding-top:3rem}.pb-0{padding-bottom:0}.pb-24{padding-bottom:1.5rem}.pb-32{padding-bottom:2rem}.pb-40{padding-bottom:2.5rem}.pr-16{padding-right:1rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-5xl{font-size:3rem;line-height:1}.text-heading-medium{font-size:2rem;font-weight:700;letter-spacing:0;line-height:36px}.text-heading-small{font-size:1.5rem}.text-heading-small,.text-paragraph-large-bold{font-weight:700;letter-spacing:0;line-height:28px}.text-paragraph-large-bold{font-size:1.25rem}.text-paragraph-medium-regular{font-size:1rem;font-weight:400;letter-spacing:0;line-height:24px}.text-icon-primary{color:var(--color-icon-primary)}.text-negative-negative-1{color:var(--color-negative-negative-1)}.text-text-primary{color:var(--color-text-primary)}.text-text-secondary{color:var(--color-text-secondary)}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.hover\:bg-states-empty-bg-hover:hover{background-color:var(--color-states-empty-bg-hover)}@media (min-width:48rem){.md\:relative{position:relative}.md\:-top-16{top:-1rem}.md\:right-0{right:0}.md\:h-auto{height:auto}.md\:w-1\/2{width:50%}.md\:w-\[448px\]{width:448px}.md\:w-\[768px\]{width:768px}.md\:w-\[80vw\]{width:80vw}.md\:w-\[852px\]{width:852px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:rounded-lg{border-radius:2.5rem}.md\:rounded-b-lg{border-bottom-left-radius:2.5rem;border-bottom-right-radius:2.5rem}.md\:rounded-l-none{border-bottom-left-radius:0;border-top-left-radius:0}.md\:rounded-r-none{border-bottom-right-radius:0;border-top-right-radius:0}.md\:bg-surface-on-body{background-color:var(--color-surface-on-body)}.md\:px-32{padding-left:2rem;padding-right:2rem}.md\:py-48{padding-bottom:3rem;padding-top:3rem}.md\:pb-24{padding-bottom:1.5rem}.md\:pb-96{padding-bottom:6rem}.md\:text-icon-primary{color:var(--color-icon-primary)}}
1
+ *,:after,:before{--tw-ring-color:rgba(59,130,246,.5);--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(147,197,253,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: ;border:0 solid #e5e7eb;box-sizing:border-box}::backdrop{--tw-ring-color:rgba(59,130,246,.5);--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(147,197,253,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;tab-size:4}body{font-family:Figtree;line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.contents{display:contents}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.opacity-0{opacity:0}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}:host,:host button,:host input,:host option,:host select,:host textarea{font-family:Figtree,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:host{display:contents}.modal-overlay{transition:opacity .3s ease-out}.modal-overlay.opacity-0{pointer-events:none}.modal-slide-up{transform:translateY(100%)}@media (min-width:768px){.modal-slide-up{transform:translateY(20px) scale(.95)}}.modal-slide-up.modal-active{transform:translateY(0) scale(1)}.modal-slide-right{transform:translateX(100%)}.modal-slide-right.modal-active{transform:translateX(0)}@font-face{font-display:swap;font-family:Figtree;font-style:normal;font-weight:300;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-Light.ttf) format("truetype")}@font-face{font-display:swap;font-family:Figtree;font-style:italic;font-weight:300;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-LightItalic.ttf) format("truetype")}@font-face{font-display:swap;font-family:Figtree;font-style:normal;font-weight:400;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-Regular.ttf) format("truetype")}@font-face{font-display:swap;font-family:Figtree;font-style:italic;font-weight:400;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-Italic.ttf) format("truetype")}@font-face{font-display:swap;font-family:Figtree;font-style:normal;font-weight:500;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-Medium.ttf) format("truetype")}@font-face{font-display:swap;font-family:Figtree;font-style:italic;font-weight:500;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-MediumItalic.ttf) format("truetype")}@font-face{font-display:swap;font-family:Figtree;font-style:normal;font-weight:600;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-SemiBold.ttf) format("truetype")}@font-face{font-display:swap;font-family:Figtree;font-style:italic;font-weight:600;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-SemiBoldItalic.ttf) format("truetype")}@font-face{font-display:swap;font-family:Figtree;font-style:normal;font-weight:700;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-Bold.ttf) format("truetype")}@font-face{font-display:swap;font-family:Figtree;font-style:italic;font-weight:700;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-BoldItalic.ttf) format("truetype")}@font-face{font-display:swap;font-family:Figtree;font-style:normal;font-weight:800;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-ExtraBold.ttf) format("truetype")}@font-face{font-display:swap;font-family:Figtree;font-style:italic;font-weight:800;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-ExtraBoldItalic.ttf) format("truetype")}@font-face{font-display:swap;font-family:Figtree;font-style:normal;font-weight:900;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-Black.ttf) format("truetype")}@font-face{font-display:swap;font-family:Figtree;font-style:italic;font-weight:900;src:local("Figtree"),url(@sula-tech/tailwind-css-plugin/assets/fonts/Figtree-BlackItalic.ttf) format("truetype")}:root{--color-green-50:#f1f9f4;--color-green-100:#e6f4ed;--color-green-200:#cae7d8;--color-green-300:#a0d4b8;--color-green-400:#68bb8e;--color-green-500:#04843f;--color-green-600:#037236;--color-green-700:#03632f;--color-green-800:#035428;--color-green-900:#024521;--color-green-950:#012b15;--color-red-50:#fef6f6;--color-red-100:#fde8e8;--color-red-200:#fad1d1;--color-red-300:#f7abab;--color-red-400:#f17474;--color-red-500:#c80505;--color-red-600:#b30404;--color-red-700:#9f0404;--color-red-800:#860303;--color-red-900:#6d0303;--color-red-950:#330d00;--color-yellow-50:#fdf4e7;--color-yellow-100:#fcedd9;--color-yellow-200:#fae0bd;--color-yellow-300:#f6c788;--color-yellow-400:#f3b159;--color-yellow-500:#ef9928;--color-yellow-600:#e49226;--color-yellow-700:#d17e10;--color-yellow-800:#b46d0e;--color-yellow-900:#93590b;--color-yellow-950:#402705;--color-orange-50:#fef4f1;--color-orange-100:#fde8e2;--color-orange-200:#fbd2c6;--color-orange-300:#f8b4a0;--color-orange-400:#f58e70;--color-orange-500:#f05223;--color-orange-600:#ea4210;--color-orange-700:#d23b0e;--color-orange-800:#b5330c;--color-orange-900:#942a0a;--color-orange-950:#401204;--color-blue-50:#ecf0f9;--color-blue-100:#dde3f4;--color-blue-200:#b2c2e5;--color-blue-300:#7994d2;--color-blue-400:#4066bf;--color-blue-500:#001e64;--color-blue-600:#001c5c;--color-blue-700:#00174c;--color-blue-800:#00123d;--color-blue-900:#000f33;--color-blue-950:#000d2b;--color-ambar-50:#fff6eb;--color-ambar-100:#ffefdc;--color-ambar-200:#fedfb9;--color-ambar-300:#fdca8b;--color-ambar-400:#fdb359;--color-ambar-500:#fc9c26;--color-ambar-600:#ec8403;--color-ambar-700:#d87803;--color-ambar-800:#ba6803;--color-ambar-900:#975402;--color-ambar-950:#402301;--color-gray-50:#fff;--color-gray-100:#f3f4f4;--color-gray-200:#e5e6e6;--color-gray-300:#bfc0c0;--color-gray-400:#acaeae;--color-gray-500:#949595;--color-gray-600:#737575;--color-gray-700:#6c6e6e;--color-gray-800:#313333;--color-gray-900:#272929;--color-gray-950:#191d1d;--color-white-opacity-50:#ffffff0d;--color-white-opacity-100:#ffffff1a;--color-white-opacity-200:#ffffff26;--color-white-opacity-300:#ffffff45;--color-white-opacity-400:#ffffff5c;--color-white-opacity-500:#ffffff80;--color-white-opacity-600:#ffffff8c;--color-white-opacity-700:#ffffffa3;--color-white-opacity-800:#ffffffba;--color-white-opacity-900:#fffc;--color-white-opacity-950:#ffffffe8;--color-ciano-50:#f1f6fe;--color-ciano-100:#dfeafc;--color-ciano-200:#c3d9f9;--color-ciano-300:#90b9f4;--color-ciano-400:#5d98ee;--color-ciano-500:#1769e0;--color-ciano-600:#155fcb;--color-ciano-700:#1355b4;--color-ciano-800:#104899;--color-ciano-900:#0d3b7d;--color-ciano-950:#071e40;--color-extra-color-blue-light:#e7f0f4;--color-extra-color-blue-dark:#162931;--color-black-opacity-50:rgba(25,29,29,.02);--color-black-opacity-100:rgba(25,29,29,.05);--color-black-opacity-200:rgba(25,29,29,.11);--color-black-opacity-300:rgba(25,29,29,.28);--color-black-opacity-400:rgba(25,29,29,.36);--color-black-opacity-500:rgba(25,29,29,.44);--color-black-opacity-600:rgba(25,29,29,.62);--color-black-opacity-700:rgba(25,29,29,.64);--color-black-opacity-800:rgba(25,29,29,.72);--color-black-opacity-900:rgba(25,29,29,.8);--color-black-opacity-950:rgba(25,29,29,.96);--color-shadow-opacity-50:rgba(0,0,0,.04);--color-shadow-opacity-100:rgba(0,0,0,.06);--color-shadow-opacity-200:rgba(0,0,0,.12);--color-shadow-opacity-300:rgba(0,0,0,.2);--color-shadow-opacity-400:rgba(0,0,0,.32);--color-shadow-opacity-500:rgba(0,0,0,.5);--color-shadow-opacity-600:rgba(0,0,0,.55);--color-shadow-opacity-700:rgba(0,0,0,.64);--color-shadow-opacity-800:rgba(0,0,0,.73);--color-shadow-opacity-900:rgba(0,0,0,.8);--color-shadow-opacity-950:rgba(0,0,0,.91);--color-feedback-success:#04843f;--color-feedback-error:#c80505;--color-feedback-informational:#1355b4;--color-feedback-alert:#ef9928;--color-brand-primary:#f05223;--color-brand-secondary:#001c5c;--color-brand-tertiary-1:#1769e0;--color-brand-tertiary-2:#fc9c26;--color-surface-body:#fff;--color-surface-on-body:#f3f4f4;--color-surface-on-body-blue:#e7f0f4;--color-surface-on-body-brand:#fff6eb;--color-surface-on-body-feedback-success:#e6f4ed;--color-surface-on-body-feedback-error:#fde8e8;--color-surface-on-body-feedback-alert:#fdf4e7;--color-surface-on-body-feedback-info:#dfeafc;--color-text-brand:#f05223;--color-text-primary:#313333;--color-text-secondary:#6c6e6e;--color-text-disabled:#949595;--color-text-link:#1355b4;--color-states-empty-bg-hover:rgba(25,29,29,.05);--color-states-empty-bg-pressed:rgba(25,29,29,.11);--color-states-bg-disabled:rgba(25,29,29,.02);--color-states-bg-focus:#1355b4;--color-states-primary-hover:#ea4210;--color-states-primary-pressed:#d23b0e;--color-states-danger-hover:#b30404;--color-states-danger-pressed:#9f0404;--color-states-negative-hover:#e5e6e6;--color-states-negative-pressed:#bfc0c0;--color-icon-primary:#6c6e6e;--color-icon-secondary:#fff;--color-icon-tertiary:#b30404;--color-icon-disabled:#acaeae;--color-neutral-neutral-1:#fff;--color-neutral-neutral-2:#f3f4f4;--color-neutral-neutral-3:#acaeae;--color-neutral-neutral-4:#949595;--color-neutral-neutral-5:#737575;--color-neutral-neutral-6:#6c6e6e;--color-neutral-neutral-7:#313333;--color-neutral-neutral-8:#272929;--color-negative-negative-1:#fff;--color-negative-negative-2:#313333;--color-opacity-body:#fffc;--color-opacity-on-body:rgba(25,29,29,.02);--color-opacity-overlay:rgba(25,29,29,.62);--color-opacity-on-overlay:#ffffff1a;--color-line-input:#949595;--color-line-general-strong:#bfc0c0;--color-line-general:#e5e6e6;--color-line-hair:rgba(25,29,29,.05);--color-box-shadow-body:#fff;--color-box-shadow-shadow-color-1:rgba(0,0,0,.04);--color-box-shadow-shadow-color-2:rgba(0,0,0,.06)}.static{position:static}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.right-20{right:1.25rem}.right-24{right:1.5rem}.right-32{right:2rem}.top-20{top:1.25rem}.top-24{top:1.5rem}.z-\[1\]{z-index:1}.z-\[999\]{z-index:999}.mt-12{margin-top:.75rem}.mt-48{margin-top:3rem}.flex{display:flex}.hidden{display:none}.h-40{height:2.5rem}.h-64{height:4rem}.h-\[20vh\]{height:20vh}.h-\[50vh\]{height:50vh}.h-\[70vh\]{height:70vh}.h-full{height:100%}.max-h-\[40vh\]{max-height:40vh}.max-h-\[67\.6vh\]{max-height:67.6vh}.max-h-\[72\.7vh\]{max-height:72.7vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[87\%\]{max-height:87%}.max-h-\[90vh\]{max-height:90vh}.w-1\/2{width:50%}.w-40{width:2.5rem}.w-64{width:4rem}.w-\[440px\]{width:440px}.w-full{width:100%}.cursor-pointer{cursor:pointer}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:2.5rem}.rounded-none{border-radius:0}.rounded-b-none{border-bottom-left-radius:0;border-bottom-right-radius:0}.rounded-l-none{border-bottom-left-radius:0;border-top-left-radius:0}.border{border-width:1px}.border-line-general{border-color:var(--color-line-general)}.border-line-hair{border-color:var(--color-line-hair)}.bg-opacity-overlay{background-color:var(--color-opacity-overlay)}.bg-surface-body{background-color:var(--color-surface-body)}.bg-surface-on-body{background-color:var(--color-surface-on-body)}.object-cover{object-fit:cover}.px-14{padding-left:.875rem;padding-right:.875rem}.py-24{padding-bottom:1.5rem;padding-top:1.5rem}.pb-0{padding-bottom:0}.pb-24{padding-bottom:1.5rem}.pb-32{padding-bottom:2rem}.pr-16{padding-right:1rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-5xl{font-size:3rem;line-height:1}.text-heading-medium{font-size:2rem;font-weight:700;letter-spacing:0;line-height:36px}.text-heading-small{font-size:1.5rem}.text-heading-small,.text-paragraph-large-bold{font-weight:700;letter-spacing:0;line-height:28px}.text-paragraph-large-bold{font-size:1.25rem}.text-paragraph-medium-regular{font-size:1rem;font-weight:400;letter-spacing:0;line-height:24px}.text-icon-primary{color:var(--color-icon-primary)}.text-text-primary{color:var(--color-text-primary)}.text-text-secondary{color:var(--color-text-secondary)}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.hover\:bg-states-empty-bg-hover:hover{background-color:var(--color-states-empty-bg-hover)}@media (min-width:48rem){.md\:right-24{right:1.5rem}.md\:right-32{right:2rem}.md\:top-24{top:1.5rem}.md\:top-32{top:2rem}.md\:h-auto{height:auto}.md\:w-1\/2{width:50%}.md\:w-\[448px\]{width:448px}.md\:w-\[768px\]{width:768px}.md\:w-\[80vw\]{width:80vw}.md\:w-\[852px\]{width:852px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:rounded-lg{border-radius:2.5rem}.md\:rounded-b-lg{border-bottom-left-radius:2.5rem;border-bottom-right-radius:2.5rem}.md\:rounded-l-none{border-bottom-left-radius:0;border-top-left-radius:0}.md\:rounded-r-none{border-bottom-right-radius:0;border-top-right-radius:0}.md\:px-32{padding-left:2rem;padding-right:2rem}.md\:py-48{padding-bottom:3rem;padding-top:3rem}.md\:pb-96{padding-bottom:6rem}}
@@ -113,6 +113,9 @@ export class SulaModal {
113
113
  isPromoOrSpecialSide() {
114
114
  return this.type === SulaModalType.Promo || this.type === SulaModalType.SpecialSide;
115
115
  }
116
+ hasHeaderIcon() {
117
+ return (this.type === SulaModalType.Alert || this.type === SulaModalType.Custom) && !!this.headerIcon;
118
+ }
116
119
  hasSlotContent() {
117
120
  return (this.type === SulaModalType.Custom || this.type === SulaModalType.Promo || this.type === SulaModalType.List || this.type === SulaModalType.CustomFull || this.isSideModal());
118
121
  }
@@ -142,7 +145,7 @@ export class SulaModal {
142
145
  }
143
146
  getContentClasses() {
144
147
  return {
145
- 'bg-surface-body rounded-b-none border border-line-hair px-14 py-24 md:px-32 md:py-48': true,
148
+ 'bg-surface-body rounded-b-none border border-line-hair px-14 py-24 md:px-32 md:py-48 relative': true,
146
149
  'md:rounded-b-lg rounded-lg': !this.isSideModal(),
147
150
  'w-full md:w-[448px]': this.type === SulaModalType.Alert,
148
151
  'w-full md:w-[768px] pb-32': this.type === SulaModalType.Custom,
@@ -154,21 +157,16 @@ export class SulaModal {
154
157
  }
155
158
  getHeaderClasses() {
156
159
  return {
157
- 'flex w-full': true,
158
- 'relative': !this.isListOrCustomFull() && this.type !== SulaModalType.Promo && this.type !== SulaModalType.Side,
159
- 'pb-24': this.type !== SulaModalType.Promo && this.type !== SulaModalType.Side,
160
- 'pb-0 md:pb-24 md:relative': this.type === SulaModalType.Promo,
161
- 'pb-40': this.type === SulaModalType.Side,
160
+ 'flex w-full items-start': this.hasHeaderIcon(),
161
+ 'pb-24': this.hasHeaderIcon(),
162
162
  };
163
163
  }
164
164
  getCloseButtonClasses() {
165
165
  return {
166
- 'w-40 h-40 rounded-full absolute right-0 flex justify-center items-center cursor-pointer': true,
167
- '-top-8 md:-top-16': !this.isListOrCustomFull() && this.type !== SulaModalType.Promo && this.type !== SulaModalType.Side,
168
- 'bg-surface-on-body hover:bg-states-empty-bg-hover text-icon-primary': !this.isListOrCustomFull() && this.type !== SulaModalType.Promo,
169
- 'top-20 right-20 bg-opacity-overlay text-negative-negative-1 md:bg-surface-on-body hover:bg-states-empty-bg-hover md:-top-16 md:text-icon-primary': this.type === SulaModalType.Promo,
170
- '-top-64 right-12 md:right-0 bg-opacity-on-overlay text-negative-negative-1': this.isListOrCustomFull(),
171
- 'top-32 right-32': this.type === SulaModalType.Side,
166
+ 'w-40 h-40 rounded-full absolute flex justify-center items-center cursor-pointer z-[1]': true,
167
+ 'bg-surface-on-body hover:bg-states-empty-bg-hover text-icon-primary': true,
168
+ 'top-24 right-24 md:top-32 md:right-32': this.type !== SulaModalType.Promo,
169
+ 'top-20 right-20 md:top-24 md:right-24': this.type === SulaModalType.Promo,
172
170
  };
173
171
  }
174
172
  getTitleContainerClasses() {
@@ -213,7 +211,7 @@ export class SulaModal {
213
211
  return (h("div", { class: imageClasses }, h("img", { src: this.promoImage, alt: "Promotional Image", class: "w-full h-full object-cover" })));
214
212
  }
215
213
  renderHeaderIcon() {
216
- if ((this.type === SulaModalType.Alert || this.type === SulaModalType.Custom) && this.headerIcon) {
214
+ if (this.hasHeaderIcon()) {
217
215
  return (h("div", { class: "w-64 h-64 border border-line-general flex justify-center items-center rounded-full" }, h("sula-icon", { icon: this.headerIcon, customClass: "text-5xl text-icon-primary", class: "flex" })));
218
216
  }
219
217
  return null;
@@ -243,7 +241,7 @@ export class SulaModal {
243
241
  if (!this.shouldRender) {
244
242
  return h(Host, null);
245
243
  }
246
- return (h(Host, null, h("div", { class: this.getOverlayClasses(), onClick: event => this.handleClickOutside(event) }, h("div", { class: this.getWrapperClasses() }, this.renderPromoImage(), h("div", { class: this.getContentClasses() }, h("div", { class: this.getHeaderClasses() }, this.renderHeaderIcon(), this.renderCloseButton()), this.renderTitleSection(), this.renderSlot(), this.renderButtons())))));
244
+ return (h(Host, null, h("div", { class: this.getOverlayClasses(), onClick: event => this.handleClickOutside(event) }, h("div", { class: this.getWrapperClasses() }, this.renderPromoImage(), h("div", { class: this.getContentClasses() }, this.renderCloseButton(), h("div", { class: this.getHeaderClasses() }, this.renderHeaderIcon()), this.renderTitleSection(), this.renderSlot(), this.renderButtons())))));
247
245
  }
248
246
  static get is() { return "sula-modal"; }
249
247
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"sula-modal.js","sourceRoot":"","sources":["../../../src/components/sula-modal/sula-modal.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, Host, Prop, State, Watch, h } from '@stencil/core';\nimport { SulaModalSlotOverflow, SulaModalType } from './model/sula-modal.model';\nimport { SulaButtonAppearance } from '../sula-button/model/sula-button.model';\n\n@Component({\n tag: 'sula-modal',\n styleUrl: 'sula-modal.scss',\n shadow: true,\n})\nexport class SulaModal {\n /**\n * Is modal opened\n */\n @Prop({ mutable: true }) opened: boolean = false;\n\n /**\n * Block body scroll when modal is opened\n */\n @Prop({ mutable: true }) blockBodyScroll: boolean = true;\n\n /**\n * Close modal when clicking outside\n */\n @Prop({ mutable: true }) closeOnClickOutside: boolean = true;\n\n /**\n * Type of the modal\n */\n @Prop() type: SulaModalType = SulaModalType.Custom;\n\n /**\n * Icon of the modal header\n */\n @Prop() headerIcon: string = '';\n\n /**\n * Title of the modal\n */\n @Prop() modalTitle: string = '';\n\n /**\n * Promotional image URL for promo type modal\n */\n @Prop() promoImage: string = '';\n\n /**\n * Subtitle of the modal\n */\n @Prop() subTitle: string = '';\n\n /**\n * Primary button text\n */\n @Prop() primaryButtonText: string = '';\n\n /**\n * Secondary button text\n */\n @Prop() secondaryButtonText: string = '';\n\n /**\n * Slot overflow behavior\n */\n @Prop() slotOverflow: SulaModalSlotOverflow = SulaModalSlotOverflow.Auto;\n\n /**\n * Event emitted when the modal is closed\n */\n @Event()\n modalClosed: EventEmitter<void>;\n\n /**\n * Event emitted when the primary button is clicked\n */\n @Event()\n primaryButtonClicked: EventEmitter<void>;\n\n /**\n * Event emitted when the secondary button is clicked\n */\n @Event()\n secondaryButtonClicked: EventEmitter<void>;\n\n @Element() hostElement: HTMLElement;\n\n @State() isAnimating: boolean = false;\n @State() shouldRender: boolean = false;\n\n private closeTimeout: NodeJS.Timeout;\n\n @Watch('opened')\n handleOpenedChange(newValue: boolean) {\n if (newValue) {\n this.shouldRender = true;\n\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n this.isAnimating = true;\n });\n });\n } else {\n this.isAnimating = false;\n\n this.closeTimeout = setTimeout(() => {\n this.shouldRender = false;\n }, 300);\n }\n this.handleParentOverflow();\n }\n\n componentWillLoad() {\n if (this.opened) {\n this.shouldRender = true;\n this.isAnimating = true;\n }\n this.handleParentOverflow();\n }\n\n disconnectedCallback() {\n if (this.closeTimeout) {\n clearTimeout(this.closeTimeout);\n }\n }\n\n handleParentOverflow(): void {\n const overflow = this.opened && this.blockBodyScroll ? 'hidden' : 'inherit';\n\n if (this.hostElement?.parentElement) {\n this.hostElement.parentElement.style.overflow = overflow;\n }\n }\n\n closeModal(): void {\n this.opened = false;\n this.modalClosed.emit();\n }\n\n handleClickOutside(event: MouseEvent): void {\n if (this.closeOnClickOutside && event.target === event.currentTarget) {\n this.closeModal();\n }\n }\n\n handlePrimaryButtonClick(): void {\n this.primaryButtonClicked.emit();\n }\n\n handleSecondaryButtonClick(): void {\n this.secondaryButtonClicked.emit();\n }\n\n isAlertOrCustomOrPromo(): boolean {\n return this.type === SulaModalType.Alert || this.type === SulaModalType.Custom || this.type === SulaModalType.Promo;\n }\n\n isListOrCustomFull(): boolean {\n return this.type === SulaModalType.List || this.type === SulaModalType.CustomFull;\n }\n\n isSideModal(): boolean {\n return this.type === SulaModalType.Side || this.type === SulaModalType.SpecialSide;\n }\n\n isPromoOrSpecialSide(): boolean {\n return this.type === SulaModalType.Promo || this.type === SulaModalType.SpecialSide;\n }\n\n hasSlotContent(): boolean {\n return (\n this.type === SulaModalType.Custom || this.type === SulaModalType.Promo || this.type === SulaModalType.List || this.type === SulaModalType.CustomFull || this.isSideModal()\n );\n }\n\n hasButtons(): boolean {\n return this.type === SulaModalType.Alert || this.type === SulaModalType.Custom;\n }\n\n getOverlayClasses(): Record<string, boolean> {\n return {\n 'modal-overlay absolute inset-0 bg-opacity-overlay flex z-[999] transition-opacity duration-300': true,\n 'opacity-100': this.isAnimating,\n 'opacity-0': !this.isAnimating,\n 'items-end justify-center md:items-center': this.isAlertOrCustomOrPromo(),\n 'items-end justify-center': this.isListOrCustomFull(),\n 'justify-end': this.isSideModal(),\n };\n }\n\n getWrapperClasses(): Record<string, boolean> {\n return {\n 'modal-wrapper transition-all duration-300 ease-out': true,\n 'w-full md:w-[852px] flex md:flex-row flex-col h-[70vh] md:h-auto relative': this.type === SulaModalType.Promo,\n 'w-full flex justify-center items-center': !this.isPromoOrSpecialSide() && !this.isSideModal(),\n 'w-full flex justify-end': this.isSideModal(),\n\n 'modal-slide-up': (this.isAlertOrCustomOrPromo() || this.isListOrCustomFull()) && !this.isSideModal(),\n 'modal-slide-right': this.isSideModal(),\n 'modal-active': this.isAnimating,\n };\n }\n\n getContentClasses(): Record<string, boolean> {\n return {\n 'bg-surface-body rounded-b-none border border-line-hair px-14 py-24 md:px-32 md:py-48': true,\n 'md:rounded-b-lg rounded-lg': !this.isSideModal(),\n 'w-full md:w-[448px]': this.type === SulaModalType.Alert,\n 'w-full md:w-[768px] pb-32': this.type === SulaModalType.Custom,\n 'w-full md:w-1/2 h-[50vh] md:h-auto pb-0 md:pb-96 rounded-none md:rounded-lg md:rounded-l-none': this.type === SulaModalType.Promo,\n 'w-full md:w-[80vw] max-h-[90vh] rounded-b-none relative': this.isListOrCustomFull(),\n 'rounded-none w-[440px]': this.type === SulaModalType.Side,\n 'rounded-none w-1/2': this.type === SulaModalType.SpecialSide,\n };\n }\n\n getHeaderClasses(): Record<string, boolean> {\n return {\n 'flex w-full': true,\n 'relative': !this.isListOrCustomFull() && this.type !== SulaModalType.Promo && this.type !== SulaModalType.Side,\n 'pb-24': this.type !== SulaModalType.Promo && this.type !== SulaModalType.Side,\n 'pb-0 md:pb-24 md:relative': this.type === SulaModalType.Promo,\n 'pb-40': this.type === SulaModalType.Side,\n };\n }\n\n getCloseButtonClasses(): Record<string, boolean> {\n return {\n 'w-40 h-40 rounded-full absolute right-0 flex justify-center items-center cursor-pointer': true,\n '-top-8 md:-top-16': !this.isListOrCustomFull() && this.type !== SulaModalType.Promo && this.type !== SulaModalType.Side,\n 'bg-surface-on-body hover:bg-states-empty-bg-hover text-icon-primary': !this.isListOrCustomFull() && this.type !== SulaModalType.Promo,\n 'top-20 right-20 bg-opacity-overlay text-negative-negative-1 md:bg-surface-on-body hover:bg-states-empty-bg-hover md:-top-16 md:text-icon-primary':\n this.type === SulaModalType.Promo,\n '-top-64 right-12 md:right-0 bg-opacity-on-overlay text-negative-negative-1': this.isListOrCustomFull(),\n 'top-32 right-32': this.type === SulaModalType.Side,\n };\n }\n\n getTitleContainerClasses(): Record<string, boolean> {\n return {\n 'flex flex-col space-y-12': true,\n 'items-center justify-center': this.type === SulaModalType.List,\n };\n }\n\n getTitleClasses(): Record<string, boolean> {\n return {\n 'text-heading-small text-text-primary pr-16': true,\n 'text-paragraph-large-bold': this.type === SulaModalType.List,\n 'text-heading-medium': this.type === SulaModalType.List,\n };\n }\n\n getSlotClasses(): Record<string, boolean> {\n return {\n 'mt-12 w-full max-h-[40vh]': true,\n 'max-h-[80vh]': this.type === SulaModalType.List,\n 'max-h-[67.6vh]': this.type === SulaModalType.CustomFull,\n 'max-h-[72.7vh]': this.type === SulaModalType.Side,\n 'max-h-[87%]': this.type === SulaModalType.SpecialSide,\n 'overflow-auto': this.slotOverflow === SulaModalSlotOverflow.Auto,\n 'overflow-hidden': this.slotOverflow === SulaModalSlotOverflow.Hidden,\n };\n }\n\n getButtonContainerClasses(): Record<string, boolean> {\n return {\n 'w-full mt-48 flex': true,\n 'flex-col space-y-12': this.type === SulaModalType.Alert,\n 'flex-row-reverse space-x-reverse space-x-12': this.type === SulaModalType.Custom,\n };\n }\n\n renderPromoImage() {\n if (!this.isPromoOrSpecialSide()) {\n return null;\n }\n\n const imageClasses = {\n 'w-full md:w-1/2 h-[20vh] md:h-auto overflow-hidden flex': true,\n 'rounded-b-none md:rounded-b-lg md:rounded-r-none rounded-lg': this.type === SulaModalType.Promo,\n };\n\n return (\n <div class={imageClasses}>\n <img src={this.promoImage} alt=\"Promotional Image\" class=\"w-full h-full object-cover\" />\n </div>\n );\n }\n\n renderHeaderIcon() {\n if ((this.type === SulaModalType.Alert || this.type === SulaModalType.Custom) && this.headerIcon) {\n return (\n <div class=\"w-64 h-64 border border-line-general flex justify-center items-center rounded-full\">\n <sula-icon icon={this.headerIcon} customClass=\"text-5xl text-icon-primary\" class=\"flex\" />\n </div>\n );\n }\n return null;\n }\n\n renderCloseButton() {\n return (\n <div class={this.getCloseButtonClasses()} onClick={() => this.closeModal()}>\n <sula-icon icon=\"ph ph-x\" customClass=\"text-2xl\" class=\"flex\" />\n </div>\n );\n }\n\n renderTitleSection() {\n if (!this.modalTitle && !this.subTitle) {\n return null;\n }\n\n return (\n <div class={this.getTitleContainerClasses()}>\n {this.modalTitle && <h1 class={this.getTitleClasses()}>{this.modalTitle}</h1>}\n {this.subTitle && <p class=\"text-paragraph-medium-regular text-text-secondary\">{this.subTitle}</p>}\n </div>\n );\n }\n\n renderSlot() {\n if (!this.hasSlotContent()) {\n return null;\n }\n\n return (\n <div class={this.getSlotClasses()}>\n <slot></slot>\n </div>\n );\n }\n\n renderButtons() {\n if (!this.hasButtons()) {\n return null;\n }\n\n return (\n <div class={this.getButtonContainerClasses()}>\n {this.primaryButtonText && <sula-button text={this.primaryButtonText} fullWidth={true} onButtonClicked={() => this.handlePrimaryButtonClick()} />}\n {this.secondaryButtonText && (\n <sula-button onButtonClicked={() => this.handleSecondaryButtonClick()} appearance={SulaButtonAppearance.Secondary} text={this.secondaryButtonText} fullWidth={true} />\n )}\n </div>\n );\n }\n\n render() {\n if (!this.shouldRender) {\n return <Host />;\n }\n\n return (\n <Host>\n <div class={this.getOverlayClasses()} onClick={event => this.handleClickOutside(event)}>\n <div class={this.getWrapperClasses()}>\n {this.renderPromoImage()}\n <div class={this.getContentClasses()}>\n <div class={this.getHeaderClasses()}>\n {this.renderHeaderIcon()}\n {this.renderCloseButton()}\n </div>\n {this.renderTitleSection()}\n {this.renderSlot()}\n {this.renderButtons()}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"sula-modal.js","sourceRoot":"","sources":["../../../src/components/sula-modal/sula-modal.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, Host, Prop, State, Watch, h } from '@stencil/core';\nimport { SulaModalSlotOverflow, SulaModalType } from './model/sula-modal.model';\nimport { SulaButtonAppearance } from '../sula-button/model/sula-button.model';\n\n@Component({\n tag: 'sula-modal',\n styleUrl: 'sula-modal.scss',\n shadow: true,\n})\nexport class SulaModal {\n /**\n * Is modal opened\n */\n @Prop({ mutable: true }) opened: boolean = false;\n\n /**\n * Block body scroll when modal is opened\n */\n @Prop({ mutable: true }) blockBodyScroll: boolean = true;\n\n /**\n * Close modal when clicking outside\n */\n @Prop({ mutable: true }) closeOnClickOutside: boolean = true;\n\n /**\n * Type of the modal\n */\n @Prop() type: SulaModalType = SulaModalType.Custom;\n\n /**\n * Icon of the modal header\n */\n @Prop() headerIcon: string = '';\n\n /**\n * Title of the modal\n */\n @Prop() modalTitle: string = '';\n\n /**\n * Promotional image URL for promo type modal\n */\n @Prop() promoImage: string = '';\n\n /**\n * Subtitle of the modal\n */\n @Prop() subTitle: string = '';\n\n /**\n * Primary button text\n */\n @Prop() primaryButtonText: string = '';\n\n /**\n * Secondary button text\n */\n @Prop() secondaryButtonText: string = '';\n\n /**\n * Slot overflow behavior\n */\n @Prop() slotOverflow: SulaModalSlotOverflow = SulaModalSlotOverflow.Auto;\n\n /**\n * Event emitted when the modal is closed\n */\n @Event()\n modalClosed: EventEmitter<void>;\n\n /**\n * Event emitted when the primary button is clicked\n */\n @Event()\n primaryButtonClicked: EventEmitter<void>;\n\n /**\n * Event emitted when the secondary button is clicked\n */\n @Event()\n secondaryButtonClicked: EventEmitter<void>;\n\n @Element() hostElement: HTMLElement;\n\n @State() isAnimating: boolean = false;\n @State() shouldRender: boolean = false;\n\n private closeTimeout: NodeJS.Timeout;\n\n @Watch('opened')\n handleOpenedChange(newValue: boolean) {\n if (newValue) {\n this.shouldRender = true;\n\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n this.isAnimating = true;\n });\n });\n } else {\n this.isAnimating = false;\n\n this.closeTimeout = setTimeout(() => {\n this.shouldRender = false;\n }, 300);\n }\n this.handleParentOverflow();\n }\n\n componentWillLoad() {\n if (this.opened) {\n this.shouldRender = true;\n this.isAnimating = true;\n }\n this.handleParentOverflow();\n }\n\n disconnectedCallback() {\n if (this.closeTimeout) {\n clearTimeout(this.closeTimeout);\n }\n }\n\n handleParentOverflow(): void {\n const overflow = this.opened && this.blockBodyScroll ? 'hidden' : 'inherit';\n\n if (this.hostElement?.parentElement) {\n this.hostElement.parentElement.style.overflow = overflow;\n }\n }\n\n closeModal(): void {\n this.opened = false;\n this.modalClosed.emit();\n }\n\n handleClickOutside(event: MouseEvent): void {\n if (this.closeOnClickOutside && event.target === event.currentTarget) {\n this.closeModal();\n }\n }\n\n handlePrimaryButtonClick(): void {\n this.primaryButtonClicked.emit();\n }\n\n handleSecondaryButtonClick(): void {\n this.secondaryButtonClicked.emit();\n }\n\n isAlertOrCustomOrPromo(): boolean {\n return this.type === SulaModalType.Alert || this.type === SulaModalType.Custom || this.type === SulaModalType.Promo;\n }\n\n isListOrCustomFull(): boolean {\n return this.type === SulaModalType.List || this.type === SulaModalType.CustomFull;\n }\n\n isSideModal(): boolean {\n return this.type === SulaModalType.Side || this.type === SulaModalType.SpecialSide;\n }\n\n isPromoOrSpecialSide(): boolean {\n return this.type === SulaModalType.Promo || this.type === SulaModalType.SpecialSide;\n }\n\n hasHeaderIcon(): boolean {\n return (this.type === SulaModalType.Alert || this.type === SulaModalType.Custom) && !!this.headerIcon;\n }\n\n hasSlotContent(): boolean {\n return (\n this.type === SulaModalType.Custom || this.type === SulaModalType.Promo || this.type === SulaModalType.List || this.type === SulaModalType.CustomFull || this.isSideModal()\n );\n }\n\n hasButtons(): boolean {\n return this.type === SulaModalType.Alert || this.type === SulaModalType.Custom;\n }\n\n getOverlayClasses(): Record<string, boolean> {\n return {\n 'modal-overlay absolute inset-0 bg-opacity-overlay flex z-[999] transition-opacity duration-300': true,\n 'opacity-100': this.isAnimating,\n 'opacity-0': !this.isAnimating,\n 'items-end justify-center md:items-center': this.isAlertOrCustomOrPromo(),\n 'items-end justify-center': this.isListOrCustomFull(),\n 'justify-end': this.isSideModal(),\n };\n }\n\n getWrapperClasses(): Record<string, boolean> {\n return {\n 'modal-wrapper transition-all duration-300 ease-out': true,\n 'w-full md:w-[852px] flex md:flex-row flex-col h-[70vh] md:h-auto relative': this.type === SulaModalType.Promo,\n 'w-full flex justify-center items-center': !this.isPromoOrSpecialSide() && !this.isSideModal(),\n 'w-full flex justify-end': this.isSideModal(),\n\n 'modal-slide-up': (this.isAlertOrCustomOrPromo() || this.isListOrCustomFull()) && !this.isSideModal(),\n 'modal-slide-right': this.isSideModal(),\n 'modal-active': this.isAnimating,\n };\n }\n\n getContentClasses(): Record<string, boolean> {\n return {\n 'bg-surface-body rounded-b-none border border-line-hair px-14 py-24 md:px-32 md:py-48 relative': true,\n 'md:rounded-b-lg rounded-lg': !this.isSideModal(),\n 'w-full md:w-[448px]': this.type === SulaModalType.Alert,\n 'w-full md:w-[768px] pb-32': this.type === SulaModalType.Custom,\n 'w-full md:w-1/2 h-[50vh] md:h-auto pb-0 md:pb-96 rounded-none md:rounded-lg md:rounded-l-none': this.type === SulaModalType.Promo,\n 'w-full md:w-[80vw] max-h-[90vh] rounded-b-none relative': this.isListOrCustomFull(),\n 'rounded-none w-[440px]': this.type === SulaModalType.Side,\n 'rounded-none w-1/2': this.type === SulaModalType.SpecialSide,\n };\n }\n\n getHeaderClasses(): Record<string, boolean> {\n return {\n 'flex w-full items-start': this.hasHeaderIcon(),\n 'pb-24': this.hasHeaderIcon(),\n };\n }\n\n getCloseButtonClasses(): Record<string, boolean> {\n return {\n 'w-40 h-40 rounded-full absolute flex justify-center items-center cursor-pointer z-[1]': true,\n 'bg-surface-on-body hover:bg-states-empty-bg-hover text-icon-primary': true,\n 'top-24 right-24 md:top-32 md:right-32': this.type !== SulaModalType.Promo,\n 'top-20 right-20 md:top-24 md:right-24': this.type === SulaModalType.Promo,\n };\n }\n\n getTitleContainerClasses(): Record<string, boolean> {\n return {\n 'flex flex-col space-y-12': true,\n 'items-center justify-center': this.type === SulaModalType.List,\n };\n }\n\n getTitleClasses(): Record<string, boolean> {\n return {\n 'text-heading-small text-text-primary pr-16': true,\n 'text-paragraph-large-bold': this.type === SulaModalType.List,\n 'text-heading-medium': this.type === SulaModalType.List,\n };\n }\n\n getSlotClasses(): Record<string, boolean> {\n return {\n 'mt-12 w-full max-h-[40vh]': true,\n 'max-h-[80vh]': this.type === SulaModalType.List,\n 'max-h-[67.6vh]': this.type === SulaModalType.CustomFull,\n 'max-h-[72.7vh]': this.type === SulaModalType.Side,\n 'max-h-[87%]': this.type === SulaModalType.SpecialSide,\n 'overflow-auto': this.slotOverflow === SulaModalSlotOverflow.Auto,\n 'overflow-hidden': this.slotOverflow === SulaModalSlotOverflow.Hidden,\n };\n }\n\n getButtonContainerClasses(): Record<string, boolean> {\n return {\n 'w-full mt-48 flex': true,\n 'flex-col space-y-12': this.type === SulaModalType.Alert,\n 'flex-row-reverse space-x-reverse space-x-12': this.type === SulaModalType.Custom,\n };\n }\n\n renderPromoImage() {\n if (!this.isPromoOrSpecialSide()) {\n return null;\n }\n\n const imageClasses = {\n 'w-full md:w-1/2 h-[20vh] md:h-auto overflow-hidden flex': true,\n 'rounded-b-none md:rounded-b-lg md:rounded-r-none rounded-lg': this.type === SulaModalType.Promo,\n };\n\n return (\n <div class={imageClasses}>\n <img src={this.promoImage} alt=\"Promotional Image\" class=\"w-full h-full object-cover\" />\n </div>\n );\n }\n\n renderHeaderIcon() {\n if (this.hasHeaderIcon()) {\n return (\n <div class=\"w-64 h-64 border border-line-general flex justify-center items-center rounded-full\">\n <sula-icon icon={this.headerIcon} customClass=\"text-5xl text-icon-primary\" class=\"flex\" />\n </div>\n );\n }\n return null;\n }\n\n renderCloseButton() {\n return (\n <div class={this.getCloseButtonClasses()} onClick={() => this.closeModal()}>\n <sula-icon icon=\"ph ph-x\" customClass=\"text-2xl\" class=\"flex\" />\n </div>\n );\n }\n\n renderTitleSection() {\n if (!this.modalTitle && !this.subTitle) {\n return null;\n }\n\n return (\n <div class={this.getTitleContainerClasses()}>\n {this.modalTitle && <h1 class={this.getTitleClasses()}>{this.modalTitle}</h1>}\n {this.subTitle && <p class=\"text-paragraph-medium-regular text-text-secondary\">{this.subTitle}</p>}\n </div>\n );\n }\n\n renderSlot() {\n if (!this.hasSlotContent()) {\n return null;\n }\n\n return (\n <div class={this.getSlotClasses()}>\n <slot></slot>\n </div>\n );\n }\n\n renderButtons() {\n if (!this.hasButtons()) {\n return null;\n }\n\n return (\n <div class={this.getButtonContainerClasses()}>\n {this.primaryButtonText && <sula-button text={this.primaryButtonText} fullWidth={true} onButtonClicked={() => this.handlePrimaryButtonClick()} />}\n {this.secondaryButtonText && (\n <sula-button onButtonClicked={() => this.handleSecondaryButtonClick()} appearance={SulaButtonAppearance.Secondary} text={this.secondaryButtonText} fullWidth={true} />\n )}\n </div>\n );\n }\n\n render() {\n if (!this.shouldRender) {\n return <Host />;\n }\n\n return (\n <Host>\n <div class={this.getOverlayClasses()} onClick={event => this.handleClickOutside(event)}>\n <div class={this.getWrapperClasses()}>\n {this.renderPromoImage()}\n <div class={this.getContentClasses()}>\n {this.renderCloseButton()}\n <div class={this.getHeaderClasses()}>\n {this.renderHeaderIcon()}\n </div>\n {this.renderTitleSection()}\n {this.renderSlot()}\n {this.renderButtons()}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +1,11 @@
1
- export {};
1
+ /**
2
+ * @fileoverview entry point for your component library
3
+ *
4
+ * This is the entry point for your component library. Use this file to export utilities,
5
+ * constants or data structure that accompany your components.
6
+ *
7
+ * DO NOT use this file to export your components. Instead, use the recommended approaches
8
+ * to consume components of this package as outlined in the `README.md`.
9
+ */
10
+ export { SulaMenuDensity, SulaMenuLabelOverflow } from './components/sula-menu/model/sula-menu.model';
2
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG","sourcesContent":["/**\n * @fileoverview entry point for your component library\n *\n * This is the entry point for your component library. Use this file to export utilities,\n * constants or data structure that accompany your components.\n *\n * DO NOT use this file to export your components. Instead, use the recommended approaches\n * to consume components of this package as outlined in the `README.md`.\n */\n\nexport type * from './components.d.ts';\nexport type { SulaToggleEvent } from './components/sula-toggle/model/sula-toggle.model';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC","sourcesContent":["/**\n * @fileoverview entry point for your component library\n *\n * This is the entry point for your component library. Use this file to export utilities,\n * constants or data structure that accompany your components.\n *\n * DO NOT use this file to export your components. Instead, use the recommended approaches\n * to consume components of this package as outlined in the `README.md`.\n */\n\nexport type * from './components.d.ts';\nexport { SulaMenuDensity, SulaMenuLabelOverflow } from './components/sula-menu/model/sula-menu.model';\nexport type { SulaToggleEvent } from './components/sula-toggle/model/sula-toggle.model';\n"]}