@sula-tech/webcomponents 0.17.4 → 0.17.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/{sula-avatar_29.cjs.entry.js → sula-avatar_30.cjs.entry.js} +339 -46
  3. package/dist/cjs/sula-avatar_30.cjs.entry.js.map +1 -0
  4. package/dist/cjs/webcomponents.cjs.js +1 -1
  5. package/dist/collection/collection-manifest.json +1 -0
  6. package/dist/collection/components/sula-icon/sula-icon.css +1 -1
  7. package/dist/collection/components/sula-loader/sula-loader.js +21 -6
  8. package/dist/collection/components/sula-loader/sula-loader.js.map +1 -1
  9. package/dist/collection/components/sula-menu/model/sula-menu.model.js +2 -0
  10. package/dist/collection/components/sula-menu/model/sula-menu.model.js.map +1 -0
  11. package/dist/collection/components/sula-menu/sula-menu.css +1 -0
  12. package/dist/collection/components/sula-menu/sula-menu.js +442 -0
  13. package/dist/collection/components/sula-menu/sula-menu.js.map +1 -0
  14. package/dist/collection/components/sula-menu/sula-menu.stories.js +401 -0
  15. package/dist/collection/components/sula-menu/sula-menu.stories.js.map +1 -0
  16. package/dist/collection/components/sula-menu-select-list/sula-menu-select-list.js +1 -1
  17. package/dist/collection/components/sula-progress-bar/sula-progress-bar.js +2 -2
  18. package/dist/collection/components/sula-radio-button/sula-radio-button.js +2 -2
  19. package/dist/collection/components/sula-search-bar/sula-search-bar.js +2 -2
  20. package/dist/collection/components/sula-segmented-control/sula-segmented-control.js +1 -1
  21. package/dist/collection/components/sula-switch/sula-switch.js +4 -4
  22. package/dist/collection/components/sula-table/sula-table.js +3 -3
  23. package/dist/collection/components/sula-table-body/sula-table-body.js +1 -1
  24. package/dist/collection/components/sula-table-cell/sula-table-cell.js +2 -2
  25. package/dist/collection/components/sula-table-head-cell/sula-table-head-cell.js +2 -2
  26. package/dist/collection/components/sula-table-header/sula-table-header.js +1 -1
  27. package/dist/collection/components/sula-table-row/sula-table-row.js +1 -1
  28. package/dist/collection/components/sula-tag/sula-tag.js +3 -3
  29. package/dist/collection/components/sula-textarea/sula-textarea.js +6 -6
  30. package/dist/collection/components/sula-textfield/sula-textfield.js +2 -2
  31. package/dist/collection/components/sula-tiles/sula-tiles.js +1 -1
  32. package/dist/collection/components/sula-timeline-list/sula-timeline-list.js +1 -1
  33. package/dist/collection/components/sula-toggle/sula-toggle.js +1 -1
  34. package/dist/collection/components/sula-tooltip/sula-tooltip.js +1 -1
  35. package/dist/components/{p-fgs5TBQ7.js → p-B2GnTWgR.js} +3 -3
  36. package/dist/components/{p-fgs5TBQ7.js.map → p-B2GnTWgR.js.map} +1 -1
  37. package/dist/components/{p-DGCOlK4x.js → p-BJMnU9Gv.js} +4 -4
  38. package/dist/components/{p-DGCOlK4x.js.map → p-BJMnU9Gv.js.map} +1 -1
  39. package/dist/components/{p-DksR9NcR.js → p-DtVItq_Q.js} +3 -3
  40. package/dist/components/{p-DksR9NcR.js.map → p-DtVItq_Q.js.map} +1 -1
  41. package/dist/components/{p-fwcKhm5l.js → p-zE24jlFe.js} +23 -8
  42. package/dist/components/{p-fwcKhm5l.js.map → p-zE24jlFe.js.map} +1 -1
  43. package/dist/components/sula-avatar.js +1 -1
  44. package/dist/components/sula-badge.js +1 -1
  45. package/dist/components/sula-breadcrumb.js +1 -1
  46. package/dist/components/sula-button.js +1 -1
  47. package/dist/components/sula-checkbox.js +1 -1
  48. package/dist/components/sula-chip.js +2 -2
  49. package/dist/components/sula-dropdown.js +2 -2
  50. package/dist/components/sula-icon.js +1 -1
  51. package/dist/components/sula-loader.js +1 -1
  52. package/dist/components/sula-menu-select-list.js +1 -1
  53. package/dist/components/sula-menu.d.ts +11 -0
  54. package/dist/components/sula-menu.js +317 -0
  55. package/dist/components/sula-menu.js.map +1 -0
  56. package/dist/components/sula-modal.js +3 -3
  57. package/dist/components/sula-progress-bar.js +3 -3
  58. package/dist/components/sula-radio-button.js +2 -2
  59. package/dist/components/sula-search-bar.js +3 -3
  60. package/dist/components/sula-segmented-control.js +2 -2
  61. package/dist/components/sula-switch.js +4 -4
  62. package/dist/components/sula-table-body.js +1 -1
  63. package/dist/components/sula-table-cell.js +2 -2
  64. package/dist/components/sula-table-head-cell.js +2 -2
  65. package/dist/components/sula-table-header.js +1 -1
  66. package/dist/components/sula-table-row.js +1 -1
  67. package/dist/components/sula-table.js +3 -3
  68. package/dist/components/sula-tag.js +4 -4
  69. package/dist/components/sula-textarea.js +6 -6
  70. package/dist/components/sula-textfield.js +3 -3
  71. package/dist/components/sula-tiles.js +2 -2
  72. package/dist/components/sula-timeline-list.js +2 -2
  73. package/dist/components/sula-toggle.js +2 -2
  74. package/dist/components/sula-tooltip.js +2 -2
  75. package/dist/esm/loader.js +1 -1
  76. package/dist/esm/{sula-avatar_29.entry.js → sula-avatar_30.entry.js} +339 -47
  77. package/dist/esm/sula-avatar_30.entry.js.map +1 -0
  78. package/dist/esm/webcomponents.js +1 -1
  79. package/dist/types/components/sula-loader/sula-loader.d.ts +7 -3
  80. package/dist/types/components/sula-menu/model/sula-menu.model.d.ts +21 -0
  81. package/dist/types/components/sula-menu/sula-menu.d.ts +73 -0
  82. package/dist/types/components/sula-menu/sula-menu.stories.d.ts +56 -0
  83. package/dist/types/components.d.ts +74 -0
  84. package/dist/webcomponents/{p-f62433bd.entry.js → p-b58b85c4.entry.js} +854 -423
  85. package/dist/webcomponents/p-b58b85c4.entry.js.map +1 -0
  86. package/dist/webcomponents/webcomponents.esm.js +14 -5
  87. package/package.json +1 -1
  88. package/dist/cjs/sula-avatar_29.cjs.entry.js.map +0 -1
  89. package/dist/esm/sula-avatar_29.entry.js.map +0 -1
  90. package/dist/webcomponents/p-f62433bd.entry.js.map +0 -1
