@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.
- package/dist/cjs/index.cjs.js +11 -0
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/sula-avatar_31.cjs.entry.js +56 -29
- package/dist/cjs/sula-avatar_31.cjs.entry.js.map +1 -1
- package/dist/cjs/webcomponents.cjs.js +1 -1
- package/dist/collection/components/sula-avatar/sula-avatar.css +1 -1
- package/dist/collection/components/sula-button/sula-button.css +1 -1
- package/dist/collection/components/sula-icon/sula-icon.css +1 -1
- package/dist/collection/components/sula-loader/sula-loader.css +1 -1
- package/dist/collection/components/sula-menu/model/sula-menu.model.js +11 -1
- package/dist/collection/components/sula-menu/model/sula-menu.model.js.map +1 -1
- package/dist/collection/components/sula-menu/sula-menu.css +1 -1
- package/dist/collection/components/sula-menu/sula-menu.js +124 -9
- package/dist/collection/components/sula-menu/sula-menu.js.map +1 -1
- package/dist/collection/components/sula-menu/sula-menu.stories.js +94 -1
- package/dist/collection/components/sula-menu/sula-menu.stories.js.map +1 -1
- package/dist/collection/components/sula-modal/sula-modal.css +1 -1
- package/dist/collection/components/sula-modal/sula-modal.js +12 -14
- package/dist/collection/components/sula-modal/sula-modal.js.map +1 -1
- package/dist/collection/index.js +10 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/components/index.js +15 -1640
- package/dist/components/index.js.map +1 -1
- package/dist/components/{p-BmmVNrHj.js → p-BddXO6fP.js} +4 -4
- package/dist/components/{p-BmmVNrHj.js.map → p-BddXO6fP.js.map} +1 -1
- package/dist/components/{p-C5KdnXMt.js → p-CnGkvX5w.js} +4 -4
- package/dist/components/{p-C5KdnXMt.js.map → p-CnGkvX5w.js.map} +1 -1
- package/dist/components/{p-Dw0d4f_W.js → p-CnjVJ_xQ.js} +6 -6
- package/dist/components/{p-Dw0d4f_W.js.map → p-CnjVJ_xQ.js.map} +1 -1
- package/dist/components/p-Cy4ZswbA.js +1643 -0
- package/dist/components/p-Cy4ZswbA.js.map +1 -0
- package/dist/components/{p-DLb0tgPZ.js → p-DE4pFpiq.js} +4 -4
- package/dist/components/{p-DLb0tgPZ.js.map → p-DE4pFpiq.js.map} +1 -1
- package/dist/components/{p-KKlHc24i.js → p-DoTL1gHf.js} +5 -5
- package/dist/components/{p-KKlHc24i.js.map → p-DoTL1gHf.js.map} +1 -1
- package/dist/components/{p-CfgBBJOb.js → p-f7rEWsEo.js} +4 -4
- package/dist/components/{p-CfgBBJOb.js.map → p-f7rEWsEo.js.map} +1 -1
- package/dist/components/sula-avatar.js +3 -3
- package/dist/components/sula-badge.js +2 -2
- package/dist/components/sula-breadcrumb.js +2 -2
- package/dist/components/sula-button.js +1 -1
- package/dist/components/sula-checkbox.js +2 -2
- package/dist/components/sula-chip.js +3 -3
- package/dist/components/sula-dropdown.js +1 -1
- package/dist/components/sula-icon-picker.js +5 -5
- package/dist/components/sula-icon.js +1 -1
- package/dist/components/sula-loader.js +1 -1
- package/dist/components/sula-menu-select-list.js +1 -1
- package/dist/components/sula-menu.js +44 -12
- package/dist/components/sula-menu.js.map +1 -1
- package/dist/components/sula-modal.js +17 -19
- package/dist/components/sula-modal.js.map +1 -1
- package/dist/components/sula-progress-bar.js +2 -2
- package/dist/components/sula-radio-button.js +1 -1
- package/dist/components/sula-search-bar.js +1 -1
- package/dist/components/sula-segmented-control.js +2 -2
- package/dist/components/sula-switch.js +1 -1
- package/dist/components/sula-table-body.js +1 -1
- package/dist/components/sula-table-cell.js +1 -1
- package/dist/components/sula-table-head-cell.js +1 -1
- package/dist/components/sula-table-header.js +1 -1
- package/dist/components/sula-table-row.js +1 -1
- package/dist/components/sula-table.js +1 -1
- package/dist/components/sula-tag.js +2 -2
- package/dist/components/sula-textarea.js +1 -1
- package/dist/components/sula-textfield.js +2 -2
- package/dist/components/sula-tiles.js +2 -2
- package/dist/components/sula-timeline-list.js +2 -2
- package/dist/components/sula-toggle.js +2 -2
- package/dist/components/sula-tooltip.js +2 -2
- package/dist/esm/index.js +12 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/sula-avatar_31.entry.js +56 -29
- package/dist/esm/sula-avatar_31.entry.js.map +1 -1
- package/dist/esm/webcomponents.js +1 -1
- package/dist/types/components/sula-menu/model/sula-menu.model.d.ts +9 -0
- package/dist/types/components/sula-menu/sula-menu.d.ts +31 -1
- package/dist/types/components/sula-menu/sula-menu.stories.d.ts +42 -1
- package/dist/types/components/sula-modal/sula-modal.d.ts +1 -0
- package/dist/types/components.d.ts +68 -2
- package/dist/types/index.d.ts +1 -0
- package/dist/webcomponents/index.esm.js +16 -1
- package/dist/webcomponents/index.esm.js.map +1 -1
- package/dist/webcomponents/{p-9244229f.entry.js → p-b5c2f1e3.entry.js} +68 -38
- package/dist/webcomponents/p-b5c2f1e3.entry.js.map +1 -0
- package/dist/webcomponents/webcomponents.esm.js +8 -5
- package/package.json +1 -1
- 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
|
|
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":"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","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':
|
|
158
|
-
'
|
|
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
|
|
167
|
-
'-
|
|
168
|
-
'
|
|
169
|
-
'top-20 right-20
|
|
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 (
|
|
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()
|
|
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":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AACrG,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAO9E,MAAM,OAAO,SAAS;IALtB;QAME;;WAEG;QACsB,WAAM,GAAY,KAAK,CAAC;QAEjD;;WAEG;QACsB,oBAAe,GAAY,IAAI,CAAC;QAEzD;;WAEG;QACsB,wBAAmB,GAAY,IAAI,CAAC;QAE7D;;WAEG;QACK,SAAI,GAAkB,aAAa,CAAC,MAAM,CAAC;QAEnD;;WAEG;QACK,eAAU,GAAW,EAAE,CAAC;QAEhC;;WAEG;QACK,eAAU,GAAW,EAAE,CAAC;QAEhC;;WAEG;QACK,eAAU,GAAW,EAAE,CAAC;QAEhC;;WAEG;QACK,aAAQ,GAAW,EAAE,CAAC;QAE9B;;WAEG;QACK,sBAAiB,GAAW,EAAE,CAAC;QAEvC;;WAEG;QACK,wBAAmB,GAAW,EAAE,CAAC;QAEzC;;WAEG;QACK,iBAAY,GAA0B,qBAAqB,CAAC,IAAI,CAAC;QAsBhE,gBAAW,GAAY,KAAK,CAAC;QAC7B,iBAAY,GAAY,KAAK,CAAC;KA2RxC;IAtRC,kBAAkB,CAAC,QAAiB;QAClC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,qBAAqB,CAAC,GAAG,EAAE;gBACzB,qBAAqB,CAAC,GAAG,EAAE;oBACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC1B,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YAEzB,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;gBAClC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC5B,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC;QACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,oBAAoB;QAClB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,oBAAoB;;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAE5E,IAAI,MAAA,IAAI,CAAC,WAAW,0CAAE,aAAa,EAAE,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,kBAAkB,CAAC,KAAiB;QAClC,IAAI,IAAI,CAAC,mBAAmB,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,aAAa,EAAE,CAAC;YACrE,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IAED,wBAAwB;QACtB,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,0BAA0B;QACxB,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,KAAK,CAAC;IACtH,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,UAAU,CAAC;IACpF,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,WAAW,CAAC;IACrF,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,WAAW,CAAC;IACtF,CAAC;IAED,aAAa;QACX,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IACxG,CAAC;IAED,cAAc;QACZ,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAC5K,CAAC;IACJ,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,MAAM,CAAC;IACjF,CAAC;IAED,iBAAiB;QACf,OAAO;YACL,gGAAgG,EAAE,IAAI;YACtG,aAAa,EAAE,IAAI,CAAC,WAAW;YAC/B,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW;YAC9B,0CAA0C,EAAE,IAAI,CAAC,sBAAsB,EAAE;YACzE,0BAA0B,EAAE,IAAI,CAAC,kBAAkB,EAAE;YACrD,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE;SAClC,CAAC;IACJ,CAAC;IAED,iBAAiB;QACf,OAAO;YACL,oDAAoD,EAAE,IAAI;YAC1D,2EAA2E,EAAE,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,KAAK;YAC9G,yCAAyC,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAC9F,yBAAyB,EAAE,IAAI,CAAC,WAAW,EAAE;YAE7C,gBAAgB,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrG,mBAAmB,EAAE,IAAI,CAAC,WAAW,EAAE;YACvC,cAAc,EAAE,IAAI,CAAC,WAAW;SACjC,CAAC;IACJ,CAAC;IAED,iBAAiB;QACf,OAAO;YACL,+FAA+F,EAAE,IAAI;YACrG,4BAA4B,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;YACjD,qBAAqB,EAAE,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,KAAK;YACxD,2BAA2B,EAAE,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,MAAM;YAC/D,+FAA+F,EAAE,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,KAAK;YAClI,yDAAyD,EAAE,IAAI,CAAC,kBAAkB,EAAE;YACpF,wBAAwB,EAAE,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI;YAC1D,oBAAoB,EAAE,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,WAAW;SAC9D,CAAC;IACJ,CAAC;IAED,gBAAgB;QACd,OAAO;YACL,yBAAyB,EAAE,IAAI,CAAC,aAAa,EAAE;YAC/C,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE;SAC9B,CAAC;IACJ,CAAC;IAED,qBAAqB;QACnB,OAAO;YACL,uFAAuF,EAAE,IAAI;YAC7F,qEAAqE,EAAE,IAAI;YAC3E,uCAAuC,EAAE,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,KAAK;YAC1E,uCAAuC,EAAE,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,KAAK;SAC3E,CAAC;IACJ,CAAC;IAED,wBAAwB;QACtB,OAAO;YACL,0BAA0B,EAAE,IAAI;YAChC,6BAA6B,EAAE,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI;SAChE,CAAC;IACJ,CAAC;IAED,eAAe;QACb,OAAO;YACL,4CAA4C,EAAE,IAAI;YAClD,2BAA2B,EAAE,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI;YAC7D,qBAAqB,EAAE,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI;SACxD,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,OAAO;YACL,2BAA2B,EAAE,IAAI;YACjC,cAAc,EAAE,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI;YAChD,gBAAgB,EAAE,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,UAAU;YACxD,gBAAgB,EAAE,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI;YAClD,aAAa,EAAE,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,WAAW;YACtD,eAAe,EAAE,IAAI,CAAC,YAAY,KAAK,qBAAqB,CAAC,IAAI;YACjE,iBAAiB,EAAE,IAAI,CAAC,YAAY,KAAK,qBAAqB,CAAC,MAAM;SACtE,CAAC;IACJ,CAAC;IAED,yBAAyB;QACvB,OAAO;YACL,mBAAmB,EAAE,IAAI;YACzB,qBAAqB,EAAE,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,KAAK;YACxD,6CAA6C,EAAE,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,MAAM;SAClF,CAAC;IACJ,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,YAAY,GAAG;YACnB,yDAAyD,EAAE,IAAI;YAC/D,6DAA6D,EAAE,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,KAAK;SACjG,CAAC;QAEF,OAAO,CACL,WAAK,KAAK,EAAE,YAAY;YACtB,WAAK,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAC,mBAAmB,EAAC,KAAK,EAAC,4BAA4B,GAAG,CACpF,CACP,CAAC;IACJ,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACzB,OAAO,CACL,WAAK,KAAK,EAAC,oFAAoF;gBAC7F,iBAAW,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,EAAC,4BAA4B,EAAC,KAAK,EAAC,MAAM,GAAG,CACtF,CACP,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB;QACf,OAAO,CACL,WAAK,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE;YACxE,iBAAW,IAAI,EAAC,SAAS,EAAC,WAAW,EAAC,UAAU,EAAC,KAAK,EAAC,MAAM,GAAG,CAC5D,CACP,CAAC;IACJ,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CACL,WAAK,KAAK,EAAE,IAAI,CAAC,wBAAwB,EAAE;YACxC,IAAI,CAAC,UAAU,IAAI,UAAI,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,IAAG,IAAI,CAAC,UAAU,CAAM;YAC5E,IAAI,CAAC,QAAQ,IAAI,SAAG,KAAK,EAAC,mDAAmD,IAAE,IAAI,CAAC,QAAQ,CAAK,CAC9F,CACP,CAAC;IACJ,CAAC;IAED,UAAU;QACR,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CACL,WAAK,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE;YAC/B,eAAa,CACT,CACP,CAAC;IACJ,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CACL,WAAK,KAAK,EAAE,IAAI,CAAC,yBAAyB,EAAE;YACzC,IAAI,CAAC,iBAAiB,IAAI,mBAAa,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAI;YAChJ,IAAI,CAAC,mBAAmB,IAAI,CAC3B,mBAAa,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,UAAU,EAAE,oBAAoB,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,SAAS,EAAE,IAAI,GAAI,CACvK,CACG,CACP,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,EAAC,IAAI,OAAG,CAAC;QAClB,CAAC;QAED,OAAO,CACL,EAAC,IAAI;YACH,WAAK,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;gBACpF,WAAK,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE;oBACjC,IAAI,CAAC,gBAAgB,EAAE;oBACxB,WAAK,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE;wBACjC,IAAI,CAAC,iBAAiB,EAAE;wBACzB,WAAK,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAChC,IAAI,CAAC,gBAAgB,EAAE,CACpB;wBACL,IAAI,CAAC,kBAAkB,EAAE;wBACzB,IAAI,CAAC,UAAU,EAAE;wBACjB,IAAI,CAAC,aAAa,EAAE,CACjB,CACF,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","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"]}
|
package/dist/collection/index.js
CHANGED
|
@@ -1,2 +1,11 @@
|
|
|
1
|
-
|
|
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"]}
|