le-kit 0.2.5 → 0.2.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 (160) hide show
  1. package/dist/cjs/le-bar.cjs.entry.js +428 -0
  2. package/dist/cjs/le-box.cjs.entry.js +1 -1
  3. package/dist/cjs/le-button_13.cjs.entry.js +17 -17
  4. package/dist/cjs/le-card.cjs.entry.js +1 -1
  5. package/dist/cjs/le-combobox.cjs.entry.js +1 -1
  6. package/dist/cjs/le-header-placeholder.cjs.entry.js +1 -1
  7. package/dist/cjs/le-icon.cjs.entry.js +1 -1
  8. package/dist/cjs/le-kit.cjs.js +1 -1
  9. package/dist/cjs/le-multiselect.cjs.entry.js +3 -3
  10. package/dist/cjs/le-navigation.cjs.entry.js +61 -250
  11. package/dist/cjs/le-number-input.cjs.entry.js +1 -1
  12. package/dist/cjs/le-round-progress.cjs.entry.js +1 -1
  13. package/dist/cjs/le-segmented-control.cjs.entry.js +1 -1
  14. package/dist/cjs/le-stack.cjs.entry.js +1 -1
  15. package/dist/cjs/le-tab-bar.cjs.entry.js +1 -1
  16. package/dist/cjs/le-tab-panel.cjs.entry.js +2 -2
  17. package/dist/cjs/le-tab.cjs.entry.js +1 -1
  18. package/dist/cjs/le-tabs.cjs.entry.js +2 -2
  19. package/dist/cjs/le-tag.cjs.entry.js +1 -1
  20. package/dist/cjs/le-turntable.cjs.entry.js +1 -1
  21. package/dist/cjs/loader.cjs.js +1 -1
  22. package/dist/collection/collection-manifest.json +1 -0
  23. package/dist/collection/components/le-bar/le-bar.css +255 -0
  24. package/dist/collection/components/le-bar/le-bar.js +628 -0
  25. package/dist/collection/components/le-bar/le-bar.js.map +1 -0
  26. package/dist/collection/components/le-box/le-box.js +1 -1
  27. package/dist/collection/components/le-button/le-button.js +1 -1
  28. package/dist/collection/components/le-card/le-card.js +1 -1
  29. package/dist/collection/components/le-checkbox/le-checkbox.js +1 -1
  30. package/dist/collection/components/le-collapse/le-collapse.js +1 -1
  31. package/dist/collection/components/le-combobox/le-combobox.js +1 -1
  32. package/dist/collection/components/le-current-heading/le-current-heading.js +1 -1
  33. package/dist/collection/components/le-dropdown-base/le-dropdown-base.js +1 -1
  34. package/dist/collection/components/le-header/le-header.js +2 -2
  35. package/dist/collection/components/le-header-placeholder/le-header-placeholder.js +1 -1
  36. package/dist/collection/components/le-icon/le-icon.js +1 -1
  37. package/dist/collection/components/le-multiselect/le-multiselect.js +3 -3
  38. package/dist/collection/components/le-navigation/le-navigation.css +29 -47
  39. package/dist/collection/components/le-navigation/le-navigation.js +62 -251
  40. package/dist/collection/components/le-navigation/le-navigation.js.map +1 -1
  41. package/dist/collection/components/le-number-input/le-number-input.js +1 -1
  42. package/dist/collection/components/le-popover/le-popover.js +3 -3
  43. package/dist/collection/components/le-popup/le-popup.js +1 -1
  44. package/dist/collection/components/le-round-progress/le-round-progress.js +1 -1
  45. package/dist/collection/components/le-scroll-progress/le-scroll-progress.js +1 -1
  46. package/dist/collection/components/le-segmented-control/le-segmented-control.js +1 -1
  47. package/dist/collection/components/le-select/le-select.js +2 -2
  48. package/dist/collection/components/le-slot/le-slot.js +1 -1
  49. package/dist/collection/components/le-stack/le-stack.js +1 -1
  50. package/dist/collection/components/le-string-input/le-string-input.js +2 -2
  51. package/dist/collection/components/le-tab/le-tab.js +1 -1
  52. package/dist/collection/components/le-tab-bar/le-tab-bar.js +1 -1
  53. package/dist/collection/components/le-tab-panel/le-tab-panel.js +2 -2
  54. package/dist/collection/components/le-tabs/le-tabs.js +2 -2
  55. package/dist/collection/components/le-tag/le-tag.js +1 -1
  56. package/dist/collection/components/le-turntable/le-turntable.js +1 -1
  57. package/dist/collection/dist/components/assets/custom-elements.json +2147 -1764
  58. package/dist/components/assets/custom-elements.json +2147 -1764
  59. package/dist/components/le-bar.d.ts +11 -0
  60. package/dist/components/le-bar.js +9 -0
  61. package/dist/components/le-bar.js.map +1 -0
  62. package/dist/components/le-bar2.js +473 -0
  63. package/dist/components/le-bar2.js.map +1 -0
  64. package/dist/components/le-box.js +1 -1
  65. package/dist/components/le-button2.js +8 -8
  66. package/dist/components/le-card.js +1 -1
  67. package/dist/components/le-collapse2.js +1 -1
  68. package/dist/components/le-combobox.js +1 -1
  69. package/dist/components/le-current-heading.js +1 -1
  70. package/dist/components/le-dropdown-base2.js +1 -1
  71. package/dist/components/le-header-placeholder.js +1 -1
  72. package/dist/components/le-header.js +2 -2
  73. package/dist/components/le-icon2.js +1 -1
  74. package/dist/components/le-multiselect.js +3 -3
  75. package/dist/components/le-navigation.js +70 -253
  76. package/dist/components/le-navigation.js.map +1 -1
  77. package/dist/components/le-number-input.js +1 -1
  78. package/dist/components/le-popover2.js +3 -3
  79. package/dist/components/le-round-progress.js +1 -1
  80. package/dist/components/le-scroll-progress.js +1 -1
  81. package/dist/components/le-segmented-control.js +1 -1
  82. package/dist/components/le-stack.js +1 -1
  83. package/dist/components/le-tab-bar.js +1 -1
  84. package/dist/components/le-tab-panel.js +2 -2
  85. package/dist/components/le-tab2.js +1 -1
  86. package/dist/components/le-tabs.js +2 -2
  87. package/dist/components/le-tag2.js +1 -1
  88. package/dist/components/le-turntable.js +1 -1
  89. package/dist/docs.json +404 -13
  90. package/dist/esm/le-bar.entry.js +426 -0
  91. package/dist/esm/le-bar.entry.js.map +1 -0
  92. package/dist/esm/le-box.entry.js +1 -1
  93. package/dist/esm/le-button_13.entry.js +17 -17
  94. package/dist/esm/le-card.entry.js +1 -1
  95. package/dist/esm/le-combobox.entry.js +1 -1
  96. package/dist/esm/le-header-placeholder.entry.js +1 -1
  97. package/dist/esm/le-icon.entry.js +1 -1
  98. package/dist/esm/le-kit.js +1 -1
  99. package/dist/esm/le-multiselect.entry.js +3 -3
  100. package/dist/esm/le-navigation.entry.js +61 -250
  101. package/dist/esm/le-navigation.entry.js.map +1 -1
  102. package/dist/esm/le-number-input.entry.js +1 -1
  103. package/dist/esm/le-round-progress.entry.js +1 -1
  104. package/dist/esm/le-segmented-control.entry.js +1 -1
  105. package/dist/esm/le-stack.entry.js +1 -1
  106. package/dist/esm/le-tab-bar.entry.js +1 -1
  107. package/dist/esm/le-tab-panel.entry.js +2 -2
  108. package/dist/esm/le-tab.entry.js +1 -1
  109. package/dist/esm/le-tabs.entry.js +2 -2
  110. package/dist/esm/le-tag.entry.js +1 -1
  111. package/dist/esm/le-turntable.entry.js +1 -1
  112. package/dist/esm/loader.js +1 -1
  113. package/dist/le-kit/dist/components/assets/custom-elements.json +2147 -1764
  114. package/dist/le-kit/le-kit.esm.js +1 -1
  115. package/dist/le-kit/p-045e0d4a.entry.js +2 -0
  116. package/dist/le-kit/p-045e0d4a.entry.js.map +1 -0
  117. package/dist/le-kit/{p-00cd6dc4.entry.js → p-07705c61.entry.js} +2 -2
  118. package/dist/le-kit/{p-0b5ab6ec.entry.js → p-0a270831.entry.js} +2 -2
  119. package/dist/le-kit/p-2102a152.entry.js +2 -0
  120. package/dist/le-kit/{p-02699578.entry.js.map → p-2102a152.entry.js.map} +1 -1
  121. package/dist/le-kit/{p-76d03b1e.entry.js → p-244ff3d7.entry.js} +2 -2
  122. package/dist/le-kit/{p-a5e21c8e.entry.js → p-249db213.entry.js} +2 -2
  123. package/dist/le-kit/{p-348a4e39.entry.js → p-3a0a57e9.entry.js} +2 -2
  124. package/dist/le-kit/{p-2db32332.entry.js → p-4b88b0da.entry.js} +2 -2
  125. package/dist/le-kit/p-4f11ea11.entry.js +2 -0
  126. package/dist/le-kit/p-4f11ea11.entry.js.map +1 -0
  127. package/dist/le-kit/{p-9f409d74.entry.js → p-61edb398.entry.js} +2 -2
  128. package/dist/le-kit/{p-17ace252.entry.js → p-6d0090c1.entry.js} +2 -2
  129. package/dist/le-kit/{p-91421993.entry.js → p-73f7de28.entry.js} +2 -2
  130. package/dist/le-kit/{p-8907cf95.entry.js → p-764005e3.entry.js} +2 -2
  131. package/dist/le-kit/{p-509caf7f.entry.js → p-94f774af.entry.js} +2 -2
  132. package/dist/le-kit/p-ac822433.entry.js +2 -0
  133. package/dist/le-kit/{p-995f6de8.entry.js → p-b21277e8.entry.js} +2 -2
  134. package/dist/le-kit/{p-65fa68c3.entry.js → p-b6997587.entry.js} +2 -2
  135. package/dist/le-kit/{p-0aab5747.entry.js → p-c0ccc9aa.entry.js} +2 -2
  136. package/dist/le-kit/{p-b4dcb4df.entry.js → p-ebd86d4f.entry.js} +2 -2
  137. package/dist/types/components/le-bar/le-bar.d.ts +125 -0
  138. package/dist/types/components/le-navigation/le-navigation.d.ts +10 -18
  139. package/dist/types/components.d.ts +148 -0
  140. package/package.json +1 -1
  141. package/dist/le-kit/p-02699578.entry.js +0 -2
  142. package/dist/le-kit/p-a1c26c46.entry.js +0 -2
  143. package/dist/le-kit/p-a1c26c46.entry.js.map +0 -1
  144. package/dist/le-kit/p-ccf4c548.entry.js +0 -2
  145. /package/dist/le-kit/{p-00cd6dc4.entry.js.map → p-07705c61.entry.js.map} +0 -0
  146. /package/dist/le-kit/{p-0b5ab6ec.entry.js.map → p-0a270831.entry.js.map} +0 -0
  147. /package/dist/le-kit/{p-76d03b1e.entry.js.map → p-244ff3d7.entry.js.map} +0 -0
  148. /package/dist/le-kit/{p-a5e21c8e.entry.js.map → p-249db213.entry.js.map} +0 -0
  149. /package/dist/le-kit/{p-348a4e39.entry.js.map → p-3a0a57e9.entry.js.map} +0 -0
  150. /package/dist/le-kit/{p-2db32332.entry.js.map → p-4b88b0da.entry.js.map} +0 -0
  151. /package/dist/le-kit/{p-9f409d74.entry.js.map → p-61edb398.entry.js.map} +0 -0
  152. /package/dist/le-kit/{p-17ace252.entry.js.map → p-6d0090c1.entry.js.map} +0 -0
  153. /package/dist/le-kit/{p-91421993.entry.js.map → p-73f7de28.entry.js.map} +0 -0
  154. /package/dist/le-kit/{p-8907cf95.entry.js.map → p-764005e3.entry.js.map} +0 -0
  155. /package/dist/le-kit/{p-509caf7f.entry.js.map → p-94f774af.entry.js.map} +0 -0
  156. /package/dist/le-kit/{p-ccf4c548.entry.js.map → p-ac822433.entry.js.map} +0 -0
  157. /package/dist/le-kit/{p-995f6de8.entry.js.map → p-b21277e8.entry.js.map} +0 -0
  158. /package/dist/le-kit/{p-65fa68c3.entry.js.map → p-b6997587.entry.js.map} +0 -0
  159. /package/dist/le-kit/{p-0aab5747.entry.js.map → p-c0ccc9aa.entry.js.map} +0 -0
  160. /package/dist/le-kit/{p-b4dcb4df.entry.js.map → p-ebd86d4f.entry.js.map} +0 -0