@@ -16,7 +16,7 @@ var patchBrowser = () => {
16
16
 
17
17
  patchBrowser().then(async (options) => {
18
18
  await globalScripts();
19
- return bootstrapLazy([["sula-avatar_29",[[1,"sula-modal",{"opened":[1028],"blockBodyScroll":[1028,"block-body-scroll"],"closeOnClickOutside":[1028,"close-on-click-outside"],"type":[1],"headerIcon":[1,"header-icon"],"modalTitle":[1,"modal-title"],"promoImage":[1,"promo-image"],"subTitle":[1,"sub-title"],"primaryButtonText":[1,"primary-button-text"],"secondaryButtonText":[1,"secondary-button-text"],"slotOverflow":[1,"slot-overflow"],"isAnimating":[32],"shouldRender":[32]},null,{"opened":["handleOpenedChange"]}],[1,"sula-chip",{"text":[1025],"appearance":[1025],"disabled":[1028],"items":[1040],"selected":[1028],"isFocused":[32],"showItems":[32]},[[4,"click","handleDocumentClick"]]],[1,"sula-dropdown",{"label":[1025],"disabled":[1028],"items":[1040],"value":[1040],"searchable":[516],"menuMaxHeight":[2,"menu-max-height"],"contentMaxHeight":[2,"content-max-height"],"customContent":[516,"custom-content"],"closeOnSelect":[4,"close-on-select"],"showContent":[1540,"show-content"],"selectedItem":[32],"isFocused":[32],"searchTerm":[32],"filteredItems":[32],"openUpward":[32]},[[4,"click","handleDocumentClick"],[9,"resize","handleWindowResize"]],{"value":["handleValueChange"],"showContent":["handleShowContentChange"]}],[1,"sula-avatar",{"size":[1],"imageUrl":[1,"image-url"],"text":[1],"icon":[1]}],[1,"sula-badge",{"status":[1025],"size":[1025],"type":[1025],"text":[1025],"icon":[1025],"hasSlotContent":[32]}],[1,"sula-breadcrumb",{"items":[1040]}],[1,"sula-checkbox",{"type":[1025],"label":[1025],"subTitle":[1025,"sub-title"],"disabled":[1028],"checked":[1028],"isFocus":[32]}],[1,"sula-progress-bar",{"appearance":[1025],"state":[1025],"topLabel":[1025,"top-label"],"bottomLabel":[1025,"bottom-label"],"progress":[1026],"showProgress":[1028,"show-progress"]},null,{"progress":["validateProgress"]}],[1,"sula-search-bar",{"value":[1025],"searchBarStyle":[1025,"search-bar-style"],"placeholder":[1025],"leftIcon":[1025,"left-icon"],"rightIcon":[1025,"right-icon"],"isFocused":[32],"textValue":[32]}],[1,"sula-segmented-control",{"items":[1040],"type":[1025],"size":[1025],"color":[1025]}],[1,"sula-tag",{"label":[1025],"icon":[1025],"iconStatus":[1025,"icon-status"],"size":[1025],"appearance":[1025],"fontWeight":[1025,"font-weight"]}],[1,"sula-textfield",{"value":[1025],"type":[1],"status":[1025],"label":[1],"placeholder":[1],"disabled":[1028],"helpText":[1,"help-text"],"maxLength":[2,"max-length"],"icon":[1],"maskPattern":[1,"mask-pattern"],"maskPatternSwitchMaxLength":[2,"mask-pattern-switch-max-length"],"inputIsOpen":[32],"textValue":[32],"showPassword":[32],"inputIsFocused":[32]},[[4,"click","handleClick"]],{"value":["watchValueHandler"],"maskPattern":["watchMaskPatternHandler"],"maskPatternSwitchMaxLength":["watchMaskPatternSwitchMaxLengthHandler"]}],[1,"sula-tiles",{"type":[1],"size":[1],"ellipsis":[4],"icon":[1],"text":[1],"subText":[1,"sub-text"],"disabled":[4]}],[1,"sula-timeline-list",{"sulaTimelineList":[1040,"sula-timeline-list"]}],[1,"sula-toggle",{"selected":[1028],"buttonDisabled":[1028,"button-disabled"],"icon":[1]}],[1,"sula-tooltip",{"text":[1],"position":[1],"focused":[4],"trigger":[1],"isVisible":[32]}],[1,"sula-radio-button",{"checked":[1028],"label":[1025],"disabled":[1028],"radioIsFocus":[32]}],[1,"sula-switch",{"type":[1025],"active":[1028],"disabled":[1028],"label":[1025],"subTitle":[1025,"sub-title"],"responsive":[4],"isFocus":[32]}],[4,"sula-table",{"density":[1],"equalWidth":[4,"equal-width"],"fullWidth":[4,"full-width"]}],[4,"sula-table-body"],[4,"sula-table-cell"],[4,"sula-table-head-cell"],[4,"sula-table-header"],[4,"sula-table-row"],[1,"sula-textarea",{"value":[1025],"status":[1025],"label":[1],"placeholder":[1],"disabled":[1028],"helpText":[1,"help-text"],"maxLength":[2,"max-length"],"rows":[2],"isActive":[32],"textValue":[32],"textareaIsFocused":[32],"labelPadding":[32]},[[4,"click","handleClick"]],{"value":["watchValueHandler"]}],[1,"sula-button",{"text":[1025],"icon":[1025],"leftIcon":[1025,"left-icon"],"rightIcon":[1025,"right-icon"],"appearance":[1025],"type":[1025],"size":[1025],"status":[1025],"loading":[1028],"buttonDisabled":[1028,"button-disabled"],"fullWidth":[1028,"full-width"]}],[1,"sula-loader",{"size":[1],"animationInstance":[32]}],[1,"sula-menu-select-list",{"items":[1040],"fullWidth":[4,"full-width"],"maxHeight":[2,"max-height"],"selectedValue":[16,"selected-value"]}],[0,"sula-icon",{"icon":[1],"customClass":[1,"custom-class"]}]]]], options);
19
+ return bootstrapLazy([["sula-avatar_30",[[1,"sula-modal",{"opened":[1028],"blockBodyScroll":[1028,"block-body-scroll"],"closeOnClickOutside":[1028,"close-on-click-outside"],"type":[1],"headerIcon":[1,"header-icon"],"modalTitle":[1,"modal-title"],"promoImage":[1,"promo-image"],"subTitle":[1,"sub-title"],"primaryButtonText":[1,"primary-button-text"],"secondaryButtonText":[1,"secondary-button-text"],"slotOverflow":[1,"slot-overflow"],"isAnimating":[32],"shouldRender":[32]},null,{"opened":["handleOpenedChange"]}],[1,"sula-chip",{"text":[1025],"appearance":[1025],"disabled":[1028],"items":[1040],"selected":[1028],"isFocused":[32],"showItems":[32]},[[4,"click","handleDocumentClick"]]],[1,"sula-dropdown",{"label":[1025],"disabled":[1028],"items":[1040],"value":[1040],"searchable":[516],"menuMaxHeight":[2,"menu-max-height"],"contentMaxHeight":[2,"content-max-height"],"customContent":[516,"custom-content"],"closeOnSelect":[4,"close-on-select"],"showContent":[1540,"show-content"],"selectedItem":[32],"isFocused":[32],"searchTerm":[32],"filteredItems":[32],"openUpward":[32]},[[4,"click","handleDocumentClick"],[9,"resize","handleWindowResize"]],{"value":["handleValueChange"],"showContent":["handleShowContentChange"]}],[1,"sula-avatar",{"size":[1],"imageUrl":[1,"image-url"],"text":[1],"icon":[1]}],[1,"sula-badge",{"status":[1025],"size":[1025],"type":[1025],"text":[1025],"icon":[1025],"hasSlotContent":[32]}],[1,"sula-breadcrumb",{"items":[1040]}],[1,"sula-checkbox",{"type":[1025],"label":[1025],"subTitle":[1025,"sub-title"],"disabled":[1028],"checked":[1028],"isFocus":[32]}],[1,"sula-menu",{"menuTitle":[1,"menu-title"],"image":[1],"items":[1040],"collapsed":[32],"previewExpanded":[32],"selectedItem":[32]},null,{"items":["syncSelectedItemFromItems"]}],[1,"sula-progress-bar",{"appearance":[1025],"state":[1025],"topLabel":[1025,"top-label"],"bottomLabel":[1025,"bottom-label"],"progress":[1026],"showProgress":[1028,"show-progress"]},null,{"progress":["validateProgress"]}],[1,"sula-search-bar",{"value":[1025],"searchBarStyle":[1025,"search-bar-style"],"placeholder":[1025],"leftIcon":[1025,"left-icon"],"rightIcon":[1025,"right-icon"],"isFocused":[32],"textValue":[32]}],[1,"sula-segmented-control",{"items":[1040],"type":[1025],"size":[1025],"color":[1025]}],[1,"sula-tag",{"label":[1025],"icon":[1025],"iconStatus":[1025,"icon-status"],"size":[1025],"appearance":[1025],"fontWeight":[1025,"font-weight"]}],[1,"sula-textfield",{"value":[1025],"type":[1],"status":[1025],"label":[1],"placeholder":[1],"disabled":[1028],"helpText":[1,"help-text"],"maxLength":[2,"max-length"],"icon":[1],"maskPattern":[1,"mask-pattern"],"maskPatternSwitchMaxLength":[2,"mask-pattern-switch-max-length"],"inputIsOpen":[32],"textValue":[32],"showPassword":[32],"inputIsFocused":[32]},[[4,"click","handleClick"]],{"value":["watchValueHandler"],"maskPattern":["watchMaskPatternHandler"],"maskPatternSwitchMaxLength":["watchMaskPatternSwitchMaxLengthHandler"]}],[1,"sula-tiles",{"type":[1],"size":[1],"ellipsis":[4],"icon":[1],"text":[1],"subText":[1,"sub-text"],"disabled":[4]}],[1,"sula-timeline-list",{"sulaTimelineList":[1040,"sula-timeline-list"]}],[1,"sula-toggle",{"selected":[1028],"buttonDisabled":[1028,"button-disabled"],"icon":[1]}],[1,"sula-tooltip",{"text":[1],"position":[1],"focused":[4],"trigger":[1],"isVisible":[32]}],[1,"sula-radio-button",{"checked":[1028],"label":[1025],"disabled":[1028],"radioIsFocus":[32]}],[1,"sula-switch",{"type":[1025],"active":[1028],"disabled":[1028],"label":[1025],"subTitle":[1025,"sub-title"],"responsive":[4],"isFocus":[32]}],[4,"sula-table",{"density":[1],"equalWidth":[4,"equal-width"],"fullWidth":[4,"full-width"]}],[4,"sula-table-body"],[4,"sula-table-cell"],[4,"sula-table-head-cell"],[4,"sula-table-header"],[4,"sula-table-row"],[1,"sula-textarea",{"value":[1025],"status":[1025],"label":[1],"placeholder":[1],"disabled":[1028],"helpText":[1,"help-text"],"maxLength":[2,"max-length"],"rows":[2],"isActive":[32],"textValue":[32],"textareaIsFocused":[32],"labelPadding":[32]},[[4,"click","handleClick"]],{"value":["watchValueHandler"]}],[1,"sula-button",{"text":[1025],"icon":[1025],"leftIcon":[1025,"left-icon"],"rightIcon":[1025,"right-icon"],"appearance":[1025],"type":[1025],"size":[1025],"status":[1025],"loading":[1028],"buttonDisabled":[1028,"button-disabled"],"fullWidth":[1028,"full-width"]}],[1,"sula-loader",{"size":[1],"animationInstance":[32]}],[1,"sula-menu-select-list",{"items":[1040],"fullWidth":[4,"full-width"],"maxHeight":[2,"max-height"],"selectedValue":[16,"selected-value"]}],[0,"sula-icon",{"icon":[1],"customClass":[1,"custom-class"]}]]]], options);
20
20
  });
21
21
  //# sourceMappingURL=webcomponents.js.map
22
22
 
@@ -1,15 +1,19 @@
1
1
  import { AnimationItem } from 'lottie-web';
2
2
  import { SulaLoaderSize } from './model/sula-loader.model';
3
3
  export declare class SulaLoader {
4
- el: HTMLElement;
4
+ el?: HTMLElement;
5
5
  /**
6
6
  * Tamanho predefinido (small, medium, large)
7
7
  */
8
8
  size: SulaLoaderSize;
9
- animationInstance: AnimationItem;
10
- containerRef: HTMLDivElement;
9
+ animationInstance: AnimationItem | null;
10
+ containerRef?: HTMLDivElement;
11
+ connectedCallback(): void;
11
12
  componentDidLoad(): void;
13
+ componentDidRender(): void;
12
14
  disconnectedCallback(): void;
15
+ private destroyAnimation;
16
+ private tryInitLottie;
13
17
  initLottie(): void;
14
18
  getDimensions(): {
15
19
  width: string;
@@ -0,0 +1,21 @@
1
+ export interface SulaMenuMainItem extends SulaMenuItem {
2
+ children?: SulaMenuSubItem[];
3
+ }
4
+ export interface SulaMenuSubItem extends SulaMenuItem {
5
+ children?: SulaMenuItem[];
6
+ }
7
+ export interface SulaMenuItem {
8
+ id: string;
9
+ label: string;
10
+ icon: string;
11
+ hidden?: boolean;
12
+ open?: boolean;
13
+ route?: string;
14
+ expanded?: boolean;
15
+ selected?: boolean;
16
+ }
17
+ export type SelectedMenuItem = {
18
+ id: string;
19
+ parentItemId?: string;
20
+ parentChildId?: string;
21
+ };
@@ -0,0 +1,73 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ import { SelectedMenuItem, SulaMenuItem, SulaMenuMainItem, SulaMenuSubItem } from './model/sula-menu.model';
3
+ export declare class SulaMenu {
4
+ /**
5
+ * Menu title
6
+ */
7
+ menuTitle: string;
8
+ /**
9
+ * Menu image
10
+ */
11
+ image: string;
12
+ /**
13
+ * Menu items
14
+ */
15
+ items: SulaMenuMainItem[];
16
+ /**
17
+ * Emitted when a menu item is selected
18
+ */
19
+ itemSelected: EventEmitter<SulaMenuMainItem | SulaMenuSubItem | SulaMenuItem>;
20
+ /**
21
+ * Emitted when a menu item is clicked
22
+ */
23
+ itemClicked: EventEmitter<SulaMenuMainItem | SulaMenuSubItem | SulaMenuItem>;
24
+ /**
25
+ * Emitted when the menu is toggled between collapsed and expanded states
26
+ * True: Menu is expanded
27
+ * False: Menu is collapsed
28
+ */
29
+ menuToggled: EventEmitter<boolean>;
30
+ collapsed: boolean;
31
+ previewExpanded: boolean;
32
+ selectedItem?: SelectedMenuItem;
33
+ componentWillLoad(): void;
34
+ syncSelectedItemFromItems(items: SulaMenuMainItem[]): void;
35
+ getVisibleItems<T extends SulaMenuItem>(items?: T[]): T[];
36
+ getVisibleSubItems(item: Pick<SulaMenuMainItem, 'children'>): SulaMenuSubItem[];
37
+ getVisibleGrandchildren(item: Pick<SulaMenuSubItem, 'children'>): SulaMenuItem[];
38
+ hasVisibleSubItems(item: Pick<SulaMenuMainItem, 'children'>): boolean;
39
+ hasVisibleGrandchildren(item: Pick<SulaMenuSubItem, 'children'>): boolean;
40
+ containsSelectedItem(items: SulaMenuMainItem[], selectedItem: SelectedMenuItem): boolean;
41
+ findSelectedLeaf(items: SulaMenuMainItem[]): {
42
+ id: string;
43
+ parentItemId?: undefined;
44
+ parentChildId?: undefined;
45
+ } | {
46
+ id: string;
47
+ parentItemId: string;
48
+ parentChildId: string;
49
+ } | {
50
+ id: string;
51
+ parentItemId: string;
52
+ parentChildId?: undefined;
53
+ };
54
+ isMainItemSelected(itemId: string): boolean;
55
+ hasSelectedChild(parentItemId: string): boolean;
56
+ isSelectedSubItem(parentItemId: string, childId: string): boolean;
57
+ hasSelectedGrandchild(parentItemId: string, parentChildId: string): boolean;
58
+ isSelectedGrandchild(parentItemId: string, parentChildId: string, grandchildId: string): boolean;
59
+ isItemActive(item: Pick<SulaMenuMainItem, 'id' | 'expanded' | 'children'>): boolean;
60
+ isSubItemActive(parentItemId: string, item: Pick<SulaMenuSubItem, 'id' | 'expanded' | 'children'>): boolean;
61
+ handleItemClick(clickedItem: SulaMenuMainItem): void;
62
+ handleSubItemClick(parentItemId: string, clickedChild: SulaMenuSubItem): void;
63
+ handleGrandchildClick(parentItemId: string, parentChildId: string, clickedGrandchild: NonNullable<SulaMenuSubItem['children']>[number]): void;
64
+ getItemIconClass(item: SulaMenuMainItem): "text-negative-negative-1 text-xl" | "text-icon-primary text-2xl";
65
+ getSubItemIconClass(_item: SulaMenuSubItem): string;
66
+ getSubItemCaretIconClass(): string;
67
+ getCaretIconClass(item: SulaMenuMainItem): "text-text-primary text-base" | "text-text-secondary text-base";
68
+ toggleMenu(): void;
69
+ handleMenuMouseEnter(): void;
70
+ handleMenuMouseLeave(): void;
71
+ renderSubmenuItems(parentItem: SulaMenuMainItem, expandedView: boolean): any[];
72
+ render(): any;
73
+ }
@@ -0,0 +1,56 @@
1
+ import { SulaMenuMainItem } from './model/sula-menu.model';
2
+ declare const _default: {
3
+ title: string;
4
+ tags: string[];
5
+ argTypes: {
6
+ menuTitle: {
7
+ control: string;
8
+ defaultValue: string;
9
+ description: string;
10
+ type: {
11
+ required: boolean;
12
+ };
13
+ };
14
+ image: {
15
+ control: string;
16
+ defaultValue: string;
17
+ description: string;
18
+ type: {
19
+ required: boolean;
20
+ };
21
+ };
22
+ items: {
23
+ control: string;
24
+ defaultValue: SulaMenuMainItem[];
25
+ description: string;
26
+ type: {
27
+ required: boolean;
28
+ };
29
+ };
30
+ itemSelected: {
31
+ action: string;
32
+ description: string;
33
+ };
34
+ itemClicked: {
35
+ action: string;
36
+ description: string;
37
+ };
38
+ menuToggled: {
39
+ action: string;
40
+ description: string;
41
+ };
42
+ };
43
+ parameters: {
44
+ docs: {
45
+ description: {
46
+ component: string;
47
+ };
48
+ };
49
+ };
50
+ };
51
+ export default _default;
52
+ export declare const Default: any;
53
+ export declare const WithNestedNavigation: any;
54
+ export declare const WithLongLabels: any;
55
+ export declare const WithHiddenItems: any;
56
+ export declare const WithoutBrandImage: any;
@@ -14,6 +14,7 @@ import { SulaChipAppearance } from "./components/sula-chip/model/sula-chip.model
14
14
  import { SulaMenuListItem } from "./components/sula-menu-select-list/model/sula-menu-select-list.model";
15
15
  import { SulaMenuListItem as SulaMenuListItem1 } from "./components";
16
16
  import { SulaLoaderSize } from "./components/sula-loader/model/sula-loader.model";
17
+ import { SulaMenuItem, SulaMenuMainItem, SulaMenuSubItem } from "./components/sula-menu/model/sula-menu.model";
17
18
  import { SulaModalSlotOverflow, SulaModalType } from "./components/sula-modal/model/sula-modal.model";
18
19
  import { SulaProgressBarAppearance, SulaProgressBarState } from "./components/sula-progress-bar/model/sula-progress-bar.model";
19
20
  import { SulaSearchBarStyle } from "./components/sula-search-bar/model/sula-search.bar-model";
@@ -36,6 +37,7 @@ export { SulaChipAppearance } from "./components/sula-chip/model/sula-chip.model
36
37
  export { SulaMenuListItem } from "./components/sula-menu-select-list/model/sula-menu-select-list.model";
37
38
  export { SulaMenuListItem as SulaMenuListItem1 } from "./components";
38
39
  export { SulaLoaderSize } from "./components/sula-loader/model/sula-loader.model";
40
+ export { SulaMenuItem, SulaMenuMainItem, SulaMenuSubItem } from "./components/sula-menu/model/sula-menu.model";
39
41
  export { SulaModalSlotOverflow, SulaModalType } from "./components/sula-modal/model/sula-modal.model";
40
42
  export { SulaProgressBarAppearance, SulaProgressBarState } from "./components/sula-progress-bar/model/sula-progress-bar.model";
41
43
  export { SulaSearchBarStyle } from "./components/sula-search-bar/model/sula-search.bar-model";
@@ -274,6 +276,23 @@ export namespace Components {
274
276
  */
275
277
  "size": SulaLoaderSize;
276
278
  }
279
+ interface SulaMenu {
280
+ /**
281
+ * Menu image
282
+ * @default ''
283
+ */
284
+ "image": string;
285
+ /**
286
+ * Menu items
287
+ * @default []
288
+ */
289
+ "items": SulaMenuMainItem[];
290
+ /**
291
+ * Menu title
292
+ * @default ''
293
+ */
294
+ "menuTitle": string;
295
+ }
277
296
  interface SulaMenuSelectList {
278
297
  /**
279
298
  * Menu is full width
@@ -719,6 +738,10 @@ export interface SulaDropdownCustomEvent<T> extends CustomEvent<T> {
719
738
  detail: T;
720
739
  target: HTMLSulaDropdownElement;
721
740
  }
741
+ export interface SulaMenuCustomEvent<T> extends CustomEvent<T> {
742
+ detail: T;
743
+ target: HTMLSulaMenuElement;
744
+ }
722
745
  export interface SulaMenuSelectListCustomEvent<T> extends CustomEvent<T> {
723
746
  detail: T;
724
747
  target: HTMLSulaMenuSelectListElement;
@@ -879,6 +902,25 @@ declare global {
879
902
  prototype: HTMLSulaLoaderElement;
880
903
  new (): HTMLSulaLoaderElement;
881
904
  };
905
+ interface HTMLSulaMenuElementEventMap {
906
+ "itemSelected": SulaMenuMainItem | SulaMenuSubItem | SulaMenuItem;
907
+ "itemClicked": SulaMenuMainItem | SulaMenuSubItem | SulaMenuItem;
908
+ "menuToggled": boolean;
909
+ }
910
+ interface HTMLSulaMenuElement extends Components.SulaMenu, HTMLStencilElement {
911
+ addEventListener<K extends keyof HTMLSulaMenuElementEventMap>(type: K, listener: (this: HTMLSulaMenuElement, ev: SulaMenuCustomEvent<HTMLSulaMenuElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
912
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
913
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
914
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
915
+ removeEventListener<K extends keyof HTMLSulaMenuElementEventMap>(type: K, listener: (this: HTMLSulaMenuElement, ev: SulaMenuCustomEvent<HTMLSulaMenuElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
916
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
917
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
918
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
919
+ }
920
+ var HTMLSulaMenuElement: {
921
+ prototype: HTMLSulaMenuElement;
922
+ new (): HTMLSulaMenuElement;
923
+ };
882
924
  interface HTMLSulaMenuSelectListElementEventMap {
883
925
  "itemSelected": SulaMenuListItem;
884
926
  }
@@ -1146,6 +1188,7 @@ declare global {
1146
1188
  "sula-dropdown": HTMLSulaDropdownElement;
1147
1189
  "sula-icon": HTMLSulaIconElement;
1148
1190
  "sula-loader": HTMLSulaLoaderElement;
1191
+ "sula-menu": HTMLSulaMenuElement;
1149
1192
  "sula-menu-select-list": HTMLSulaMenuSelectListElement;
1150
1193
  "sula-modal": HTMLSulaModalElement;
1151
1194
  "sula-progress-bar": HTMLSulaProgressBarElement;
@@ -1438,6 +1481,35 @@ declare namespace LocalJSX {
1438
1481
  */
1439
1482
  "size"?: SulaLoaderSize;
1440
1483
  }
1484
+ interface SulaMenu {
1485
+ /**
1486
+ * Menu image
1487
+ * @default ''
1488
+ */
1489
+ "image"?: string;
1490
+ /**
1491
+ * Menu items
1492
+ * @default []
1493
+ */
1494
+ "items"?: SulaMenuMainItem[];
1495
+ /**
1496
+ * Menu title
1497
+ * @default ''
1498
+ */
1499
+ "menuTitle"?: string;
1500
+ /**
1501
+ * Emitted when a menu item is clicked
1502
+ */
1503
+ "onItemClicked"?: (event: SulaMenuCustomEvent<SulaMenuMainItem | SulaMenuSubItem | SulaMenuItem>) => void;
1504
+ /**
1505
+ * Emitted when a menu item is selected
1506
+ */
1507
+ "onItemSelected"?: (event: SulaMenuCustomEvent<SulaMenuMainItem | SulaMenuSubItem | SulaMenuItem>) => void;
1508
+ /**
1509
+ * Emitted when the menu is toggled between collapsed and expanded states True: Menu is expanded False: Menu is collapsed
1510
+ */
1511
+ "onMenuToggled"?: (event: SulaMenuCustomEvent<boolean>) => void;
1512
+ }
1441
1513
  interface SulaMenuSelectList {
1442
1514
  /**
1443
1515
  * Menu is full width
@@ -1982,6 +2054,7 @@ declare namespace LocalJSX {
1982
2054
  "sula-dropdown": SulaDropdown;
1983
2055
  "sula-icon": SulaIcon;
1984
2056
  "sula-loader": SulaLoader;
2057
+ "sula-menu": SulaMenu;
1985
2058
  "sula-menu-select-list": SulaMenuSelectList;
1986
2059
  "sula-modal": SulaModal;
1987
2060
  "sula-progress-bar": SulaProgressBar;
@@ -2017,6 +2090,7 @@ declare module "@stencil/core" {
2017
2090
  "sula-dropdown": LocalJSX.SulaDropdown & JSXBase.HTMLAttributes<HTMLSulaDropdownElement>;
2018
2091
  "sula-icon": LocalJSX.SulaIcon & JSXBase.HTMLAttributes<HTMLSulaIconElement>;
2019
2092
  "sula-loader": LocalJSX.SulaLoader & JSXBase.HTMLAttributes<HTMLSulaLoaderElement>;
2093
+ "sula-menu": LocalJSX.SulaMenu & JSXBase.HTMLAttributes<HTMLSulaMenuElement>;
2020
2094
  "sula-menu-select-list": LocalJSX.SulaMenuSelectList & JSXBase.HTMLAttributes<HTMLSulaMenuSelectListElement>;
2021
2095
  "sula-modal": LocalJSX.SulaModal & JSXBase.HTMLAttributes<HTMLSulaModalElement>;
2022
2096
  "sula-progress-bar": LocalJSX.SulaProgressBar & JSXBase.HTMLAttributes<HTMLSulaProgressBarElement>;