@@ -0,0 +1,125 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ export interface LeBarOverflowChangeDetail {
3
+ /** IDs of items that are currently overflowing (in the "more" popover) */
4
+ overflowingIds: string[];
5
+ /** Whether hamburger mode is active */
6
+ hamburgerActive: boolean;
7
+ }
8
+ /**
9
+ * A flexible bar component that handles overflow gracefully.
10
+ *
11
+ * Items are slotted children. The bar measures which items fit on the first
12
+ * row and handles overflow according to the `overflow` prop.
13
+ *
14
+ * @slot - Bar items (children will be measured for overflow)
15
+ * @slot more - Custom "more" button content
16
+ * @slot hamburger - Custom hamburger button content
17
+ * @slot start-arrow - Custom left scroll arrow
18
+ * @slot end-arrow - Custom right scroll arrow
19
+ * @slot all-menu - Custom "show all" menu button
20
+ *
21
+ * @csspart container - The main bar container
22
+ * @csspart item - Individual items in the bar
23
+ * @csspart more-button - The "more" overflow button
24
+ * @csspart hamburger-button - The hamburger menu button
25
+ * @csspart arrow-start - The start (left) scroll arrow
26
+ * @csspart arrow-end - The end (right) scroll arrow
27
+ * @csspart all-menu-button - The "show all" menu button
28
+ * @csspart popover-content - The popover content wrapper
29
+ *
30
+ * @cmsEditable true
31
+ * @cmsCategory Layout
32
+ */
33
+ export declare class LeBar {
34
+ el: HTMLElement;
35
+ /**
36
+ * Overflow behavior when items don't fit on one row.
37
+ * - `more`: Overflow items appear in a "more" dropdown
38
+ * - `scroll`: Items scroll horizontally with optional arrows
39
+ * - `hamburger`: All items go into a hamburger menu if any overflow
40
+ * - `wrap`: Items wrap to additional rows
41
+ */
42
+ overflow: 'more' | 'scroll' | 'hamburger' | 'wrap';
43
+ /**
44
+ * Alignment of items within the bar (maps to justify-content).
45
+ */
46
+ alignItems: 'start' | 'end' | 'center' | 'stretch';
47
+ /**
48
+ * Show scroll arrows when overflow is "scroll".
49
+ */
50
+ arrows: boolean;
51
+ /**
52
+ * Disable the internal overflow popover.
53
+ * When true, the bar still detects overflow and hides items,
54
+ * but doesn't render its own popover. Use this when providing
55
+ * custom overflow handling via the leBarOverflowChange event.
56
+ */
57
+ disablePopover: boolean;
58
+ /**
59
+ * Show an "all items" menu button.
60
+ * - `false`: Don't show
61
+ * - `true` or `'end'`: Show at end
62
+ * - `'start'`: Show at start
63
+ */
64
+ showAllMenu: boolean | 'start' | 'end';
65
+ /**
66
+ * Emitted when overflow state changes.
67
+ */
68
+ leBarOverflowChange: EventEmitter<LeBarOverflowChangeDetail>;
69
+ /** Whether the hamburger/more popover is open */
70
+ private popoverOpen;
71
+ /** Whether hamburger mode is active (for hamburger overflow) */
72
+ private hamburgerActive;
73
+ /** IDs of items that are overflowing */
74
+ private overflowingIds;
75
+ /** Whether we can scroll left */
76
+ private canScrollStart;
77
+ /** Whether we can scroll right */
78
+ private canScrollEnd;
79
+ /** Whether the all-menu popover is open */
80
+ private allMenuOpen;
81
+ /** Current height of the items container (for overflow handling) */
82
+ private containerHeight;
83
+ private itemsContainerEl?;
84
+ private moreButtonEl?;
85
+ private resizeObserver?;
86
+ private mutationObserver?;
87
+ private instanceId;
88
+ private itemMap;
89
+ private pendingRecalc;
90
+ handleOverflowChange(): void;
91
+ handleSlotChange(): void;
92
+ connectedCallback(): void;
93
+ componentDidLoad(): void;
94
+ componentDidRender(): void;
95
+ disconnectedCallback(): void;
96
+ /**
97
+ * Force recalculation of overflow state.
98
+ */
99
+ recalculate(): Promise<void>;
100
+ private setupObservers;
101
+ private observeContainer;
102
+ private scheduleOverflowRecalc;
103
+ private resetOverflowState;
104
+ private getSlottedItems;
105
+ private getItemId;
106
+ private computeOverflow;
107
+ private emitOverflowChange;
108
+ private updateScrollState;
109
+ private handleScroll;
110
+ private scrollToStart;
111
+ private scrollToEnd;
112
+ private togglePopover;
113
+ private closePopover;
114
+ private toggleAllMenu;
115
+ private closeAllMenu;
116
+ private handleItemClick;
117
+ private renderMoreButton;
118
+ private renderHamburgerButton;
119
+ private renderScrollArrows;
120
+ private renderAllMenuButton;
121
+ private renderPopoverContent;
122
+ private renderOverflowPopover;
123
+ private renderAllMenuPopover;
124
+ render(): any;
125
+ }
@@ -89,28 +89,18 @@ export declare class LeNavigation {
89
89
  leNavItemToggle: EventEmitter<LeNavigationItemToggleDetail>;
90
90
  private searchQuery;
91
91
  private openState;
92
+ /** IDs of items currently in overflow (from le-bar) */
92
93
  private overflowIds;
94
+ /** Whether hamburger mode is active (from le-bar) */
93
95
  private hamburgerActive;
94
- private fallbackHamburger;
95
96
  private submenuQueries;
96
- private navContainerEl?;
97
- private measureEl?;
98
- private measureMoreEl?;
99
- private topItemEls;
97
+ /** Whether the overflow popover is open */
98
+ private overflowPopoverOpen;
100
99
  private popoverRefs;
101
- private moreTriggerEl?;
102
- private hamburgerPopoverEl?;
103
- private morePopoverEl?;
104
- private resizeObserver?;
105
100
  private instanceId;
106
101
  private partFromOptionPart;
107
102
  handleLayoutInputsChange(): void;
108
- componentDidLoad(): void;
109
103
  disconnectedCallback(): void;
110
- componentDidRender(): void;
111
- private setupResizeObserver;
112
- private observeContainer;
113
- private scheduleOverflowRecalc;
114
104
  private get parsedItems();
115
105
  private getItemId;
116
106
  private getChildItems;
@@ -122,12 +112,14 @@ export declare class LeNavigation {
122
112
  private handleToggle;
123
113
  private handleSearchInput;
124
114
  private handleSubmenuSearchInput;
125
- private getTopLevelIds;
126
- private computeOverflow;
127
- private computeOverflowMoreByWrap;
128
- private renderHorizontalMeasureItem;
115
+ private handleBarOverflowChange;
116
+ private openOverflowPopover;
117
+ private closeOverflowPopover;
129
118
  private renderVerticalList;
130
119
  private renderHorizontalItem;
120
+ private getOverflowMode;
121
+ private getBarAlignment;
122
+ private renderOverflowPopover;
131
123
  private renderHorizontal;
132
124
  render(): any;
133
125
  }
@@ -5,15 +5,63 @@
5
5
  * It contains typing information for all components that exist in this project.
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
+ import { LeBarOverflowChangeDetail } from "./components/le-bar/le-bar";
8
9
  import { LeMultiOptionSelectDetail, LeOption, LeOptionSelectDetail, LeOptionValue } from "./types/options";
9
10
  import { LeNavigationItemSelectDetail, LeNavigationItemToggleDetail } from "./components/le-navigation/le-navigation";
10
11
  import { LeKitMode } from "./global/app";
11
12
  import { PopupPosition, PopupResult, PopupType } from "./components/le-popup/le-popup";
13
+ export { LeBarOverflowChangeDetail } from "./components/le-bar/le-bar";
12
14
  export { LeMultiOptionSelectDetail, LeOption, LeOptionSelectDetail, LeOptionValue } from "./types/options";
13
15
  export { LeNavigationItemSelectDetail, LeNavigationItemToggleDetail } from "./components/le-navigation/le-navigation";
14
16
  export { LeKitMode } from "./global/app";
15
17
  export { PopupPosition, PopupResult, PopupType } from "./components/le-popup/le-popup";
16
18
  export namespace Components {
19
+ /**
20
+ * A flexible bar component that handles overflow gracefully.
21
+ * Items are slotted children. The bar measures which items fit on the first
22
+ * row and handles overflow according to the `overflow` prop.
23
+ * @csspart container - The main bar container
24
+ * @csspart item - Individual items in the bar
25
+ * @csspart more-button - The "more" overflow button
26
+ * @csspart hamburger-button - The hamburger menu button
27
+ * @csspart arrow-start - The start (left) scroll arrow
28
+ * @csspart arrow-end - The end (right) scroll arrow
29
+ * @csspart all-menu-button - The "show all" menu button
30
+ * @csspart popover-content - The popover content wrapper
31
+ * @cmsEditable true
32
+ * @cmsCategory Layout
33
+ */
34
+ interface LeBar {
35
+ /**
36
+ * Alignment of items within the bar (maps to justify-content).
37
+ * @default 'start'
38
+ */
39
+ "alignItems": 'start' | 'end' | 'center' | 'stretch';
40
+ /**
41
+ * Show scroll arrows when overflow is "scroll".
42
+ * @default false
43
+ */
44
+ "arrows": boolean;
45
+ /**
46
+ * Disable the internal overflow popover. When true, the bar still detects overflow and hides items, but doesn't render its own popover. Use this when providing custom overflow handling via the leBarOverflowChange event.
47
+ * @default false
48
+ */
49
+ "disablePopover": boolean;
50
+ /**
51
+ * Overflow behavior when items don't fit on one row. - `more`: Overflow items appear in a "more" dropdown - `scroll`: Items scroll horizontally with optional arrows - `hamburger`: All items go into a hamburger menu if any overflow - `wrap`: Items wrap to additional rows
52
+ * @default 'more'
53
+ */
54
+ "overflow": 'more' | 'scroll' | 'hamburger' | 'wrap';
55
+ /**
56
+ * Force recalculation of overflow state.
57
+ */
58
+ "recalculate": () => Promise<void>;
59
+ /**
60
+ * Show an "all items" menu button. - `false`: Don't show - `true` or `'end'`: Show at end - `'start'`: Show at start
61
+ * @default false
62
+ */
63
+ "showAllMenu": boolean | 'start' | 'end';
64
+ }
17
65
  /**
18
66
  * A flexible box component for use as a flex item within le-stack.
19
67
  * `le-box` wraps content and provides flex item properties like grow, shrink,
@@ -1781,6 +1829,10 @@ export namespace Components {
1781
1829
  "value": number;
1782
1830
  }
1783
1831
  }
1832
+ export interface LeBarCustomEvent<T> extends CustomEvent<T> {
1833
+ detail: T;
1834
+ target: HTMLLeBarElement;
1835
+ }
1784
1836
  export interface LeButtonCustomEvent<T> extends CustomEvent<T> {
1785
1837
  detail: T;
1786
1838
  target: HTMLLeButtonElement;
@@ -1854,6 +1906,38 @@ export interface LeTagCustomEvent<T> extends CustomEvent<T> {
1854
1906
  target: HTMLLeTagElement;
1855
1907
  }
1856
1908
  declare global {
1909
+ interface HTMLLeBarElementEventMap {
1910
+ "leBarOverflowChange": LeBarOverflowChangeDetail;
1911
+ }
1912
+ /**
1913
+ * A flexible bar component that handles overflow gracefully.
1914
+ * Items are slotted children. The bar measures which items fit on the first
1915
+ * row and handles overflow according to the `overflow` prop.
1916
+ * @csspart container - The main bar container
1917
+ * @csspart item - Individual items in the bar
1918
+ * @csspart more-button - The "more" overflow button
1919
+ * @csspart hamburger-button - The hamburger menu button
1920
+ * @csspart arrow-start - The start (left) scroll arrow
1921
+ * @csspart arrow-end - The end (right) scroll arrow
1922
+ * @csspart all-menu-button - The "show all" menu button
1923
+ * @csspart popover-content - The popover content wrapper
1924
+ * @cmsEditable true
1925
+ * @cmsCategory Layout
1926
+ */
1927
+ interface HTMLLeBarElement extends Components.LeBar, HTMLStencilElement {
1928
+ addEventListener<K extends keyof HTMLLeBarElementEventMap>(type: K, listener: (this: HTMLLeBarElement, ev: LeBarCustomEvent<HTMLLeBarElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1929
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1930
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1931
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1932
+ removeEventListener<K extends keyof HTMLLeBarElementEventMap>(type: K, listener: (this: HTMLLeBarElement, ev: LeBarCustomEvent<HTMLLeBarElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1933
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1934
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1935
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1936
+ }
1937
+ var HTMLLeBarElement: {
1938
+ prototype: HTMLLeBarElement;
1939
+ new (): HTMLLeBarElement;
1940
+ };
1857
1941
  /**
1858
1942
  * A flexible box component for use as a flex item within le-stack.
1859
1943
  * `le-box` wraps content and provides flex item properties like grow, shrink,
@@ -2682,6 +2766,7 @@ declare global {
2682
2766
  new (): HTMLLeTurntableElement;
2683
2767
  };
2684
2768
  interface HTMLElementTagNameMap {
2769
+ "le-bar": HTMLLeBarElement;
2685
2770
  "le-box": HTMLLeBoxElement;
2686
2771
  "le-button": HTMLLeButtonElement;
2687
2772
  "le-card": HTMLLeCardElement;
@@ -2716,6 +2801,52 @@ declare global {
2716
2801
  }
2717
2802
  }
2718
2803
  declare namespace LocalJSX {
2804
+ /**
2805
+ * A flexible bar component that handles overflow gracefully.
2806
+ * Items are slotted children. The bar measures which items fit on the first
2807
+ * row and handles overflow according to the `overflow` prop.
2808
+ * @csspart container - The main bar container
2809
+ * @csspart item - Individual items in the bar
2810
+ * @csspart more-button - The "more" overflow button
2811
+ * @csspart hamburger-button - The hamburger menu button
2812
+ * @csspart arrow-start - The start (left) scroll arrow
2813
+ * @csspart arrow-end - The end (right) scroll arrow
2814
+ * @csspart all-menu-button - The "show all" menu button
2815
+ * @csspart popover-content - The popover content wrapper
2816
+ * @cmsEditable true
2817
+ * @cmsCategory Layout
2818
+ */
2819
+ interface LeBar {
2820
+ /**
2821
+ * Alignment of items within the bar (maps to justify-content).
2822
+ * @default 'start'
2823
+ */
2824
+ "alignItems"?: 'start' | 'end' | 'center' | 'stretch';
2825
+ /**
2826
+ * Show scroll arrows when overflow is "scroll".
2827
+ * @default false
2828
+ */
2829
+ "arrows"?: boolean;
2830
+ /**
2831
+ * Disable the internal overflow popover. When true, the bar still detects overflow and hides items, but doesn't render its own popover. Use this when providing custom overflow handling via the leBarOverflowChange event.
2832
+ * @default false
2833
+ */
2834
+ "disablePopover"?: boolean;
2835
+ /**
2836
+ * Emitted when overflow state changes.
2837
+ */
2838
+ "onLeBarOverflowChange"?: (event: LeBarCustomEvent<LeBarOverflowChangeDetail>) => void;
2839
+ /**
2840
+ * Overflow behavior when items don't fit on one row. - `more`: Overflow items appear in a "more" dropdown - `scroll`: Items scroll horizontally with optional arrows - `hamburger`: All items go into a hamburger menu if any overflow - `wrap`: Items wrap to additional rows
2841
+ * @default 'more'
2842
+ */
2843
+ "overflow"?: 'more' | 'scroll' | 'hamburger' | 'wrap';
2844
+ /**
2845
+ * Show an "all items" menu button. - `false`: Don't show - `true` or `'end'`: Show at end - `'start'`: Show at start
2846
+ * @default false
2847
+ */
2848
+ "showAllMenu"?: boolean | 'start' | 'end';
2849
+ }
2719
2850
  /**
2720
2851
  * A flexible box component for use as a flex item within le-stack.
2721
2852
  * `le-box` wraps content and provides flex item properties like grow, shrink,
@@ -4556,6 +4687,7 @@ declare namespace LocalJSX {
4556
4687
  "value"?: number;
4557
4688
  }
4558
4689
  interface IntrinsicElements {
4690
+ "le-bar": LeBar;
4559
4691
  "le-box": LeBox;
4560
4692
  "le-button": LeButton;
4561
4693
  "le-card": LeCard;
@@ -4593,6 +4725,22 @@ export { LocalJSX as JSX };
4593
4725
  declare module "@stencil/core" {
4594
4726
  export namespace JSX {
4595
4727
  interface IntrinsicElements {
4728
+ /**
4729
+ * A flexible bar component that handles overflow gracefully.
4730
+ * Items are slotted children. The bar measures which items fit on the first
4731
+ * row and handles overflow according to the `overflow` prop.
4732
+ * @csspart container - The main bar container
4733
+ * @csspart item - Individual items in the bar
4734
+ * @csspart more-button - The "more" overflow button
4735
+ * @csspart hamburger-button - The hamburger menu button
4736
+ * @csspart arrow-start - The start (left) scroll arrow
4737
+ * @csspart arrow-end - The end (right) scroll arrow
4738
+ * @csspart all-menu-button - The "show all" menu button
4739
+ * @csspart popover-content - The popover content wrapper
4740
+ * @cmsEditable true
4741
+ * @cmsCategory Layout
4742
+ */
4743
+ "le-bar": LocalJSX.LeBar & JSXBase.HTMLAttributes<HTMLLeBarElement>;
4596
4744
  /**
4597
4745
  * A flexible box component for use as a flex item within le-stack.
4598
4746
  * `le-box` wraps content and provides flex item properties like grow, shrink,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "le-kit",
3
- "version": "0.2.5",
3
+ "version": "0.2.6",
4
4
  "description": "Themable web components library with CMS admin mode support",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -1,2 +0,0 @@
1
- import{r as t,c as s,h as i,e}from"./p-BqH-zsXr.js";const n=()=>`:host{display:inline-block;width:var(--le-icon-size, var(--le-size-4));height:var(--le-icon-size, var(--le-size-4));color:var(--le-icon-color, var(--le-color-text-primary))}:host svg{display:block;fill:currentColor}`;const r={};const o={};async function a({name:t}){if(r[t]){return r[t]}if(!o[t]){console.log(`Fetching icon "${t}"`,e(`./assets/icons/${t}.json`));o[t]=fetch(e(`./assets/icons/${t}.json`)).then((t=>t.json())).catch((()=>{console.error(`"${t}" is not a valid name`);return""}))}const s=await o[t];r[t]=s;return s}const l=class{constructor(s){t(this,s)}get el(){return s(this)}name=null;size=16;iconData=null;visible=false;async loadIconData(){const{name:t,visible:s}=this;if(!t||!s){return}this.iconData=await a({name:t})}intersectionObserver;connectedCallback(){this.waitUntilVisible((()=>{this.visible=true;this.loadIconData()}))}disconnectedCallback(){if(this.intersectionObserver){this.intersectionObserver.disconnect();this.intersectionObserver=null}}async componentWillLoad(){this.loadIconData()}waitUntilVisible(t){if(typeof window==="undefined"||!window.IntersectionObserver){t();return}this.intersectionObserver=new IntersectionObserver((s=>{s.forEach((s=>{if(s.isIntersecting){this.intersectionObserver.disconnect();this.intersectionObserver=null;t()}}))}),{rootMargin:"50px"});this.intersectionObserver.observe(this.el)}renderSVGContent(t){if(!t||t.length===0){return null}const s=t=>{const{tag:e,children:n,...r}=t;return i(e,r,n?n.map(s):null)};const e=t.map(s);return e}render(){return i("svg",{key:"591fdb4f5bd1a8621886ff16b01e97e3d6b83a84",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",height:this.size||16,width:this.size||16,viewBox:this.iconData?.viewBox||`0 0 ${this.size||16} ${this.size||16}`},this.renderSVGContent(this.iconData?.children))}static get assetsDirs(){return["assets/icons"]}static get watchers(){return{name:["loadIconData"]}}};l.style=n();export{l as le_icon};
2
- //# sourceMappingURL=p-02699578.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as e,d as t,c as n,h as i,H as a}from"./p-BqH-zsXr.js";import{g as s,c as r}from"./p-VG5nXRzT.js";const o=()=>`:host{display:block;--le-nav-radius:var(--le-radius-md);--le-nav-gap:var(--le-spacing-2);--le-nav-item-padding-x:var(--le-spacing-1);--le-nav-item-padding-y:var(--le-spacing-2);--le-nav-item-gap:var(--le-spacing-2);--le-nav-color:var(--le-color-text-primary);--le-nav-muted:var(--le-color-text-secondary);--le-nav-hover-bg:var(--le-color-gray-100);--le-nav-selected-bg:var(--le-color-primary);--le-nav-selected-color:var(--le-color-primary-contrast)}.nav-vertical{display:flex;flex-direction:column;gap:var(--le-nav-gap)}.nav-search{width:100%}.nav-search-input{--le-input-radius:var(--le-radius-md)}.nav-empty{padding:var(--le-spacing-2);color:var(--le-nav-muted);font-size:var(--le-font-size-sm)}.nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--le-spacing-1)}.nav-row{display:flex;align-items:stretch;gap:var(--le-spacing-1);border-radius:var(--le-nav-radius)}.nav-row:hover{background:var(--le-nav-hover-bg)}.nav-toggle,.nav-toggle-spacer{box-sizing:border-box;width:var(--le-spacing-4);min-width:var(--le-spacing-4);display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--le-nav-radius);color:inherit}.nav-toggle{background:transparent;cursor:pointer;opacity:0.4}.nav-toggle:hover:not(:disabled){opacity:1}.nav-toggle:focus-visible{outline:2px solid var(--le-color-focus);outline-offset:2px;opacity:1}.nav-chevron{display:inline-block;transition:transform var(--le-transition-fast)}.nav-chevron svg{display:block;width:var(--le-spacing-4);height:var(--le-spacing-4)}.nav-node>div>button>.nav-chevron{transform:rotate(-90deg)}.nav-node.open>div>button>.nav-chevron{transform:rotate(0deg)}.nav-item{flex:1;display:inline-flex;align-items:center;gap:var(--le-nav-item-gap);padding:var(--le-nav-item-padding-y) var(--le-nav-item-padding-x) var(--le-nav-item-padding-y) 0;border-radius:var(--le-nav-radius);border:1px solid transparent;background:transparent;text-decoration:none;color:var(--le-nav-color);font-family:var(--le-font-family-base);font-size:var(--le-font-size-md);line-height:var(--le-line-height-tight);cursor:pointer}.nav-item:focus-visible{outline:2px solid var(--le-color-focus);outline-offset:2px}.nav-node.selected>.nav-row{background:var(--le-nav-selected-bg);color:var(--le-nav-selected-color)}.nav-node.selected>.nav-row>.nav-item{color:inherit}.nav-node.disabled>.nav-row>.nav-item{opacity:0.5;cursor:not-allowed}.nav-text{display:flex;flex-direction:column;min-width:0}.nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-description{color:color-mix(in srgb, var(--le-nav-muted) 90%, transparent);font-size:var(--le-font-size-sm);line-height:var(--le-line-height-tight)}.nav-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.nav-icon-end{margin-left:auto}.nav-children{margin-top:var(--le-spacing-1)}.nav-horizontal{display:flex;align-items:center;gap:var(--le-spacing-2)}.nav-horizontal.align-end{justify-content:flex-end}.nav-horizontal.align-center{justify-content:center}.nav-horizontal.align-space-between{justify-content:space-between}.nav-horizontal-shell{position:relative}.nav-horizontal-measure{position:absolute;left:-10000px;top:-10000px;visibility:hidden;pointer-events:none;display:flex;align-items:center;gap:var(--le-spacing-2);flex-wrap:wrap}.nav-horizontal.wrap{flex-wrap:wrap}.nav-horizontal.nowrap{flex-wrap:nowrap;overflow:hidden}.h-item{display:flex;align-items:center}.h-link{display:inline-flex;align-items:center;gap:var(--le-spacing-2);padding:var(--le-spacing-2) var(--le-spacing-3);border-radius:var(--le-nav-radius);border:1px solid transparent;background:transparent;text-decoration:none;color:var(--le-nav-color);font-family:var(--le-font-family-base);font-size:var(--le-font-size-md);cursor:pointer}.h-link:hover{background:var(--le-nav-hover-bg)}.h-link:focus-visible{outline:2px solid var(--le-color-focus);outline-offset:2px}.h-link.disabled,.h-trigger.disabled{opacity:0.5;pointer-events:none}.h-link.selected,.h-trigger.selected{background:var(--le-nav-selected-bg);color:var(--le-nav-selected-color)}.h-label{white-space:nowrap}.h-trigger{display:inline-flex;align-items:center;gap:var(--le-spacing-1);border-radius:var(--le-nav-radius)}.h-submenu-toggle{width:var(--le-spacing-3);height:var(--le-spacing-3);display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--le-nav-radius);background:transparent;color:currentColor;cursor:pointer}.h-submenu-toggle:hover{background:var(--le-nav-hover-bg)}.more-trigger-wrap{display:flex;align-items:center}.more-trigger-wrap.is-measure{position:absolute;visibility:hidden;pointer-events:none}.more-trigger-wrap.is-visible{position:static;visibility:visible}.overflow-trigger{display:inline-flex;align-items:center;justify-content:center;gap:var(--le-spacing-2);padding:var(--le-spacing-2) var(--le-spacing-3);border-radius:var(--le-nav-radius);border:1px solid transparent;background:transparent;color:var(--le-nav-color);cursor:pointer;font-family:var(--le-font-family-base);font-size:var(--le-font-size-md)}.overflow-trigger:hover{background:var(--le-nav-hover-bg)}.overflow-trigger:focus-visible{outline:2px solid var(--le-color-focus);outline-offset:2px}le-popover::part(content){padding:var(--le-spacing-1)}`;const l=class{constructor(n){e(this,n);this.leNavItemSelect=t(this,"leNavItemSelect");this.leNavItemToggle=t(this,"leNavItemToggle")}get el(){return n(this)}items=[];orientation="horizontal";wrap=true;overflowMode="more";minVisibleItemsForMore=2;align="start";activeUrl="";searchable=false;searchPlaceholder="Search...";emptyText="No results found";submenuSearchable=false;leNavItemSelect;leNavItemToggle;searchQuery="";openState={};overflowIds=[];hamburgerActive=false;fallbackHamburger=false;submenuQueries={};navContainerEl;measureEl;measureMoreEl;topItemEls=new Map;popoverRefs=new Map;moreTriggerEl;hamburgerPopoverEl;morePopoverEl;resizeObserver;instanceId=s("le-nav");partFromOptionPart(e,t){const n=(t??"").trim();if(!n)return e;const i=n.split(/\s+/).map((e=>e.replace(/[^a-zA-Z0-9_-]/g,""))).filter(Boolean);if(i.length===0)return e;return[e,...i.map((t=>`${e}-${t}`))].join(" ")}handleLayoutInputsChange(){this.scheduleOverflowRecalc()}componentDidLoad(){this.setupResizeObserver();this.scheduleOverflowRecalc()}disconnectedCallback(){this.resizeObserver?.disconnect();this.resizeObserver=undefined}componentDidRender(){this.scheduleOverflowRecalc()}setupResizeObserver(){this.resizeObserver?.disconnect();if(typeof ResizeObserver==="undefined")return;this.resizeObserver=new ResizeObserver((()=>this.computeOverflow()));this.observeContainer(this.navContainerEl)}observeContainer(e){if(!this.resizeObserver)return;this.resizeObserver.disconnect();if(e)this.resizeObserver.observe(e)}scheduleOverflowRecalc(){if(this.orientation!=="horizontal")return;requestAnimationFrame((()=>this.computeOverflow()))}get parsedItems(){if(typeof this.items==="string"){try{return JSON.parse(this.items)}catch{return[]}}return this.items}getItemId(e,t){return e.id??`${this.instanceId}:${t}`}getChildItems(e){return Array.isArray(e.children)?e.children:[]}isOpen(e,t){const n=this.openState[t];if(typeof n==="boolean")return n;return!!e.open}setOpen(e,t){if(this.openState[e]===t)return;this.openState={...this.openState,[e]:t}}matchesQuery(e,t){if(!t)return true;const n=t.toLowerCase();return e.label.toLowerCase().includes(n)||(e.description?.toLowerCase().includes(n)??false)}filterTree(e,t,n,i){if(!t)return e;const a=[];e.forEach(((e,s)=>{const r=n?`${n}.${s}`:String(s);const o=this.getItemId(e,r);const l=this.getChildItems(e);const c=this.filterTree(l,t,r,i);const h=this.matchesQuery(e,t);const d=c.length>0;if(h||d){if(d){i.add(o)}if(d&&c!==l){a.push({...e,children:c})}else{a.push(e)}}}));return a}handleItemSelect=(e,t,n)=>{if(t.disabled){e.preventDefault();e.stopPropagation();return}const i=this.leNavItemSelect.emit({item:t,id:n,href:t.href,originalEvent:e});if(i.defaultPrevented){e.preventDefault()}};handleToggle=(e,t,n)=>{e.preventDefault();e.stopPropagation();if(t.disabled)return;const i=!this.isOpen(t,n);this.setOpen(n,i);this.leNavItemToggle.emit({item:t,id:n,open:i,originalEvent:e})};handleSearchInput=e=>{const t=e.target;this.searchQuery=t.value};handleSubmenuSearchInput=(e,t)=>{const n=t.target;const i=n.value;if(this.submenuQueries[e]===i)return;this.submenuQueries={...this.submenuQueries,[e]:i};requestAnimationFrame((()=>this.popoverRefs.get(e)?.updatePosition()))};getTopLevelIds(e){return e.map(((e,t)=>this.getItemId(e,String(t))))}computeOverflow(){if(this.orientation!=="horizontal"||this.wrap){if(!this.overflowIds||this.overflowIds.length)this.overflowIds=[];if(this.hamburgerActive)this.hamburgerActive=false;if(this.fallbackHamburger)this.fallbackHamburger=false;return}const e=this.navContainerEl;if(!e)return;const t=this.getTopLevelIds(this.parsedItems);const n=t.map((e=>this.topItemEls.get(e)?.getBoundingClientRect().width??0));const i=n.reduce(((e,t)=>e+t),0);const a=e.getBoundingClientRect().width;if(this.overflowMode==="hamburger"){const e=i>a;if(e!==this.hamburgerActive){this.hamburgerActive=e}if(!this.overflowIds||this.overflowIds.length)this.overflowIds=[];if(this.fallbackHamburger)this.fallbackHamburger=false;return}if(this.hamburgerActive)this.hamburgerActive=false;const s=this.computeOverflowMoreByWrap(a);if(!s)return;const r=this.parsedItems.length-s.length;const o=this.moreTriggerEl?.getBoundingClientRect().width??0;const l=Math.max(0,Number(this.minVisibleItemsForMore)||0);const c=s.length>0&&r<l||o>0&&o>a;if(c!==this.fallbackHamburger){this.fallbackHamburger=c}const h=c?[]:s;const d=h.length===this.overflowIds?.length&&h.every(((e,t)=>e===this.overflowIds[t]));if(!d){this.overflowIds=h}}computeOverflowMoreByWrap(e){const t=this.navContainerEl;const n=this.measureEl;const i=this.measureMoreEl;const a=this.parsedItems;if(!t||!n)return null;n.style.width=`${e}px`;const s=this.moreTriggerEl?.getBoundingClientRect().width;if(i&&s&&s>0){const e=i.querySelector("button");if(e){e.style.width=`${s}px`}}const r=this.getTopLevelIds(a);const o=r.map((e=>n.querySelector(`[data-nav-id="${CSS.escape(e)}"]`))).filter((e=>!!e));o.forEach((e=>{e.style.display=""}));if(i){i.style.display="none"}if(o.length===0){return[]}const l=Math.min(...o.map((e=>e.offsetTop)));const c=new Set;o.forEach((e=>{const t=e.getAttribute("data-nav-id");if(!t)return;if(e.offsetTop>l)c.add(t)}));if(c.size===0){return[]}if(i){i.style.display=""}o.forEach((e=>{const t=e.getAttribute("data-nav-id");if(!t)return;if(c.has(t))e.style.display="none"}));const h=()=>o.filter((e=>e.style.display!=="none"));while(i){const e=h();const t=e.length?Math.min(...e.map((e=>e.offsetTop))):0;if(i.offsetTop<=t)break;if(e.length===0)break;const n=e[e.length-1];const a=n.getAttribute("data-nav-id");if(!a)break;n.style.display="none";c.add(a)}const d=r.filter((e=>c.has(e)));return d}renderHorizontalMeasureItem(e,t){const n=this.getItemId(e,String(t));const a=this.getChildItems(e);const s=a.length>0;const r=e=>{if(e)this.topItemEls.set(n,e)};if(!s){return i("div",{class:"h-item",ref:r,"data-nav-id":n},i("span",{class:"h-link"},e.iconStart&&i("span",{class:"nav-icon","aria-hidden":"true"},e.iconStart),i("span",{class:"h-label"},e.label),e.iconEnd&&i("span",{class:"nav-icon nav-icon-end","aria-hidden":"true"},e.iconEnd)))}return i("div",{class:"h-item",ref:r,"data-nav-id":n},i("span",{class:"h-trigger"},i("span",{class:"h-link"},e.iconStart&&i("span",{class:"nav-icon","aria-hidden":"true"},e.iconStart),i("span",{class:"h-label"},e.label)),i("span",{class:"h-submenu-toggle","aria-hidden":"true"},i("le-icon",{name:"chevron-down"}))))}renderVerticalList(e,{depth:t,pathPrefix:n,autoOpenIds:a,searchable:s,searchQuery:o,searchPlaceholder:l,emptyText:c,submenuId:h,closePopover:d}){const v=o??"";const p=a??new Set;const u=v?this.filterTree(e,v,n,p):e;return i("div",{class:r("nav-vertical",{"is-submenu":!!h})},s&&i("div",{class:"nav-search"},i("le-string-input",{mode:"default",class:"nav-search-input",placeholder:l??"Search...",value:v,onInput:e=>h?this.handleSubmenuSearchInput(h,e):this.handleSearchInput(e)})),u.length===0?i("div",{class:"nav-empty"},c??this.emptyText):i("ul",{class:"nav-list",role:"tree"},u.map(((e,a)=>{const s=n?`${n}.${a}`:String(a);const o=this.getItemId(e,s);const l=this.getChildItems(e);const c=l.length>0;const v=c&&(this.isOpen(e,o)||p.has(o));const u=`calc(var(--le-nav-item-padding-x) + ${t} * var(--le-spacing-4))`;const g=e.href&&!e.disabled?"a":"button";const f=g==="a"?{href:e.href,role:"treeitem"}:{type:"button",role:"treeitem"};const m=this.partFromOptionPart("item",e.part);return i("li",{class:r("nav-node",{disabled:e.disabled,selected:e.selected||this.activeUrl&&e.href===this.activeUrl,open:v,"has-children":c}),key:o,role:"none"},i("div",{class:"nav-row",style:{paddingLeft:u}},c?i("button",{type:"button",class:"nav-toggle","aria-label":v?"Collapse":"Expand","aria-expanded":v?"true":"false",onClick:t=>this.handleToggle(t,e,o),disabled:e.disabled},i("le-icon",{name:"chevron-down",class:"nav-chevron","aria-hidden":"true"})):i("span",{class:"nav-toggle-spacer","aria-hidden":"true"}),i(g,{class:"nav-item",part:m,...f,"aria-disabled":e.disabled?"true":undefined,onClick:t=>{this.handleItemSelect(t,e,o);if(!e.href&&c&&!e.disabled){this.handleToggle(t,e,o);return}if(!e.disabled&&d){d()}}},e.iconStart&&i("span",{class:"nav-icon","aria-hidden":"true"},e.iconStart),i("span",{class:"nav-text"},i("span",{class:"nav-label"},e.label),e.description&&i("span",{class:"nav-description"},e.description)),e.iconEnd&&i("span",{class:"nav-icon nav-icon-end","aria-hidden":"true"},e.iconEnd))),c&&i("le-collapse",{class:"nav-children",closed:!v,noFading:true,role:"group"},this.renderVerticalList(l,{depth:t+1,pathPrefix:s,autoOpenIds:p,submenuId:h,closePopover:d})))}))))}renderHorizontalItem(e,t){const n=this.getItemId(e,String(t));const a=this.getChildItems(e);const s=a.length>0;if(!s){const t=e.href&&!e.disabled?"a":"button";const a=t==="a"?{href:e.href,role:"menuitem"}:{type:"button",role:"menuitem"};const s=this.partFromOptionPart("item",e.part);return i("div",{class:"h-item"},i(t,{class:r("h-link",{disabled:e.disabled,selected:e.selected||this.activeUrl&&e.href===this.activeUrl}),part:s,...a,"aria-disabled":e.disabled?"true":undefined,onClick:t=>this.handleItemSelect(t,e,n)},e.iconStart&&i("span",{class:"nav-icon","aria-hidden":"true"},e.iconStart),i("span",{class:"h-label"},e.label),e.iconEnd&&i("span",{class:"nav-icon nav-icon-end","aria-hidden":"true"},e.iconEnd)))}const o=n;const l=this.partFromOptionPart("item",e.part);return i("div",{class:"h-item"},i("le-popover",{ref:e=>{if(e)this.popoverRefs.set(o,e)},mode:"default",showClose:false,closeOnClickOutside:true,closeOnEscape:true,position:"bottom",align:"start",minWidth:"240px"},i("div",{slot:"trigger",class:r("h-trigger",{disabled:e.disabled,selected:e.selected||this.activeUrl&&e.href===this.activeUrl}),part:l,role:"menuitem","aria-disabled":e.disabled?"true":undefined,onClick:t=>{t.stopPropagation();if(e.disabled)return;if(e.href){this.handleItemSelect(t,e,n);this.popoverRefs.get(o)?.hide()}else{this.popoverRefs.get(o)?.toggle()}}},e.href?i("a",{class:"h-link",href:e.href,onClick:t=>{t.stopPropagation();this.handleItemSelect(t,e,n)}},e.iconStart&&i("span",{class:"nav-icon","aria-hidden":"true"},e.iconStart),i("span",{class:"h-label"},e.label),i("span",{class:"nav-chevron","aria-hidden":"true"},i("le-icon",{name:"chevron-down"}))):i("button",{type:"button",class:"h-link",onClick:t=>{t.stopPropagation();if(e.disabled)return;this.popoverRefs.get(o)?.toggle()}},e.iconStart&&i("span",{class:"nav-icon","aria-hidden":"true"},e.iconStart),i("span",{class:"h-label"},e.label),i("span",{class:"nav-chevron","aria-hidden":"true"},i("le-icon",{name:"chevron-down"})))),i("div",{class:"popover-menu"},this.renderVerticalList(a,{depth:0,pathPrefix:String(t),searchable:this.submenuSearchable,searchQuery:this.submenuQueries[o]??"",searchPlaceholder:this.searchPlaceholder,emptyText:this.emptyText,submenuId:o,closePopover:()=>this.popoverRefs.get(o)?.hide()}))))}renderHorizontal(){const e=this.parsedItems;const t=new Set(this.overflowIds);const n=[];e.forEach(((e,i)=>{const a=this.getItemId(e,String(i));if(!this.wrap&&this.overflowMode==="more"&&t.has(a)){n.push(e)}}));const a=!this.wrap&&(this.overflowMode==="hamburger"&&this.hamburgerActive||this.overflowMode==="more"&&this.fallbackHamburger);if(a){return i("div",{class:"nav-horizontal-shell"},i("div",{class:"nav-horizontal-measure","aria-hidden":"true",ref:e=>{this.measureEl=e}},e.map(((e,t)=>this.renderHorizontalMeasureItem(e,t))),i("div",{class:"h-item",ref:e=>{this.measureMoreEl=e}},i("button",{type:"button",class:"overflow-trigger"},"More"))),i("div",{class:r("nav-horizontal",{"align-end":this.align==="end","align-center":this.align==="center","align-space-between":this.align==="space-between"}),ref:e=>{this.navContainerEl=e;this.setupResizeObserver();this.observeContainer(this.navContainerEl)}},i("le-popover",{ref:e=>{this.hamburgerPopoverEl=e},mode:"default",showClose:false,closeOnClickOutside:true,closeOnEscape:true,position:"bottom",align:"end",minWidth:"260px"},i("button",{slot:"trigger",type:"button",class:"overflow-trigger",part:"hamburger-trigger","aria-label":"Open menu"},i("slot",{name:"hamburger-trigger"},i("le-icon",{name:"hamburger"}))),i("div",{class:"popover-menu"},this.renderVerticalList(e,{depth:0,pathPrefix:"",closePopover:()=>this.hamburgerPopoverEl?.hide()})))))}const s=!this.wrap&&this.overflowMode==="more"&&n.length>0;return i("div",{class:"nav-horizontal-shell",role:"menubar"},i("div",{class:"nav-horizontal-measure","aria-hidden":"true",ref:e=>{this.measureEl=e}},e.map(((e,t)=>this.renderHorizontalMeasureItem(e,t))),i("div",{class:"h-item",ref:e=>{this.measureMoreEl=e}},i("button",{type:"button",class:"overflow-trigger"},i("le-icon",{name:"ellipsis-horizontal"})))),i("div",{class:r("nav-horizontal",{wrap:this.wrap,nowrap:!this.wrap,"align-end":this.align==="end","align-center":this.align==="center","align-space-between":this.align==="space-between"}),ref:e=>{this.navContainerEl=e;this.setupResizeObserver();this.observeContainer(this.navContainerEl)}},e.map(((e,n)=>{const i=this.getItemId(e,String(n));const a=!this.wrap&&this.overflowMode==="more"&&t.has(i);if(a)return null;return this.renderHorizontalItem(e,n)})),i("div",{class:r("more-trigger-wrap",{"is-visible":s,"is-measure":!s})},i("le-popover",{ref:e=>{this.morePopoverEl=e},mode:"default",position:"bottom",align:"end",minWidth:"260px",showClose:false},i("button",{slot:"trigger",type:"button",class:"overflow-trigger",part:"more-trigger","aria-label":"More",ref:e=>{if(e)this.moreTriggerEl=e}},i("slot",{name:"more-trigger"},i("le-icon",{name:"ellipsis-horizontal"}))),i("div",{class:"popover-menu"},this.renderVerticalList(n,{depth:0,pathPrefix:"",closePopover:()=>this.morePopoverEl?.hide()}))))))}render(){const e=this.parsedItems;if(this.orientation==="horizontal"){return i(a,null,i("le-component",{component:"le-navigation"},this.renderHorizontal()))}return i(a,null,i("le-component",{component:"le-navigation"},this.renderVerticalList(e,{depth:0,pathPrefix:"",searchable:this.searchable,searchQuery:this.searchQuery,searchPlaceholder:this.searchPlaceholder,emptyText:this.emptyText})))}static get watchers(){return{items:["handleLayoutInputsChange"],orientation:["handleLayoutInputsChange"],wrap:["handleLayoutInputsChange"],overflowMode:["handleLayoutInputsChange"]}}};l.style=o();export{l as le_navigation};
2
- //# sourceMappingURL=p-a1c26c46.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["registerInstance","createEvent","getElement","h","Host","generateId","classnames","leNavigationCss","LeNavigation","constructor","hostRef","this","leNavItemSelect","leNavItemToggle","el","items","orientation","wrap","overflowMode","minVisibleItemsForMore","align","activeUrl","searchable","searchPlaceholder","emptyText","submenuSearchable","searchQuery","openState","overflowIds","hamburgerActive","fallbackHamburger","submenuQueries","navContainerEl","measureEl","measureMoreEl","topItemEls","Map","popoverRefs","moreTriggerEl","hamburgerPopoverEl","morePopoverEl","resizeObserver","instanceId","partFromOptionPart","base","part","raw","trim","tokens","split","map","t","replace","filter","Boolean","length","join","handleLayoutInputsChange","scheduleOverflowRecalc","componentDidLoad","setupResizeObserver","disconnectedCallback","disconnect","undefined","componentDidRender","ResizeObserver","computeOverflow","observeContainer","observe","requestAnimationFrame","parsedItems","JSON","parse","getItemId","item","path","id","getChildItems","Array","isArray","children","isOpen","fromState","open","setOpen","matchesQuery","option","query","q","toLowerCase","label","includes","description","filterTree","pathPrefix","autoOpen","result","forEach","index","String","filteredChildren","selfMatch","childMatch","add","push","handleItemSelect","e","disabled","preventDefault","stopPropagation","emitted","emit","href","originalEvent","defaultPrevented","handleToggle","next","handleSearchInput","target","value","handleSubmenuSearchInput","submenuId","get","updatePosition","getTopLevelIds","container","topIds","widths","getBoundingClientRect","width","totalWidth","reduce","a","b","availableWidth","shouldHamburger","computedOverflow","computeOverflowMoreByWrap","visibleCount","moreWidth","minVisible","Math","max","Number","shouldFallback","nextOverflow","same","every","v","i","measure","measureMore","style","realMoreWidth","btn","querySelector","allIds","itemEls","CSS","escape","display","firstRowTop","min","offsetTop","overflowSet","Set","getAttribute","size","has","getVisibleItemEls","visible","rowTop","last","lastId","renderHorizontalMeasureItem","hasChildren","setRef","set","class","ref","iconStart","iconEnd","name","renderVerticalList","depth","autoOpenIds","closePopover","openFromSearch","filtered","mode","placeholder","onInput","role","paddingLeft","TagType","attrs","type","itemPart","selected","key","onClick","closed","noFading","renderHorizontalItem","showClose","closeOnClickOutside","closeOnEscape","position","minWidth","slot","hide","toggle","renderHorizontal","overflowItems","showHamburger","showMore","nowrap","isOverflow","render","component","watchers"],"sources":["0"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,h as r,H as a}from"./p-BqH-zsXr.js";const s=class{constructor(r){e(this,r)}render(){return r(a,{key:"53a4cd451e1b53a4be3b6b20c82e12f53a982a17","aria-hidden":"true",style:{display:"block",height:"var(--le-header-height, 64px)"}})}};export{s as le_header_placeholder};
2
- //# sourceMappingURL=p-ccf4c548.entry.js.map