le-kit 0.1.4 → 0.1.5

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 (198) hide show
  1. package/dist/le-kit/assets/custom-elements.json +4305 -0
  2. package/dist/le-kit/index-Da-89pOc.js +4522 -0
  3. package/dist/le-kit/{index-D21JjI31.js.map → index-Da-89pOc.js.map} +1 -1
  4. package/dist/le-kit/index.esm.js +116 -2
  5. package/dist/le-kit/index.esm.js.map +1 -1
  6. package/dist/{esm → le-kit}/le-box.entry.js +3 -3
  7. package/dist/le-kit/le-button.entry.esm.js.map +1 -0
  8. package/dist/le-kit/le-button.entry.js +90 -0
  9. package/dist/{esm → le-kit}/le-card.entry.js +3 -3
  10. package/dist/le-kit/le-checkbox.entry.esm.js.map +1 -0
  11. package/dist/le-kit/le-checkbox.entry.js +59 -0
  12. package/dist/le-kit/le-component.entry.esm.js.map +1 -0
  13. package/dist/{collection/components/le-component/le-component.js → le-kit/le-component.entry.js} +19 -134
  14. package/dist/le-kit/le-kit.css +1010 -1
  15. package/dist/le-kit/le-kit.esm.js +48 -2
  16. package/dist/le-kit/le-kit.esm.js.map +1 -1
  17. package/dist/{esm → le-kit}/le-number-input.entry.js +5 -5
  18. package/dist/le-kit/le-popover.entry.esm.js.map +1 -0
  19. package/dist/{components/le-popover2.js → le-kit/le-popover.entry.js} +9 -45
  20. package/dist/{esm → le-kit}/le-popup.entry.js +6 -6
  21. package/dist/{esm → le-kit}/le-round-progress.entry.js +2 -2
  22. package/dist/le-kit/le-slot.entry.esm.js.map +1 -0
  23. package/dist/{collection/components/le-slot/le-slot.js → le-kit/le-slot.entry.js} +30 -279
  24. package/dist/{esm → le-kit}/le-stack.entry.js +3 -3
  25. package/dist/le-kit/le-string-input.entry.esm.js.map +1 -0
  26. package/dist/le-kit/le-string-input.entry.js +93 -0
  27. package/dist/{esm → le-kit}/le-text.entry.js +3 -3
  28. package/dist/{esm → le-kit}/le-turntable.entry.js +2 -2
  29. package/dist/{esm/utils-CJLZrrdC.js → le-kit/utils-FDOApZ53.js} +3 -3
  30. package/dist/le-kit/{utils-apol-Xc_.js.map → utils-FDOApZ53.js.map} +1 -1
  31. package/package.json +1 -1
  32. package/dist/cjs/index-CO4npcak.js +0 -1796
  33. package/dist/cjs/index-CO4npcak.js.map +0 -1
  34. package/dist/cjs/index.cjs.js +0 -117
  35. package/dist/cjs/index.cjs.js.map +0 -1
  36. package/dist/cjs/le-box.cjs.entry.js +0 -184
  37. package/dist/cjs/le-box.entry.cjs.js.map +0 -1
  38. package/dist/cjs/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.cjs.js.map +0 -1
  39. package/dist/cjs/le-button_6.cjs.entry.js +0 -1199
  40. package/dist/cjs/le-card.cjs.entry.js +0 -29
  41. package/dist/cjs/le-card.entry.cjs.js.map +0 -1
  42. package/dist/cjs/le-kit.cjs.js +0 -25
  43. package/dist/cjs/le-kit.cjs.js.map +0 -1
  44. package/dist/cjs/le-number-input.cjs.entry.js +0 -202
  45. package/dist/cjs/le-number-input.entry.cjs.js.map +0 -1
  46. package/dist/cjs/le-popup.cjs.entry.js +0 -212
  47. package/dist/cjs/le-popup.entry.cjs.js.map +0 -1
  48. package/dist/cjs/le-round-progress.cjs.entry.js +0 -106
  49. package/dist/cjs/le-round-progress.entry.cjs.js.map +0 -1
  50. package/dist/cjs/le-stack.cjs.entry.js +0 -135
  51. package/dist/cjs/le-stack.entry.cjs.js.map +0 -1
  52. package/dist/cjs/le-text.cjs.entry.js +0 -335
  53. package/dist/cjs/le-text.entry.cjs.js.map +0 -1
  54. package/dist/cjs/le-turntable.cjs.entry.js +0 -139
  55. package/dist/cjs/le-turntable.entry.cjs.js.map +0 -1
  56. package/dist/cjs/loader.cjs.js +0 -13
  57. package/dist/cjs/loader.cjs.js.map +0 -1
  58. package/dist/cjs/utils-BeT0iyCQ.js +0 -152
  59. package/dist/cjs/utils-BeT0iyCQ.js.map +0 -1
  60. package/dist/collection/collection-manifest.json +0 -26
  61. package/dist/collection/components/le-box/le-box.default.css +0 -37
  62. package/dist/collection/components/le-box/le-box.js +0 -614
  63. package/dist/collection/components/le-box/le-box.js.map +0 -1
  64. package/dist/collection/components/le-button/le-button.default.css +0 -263
  65. package/dist/collection/components/le-button/le-button.js +0 -368
  66. package/dist/collection/components/le-button/le-button.js.map +0 -1
  67. package/dist/collection/components/le-card/le-card.default.css +0 -74
  68. package/dist/collection/components/le-card/le-card.js +0 -102
  69. package/dist/collection/components/le-card/le-card.js.map +0 -1
  70. package/dist/collection/components/le-checkbox/le-checkbox.css +0 -93
  71. package/dist/collection/components/le-checkbox/le-checkbox.js +0 -192
  72. package/dist/collection/components/le-checkbox/le-checkbox.js.map +0 -1
  73. package/dist/collection/components/le-component/le-component.css +0 -189
  74. package/dist/collection/components/le-component/le-component.js.map +0 -1
  75. package/dist/collection/components/le-number-input/le-number-input.css +0 -135
  76. package/dist/collection/components/le-number-input/le-number-input.js +0 -515
  77. package/dist/collection/components/le-number-input/le-number-input.js.map +0 -1
  78. package/dist/collection/components/le-popover/le-popover.css +0 -143
  79. package/dist/collection/components/le-popover/le-popover.js +0 -693
  80. package/dist/collection/components/le-popover/le-popover.js.map +0 -1
  81. package/dist/collection/components/le-popup/le-popup.api.js +0 -101
  82. package/dist/collection/components/le-popup/le-popup.api.js.map +0 -1
  83. package/dist/collection/components/le-popup/le-popup.css +0 -222
  84. package/dist/collection/components/le-popup/le-popup.js +0 -596
  85. package/dist/collection/components/le-popup/le-popup.js.map +0 -1
  86. package/dist/collection/components/le-round-progress/le-round-progress.css +0 -34
  87. package/dist/collection/components/le-round-progress/le-round-progress.js +0 -184
  88. package/dist/collection/components/le-round-progress/le-round-progress.js.map +0 -1
  89. package/dist/collection/components/le-slot/le-slot.default.css +0 -222
  90. package/dist/collection/components/le-slot/le-slot.js.map +0 -1
  91. package/dist/collection/components/le-stack/le-stack.default.css +0 -37
  92. package/dist/collection/components/le-stack/le-stack.js +0 -389
  93. package/dist/collection/components/le-stack/le-stack.js.map +0 -1
  94. package/dist/collection/components/le-string-input/le-string-input.css +0 -83
  95. package/dist/collection/components/le-string-input/le-string-input.js +0 -359
  96. package/dist/collection/components/le-string-input/le-string-input.js.map +0 -1
  97. package/dist/collection/components/le-text/le-text.default.css +0 -169
  98. package/dist/collection/components/le-text/le-text.js +0 -475
  99. package/dist/collection/components/le-text/le-text.js.map +0 -1
  100. package/dist/collection/components/le-turntable/le-turntable.css +0 -10
  101. package/dist/collection/components/le-turntable/le-turntable.js +0 -210
  102. package/dist/collection/components/le-turntable/le-turntable.js.map +0 -1
  103. package/dist/collection/global/app.js +0 -130
  104. package/dist/collection/global/app.js.map +0 -1
  105. package/dist/collection/index.js +0 -15
  106. package/dist/collection/index.js.map +0 -1
  107. package/dist/collection/types/blocks.js +0 -115
  108. package/dist/collection/types/blocks.js.map +0 -1
  109. package/dist/collection/types/options.js +0 -2
  110. package/dist/collection/types/options.js.map +0 -1
  111. package/dist/collection/utils/utils.js +0 -141
  112. package/dist/collection/utils/utils.js.map +0 -1
  113. package/dist/components/index.js +0 -127
  114. package/dist/components/index.js.map +0 -1
  115. package/dist/components/le-box.js +0 -256
  116. package/dist/components/le-box.js.map +0 -1
  117. package/dist/components/le-button.js +0 -9
  118. package/dist/components/le-button.js.map +0 -1
  119. package/dist/components/le-button2.js +0 -1408
  120. package/dist/components/le-button2.js.map +0 -1
  121. package/dist/components/le-card.js +0 -83
  122. package/dist/components/le-card.js.map +0 -1
  123. package/dist/components/le-checkbox.js +0 -9
  124. package/dist/components/le-checkbox.js.map +0 -1
  125. package/dist/components/le-component.js +0 -9
  126. package/dist/components/le-component.js.map +0 -1
  127. package/dist/components/le-number-input.js +0 -271
  128. package/dist/components/le-number-input.js.map +0 -1
  129. package/dist/components/le-popover.js +0 -9
  130. package/dist/components/le-popover.js.map +0 -1
  131. package/dist/components/le-popover2.js.map +0 -1
  132. package/dist/components/le-popup.js +0 -279
  133. package/dist/components/le-popup.js.map +0 -1
  134. package/dist/components/le-round-progress.js +0 -135
  135. package/dist/components/le-round-progress.js.map +0 -1
  136. package/dist/components/le-slot.js +0 -9
  137. package/dist/components/le-slot.js.map +0 -1
  138. package/dist/components/le-stack.js +0 -198
  139. package/dist/components/le-stack.js.map +0 -1
  140. package/dist/components/le-string-input.js +0 -9
  141. package/dist/components/le-string-input.js.map +0 -1
  142. package/dist/components/le-text.js +0 -398
  143. package/dist/components/le-text.js.map +0 -1
  144. package/dist/components/le-turntable.js +0 -164
  145. package/dist/components/le-turntable.js.map +0 -1
  146. package/dist/docs.d.ts +0 -443
  147. package/dist/docs.json +0 -5185
  148. package/dist/esm/index-D71TXvJa.js +0 -1781
  149. package/dist/esm/index-D71TXvJa.js.map +0 -1
  150. package/dist/esm/index.js +0 -106
  151. package/dist/esm/index.js.map +0 -1
  152. package/dist/esm/le-box.entry.js.map +0 -1
  153. package/dist/esm/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.js.map +0 -1
  154. package/dist/esm/le-button_6.entry.js +0 -1192
  155. package/dist/esm/le-card.entry.js.map +0 -1
  156. package/dist/esm/le-kit.js +0 -21
  157. package/dist/esm/le-kit.js.map +0 -1
  158. package/dist/esm/le-number-input.entry.js.map +0 -1
  159. package/dist/esm/le-popup.entry.js.map +0 -1
  160. package/dist/esm/le-round-progress.entry.js.map +0 -1
  161. package/dist/esm/le-stack.entry.js.map +0 -1
  162. package/dist/esm/le-text.entry.js.map +0 -1
  163. package/dist/esm/le-turntable.entry.js.map +0 -1
  164. package/dist/esm/loader.js +0 -11
  165. package/dist/esm/loader.js.map +0 -1
  166. package/dist/esm/utils-CJLZrrdC.js.map +0 -1
  167. package/dist/index.cjs.js +0 -1
  168. package/dist/index.js +0 -1
  169. package/dist/le-kit/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.esm.js.map +0 -1
  170. package/dist/le-kit/p-024a764e.entry.js +0 -2
  171. package/dist/le-kit/p-024a764e.entry.js.map +0 -1
  172. package/dist/le-kit/p-073cf0b9.entry.js +0 -2
  173. package/dist/le-kit/p-073cf0b9.entry.js.map +0 -1
  174. package/dist/le-kit/p-0955b105.entry.js +0 -2
  175. package/dist/le-kit/p-0955b105.entry.js.map +0 -1
  176. package/dist/le-kit/p-18d79ee2.entry.js +0 -2
  177. package/dist/le-kit/p-18d79ee2.entry.js.map +0 -1
  178. package/dist/le-kit/p-4b1d3b6d.entry.js +0 -2
  179. package/dist/le-kit/p-4b1d3b6d.entry.js.map +0 -1
  180. package/dist/le-kit/p-79d179bd.entry.js +0 -2
  181. package/dist/le-kit/p-79d179bd.entry.js.map +0 -1
  182. package/dist/le-kit/p-D71TXvJa.js +0 -3
  183. package/dist/le-kit/p-D71TXvJa.js.map +0 -1
  184. package/dist/le-kit/p-c8a9288e.entry.js +0 -2
  185. package/dist/le-kit/p-c8a9288e.entry.js.map +0 -1
  186. package/dist/le-kit/p-cfc35bd3.entry.js +0 -2
  187. package/dist/le-kit/p-cfc35bd3.entry.js.map +0 -1
  188. package/dist/le-kit/p-d04da1f5.entry.js +0 -2
  189. package/dist/le-kit/p-d04da1f5.entry.js.map +0 -1
  190. package/dist/le-kit/p-qIai5-eB.js +0 -2
  191. package/dist/le-kit/p-qIai5-eB.js.map +0 -1
  192. package/dist/themes/base.css +0 -89
  193. package/dist/themes/dark.css +0 -100
  194. package/dist/themes/default.css +0 -108
  195. package/dist/themes/gradient.css +0 -100
  196. package/dist/themes/index.css +0 -413
  197. package/dist/themes/minimal.css +0 -100
  198. package/dist/themes/warm.css +0 -100
@@ -1,693 +0,0 @@
1
- import { h } from "@stencil/core";
2
- /**
3
- * A popover component for displaying floating content.
4
- *
5
- * Uses the native HTML Popover API for proper layering with dialogs
6
- * and other top-layer elements. Falls back gracefully in older browsers.
7
- *
8
- * @slot - Content to display inside the popover
9
- * @slot trigger - Element that triggers the popover (optional)
10
- *
11
- * @cmsInternal true
12
- * @cmsCategory System
13
- */
14
- export class LePopover {
15
- el;
16
- /**
17
- * Mode of the popover should be 'default' for internal use
18
- */
19
- mode;
20
- /**
21
- * Whether the popover is currently open
22
- */
23
- open = false;
24
- /**
25
- * Position of the popover relative to its trigger
26
- */
27
- position = 'bottom';
28
- /**
29
- * Alignment of the popover
30
- */
31
- align = 'start';
32
- /**
33
- * Optional title for the popover header
34
- */
35
- popoverTitle;
36
- /**
37
- * Whether to show a close button in the header
38
- */
39
- showClose = true;
40
- /**
41
- * Whether clicking outside closes the popover
42
- */
43
- closeOnClickOutside = true;
44
- /**
45
- * Whether pressing Escape closes the popover
46
- */
47
- closeOnEscape = true;
48
- /**
49
- * Offset from the trigger element (in pixels)
50
- */
51
- offset = 8;
52
- /**
53
- * Fixed width for the popover (e.g., '300px', '20rem')
54
- */
55
- width;
56
- /**
57
- * Minimum width for the popover (e.g., '200px', '15rem')
58
- */
59
- minWidth = '200px';
60
- /**
61
- * Maximum width for the popover (e.g., '400px', '25rem')
62
- */
63
- maxWidth;
64
- /**
65
- * Emitted when the popover opens
66
- */
67
- lePopoverOpen;
68
- /**
69
- * Emitted when the popover closes
70
- */
71
- lePopoverClose;
72
- isPositioned = false;
73
- triggerEl;
74
- popoverEl;
75
- uniqueId = `le-popover-${Math.random().toString(36).substr(2, 9)}`;
76
- scrollParents = [];
77
- componentDidLoad() {
78
- // Listen for toggle events from the native popover API
79
- this.popoverEl?.addEventListener('toggle', this.handlePopoverToggle);
80
- // Listen for other popovers opening to close this one
81
- document.addEventListener('le-popover-will-open', this.handleOtherPopoverOpen);
82
- }
83
- disconnectedCallback() {
84
- this.popoverEl?.removeEventListener('toggle', this.handlePopoverToggle);
85
- document.removeEventListener('le-popover-will-open', this.handleOtherPopoverOpen);
86
- this.removeScrollListeners();
87
- }
88
- /**
89
- * Find all scrollable parent elements
90
- */
91
- getScrollParents(element) {
92
- const scrollParents = [];
93
- let parent = element.parentElement;
94
- while (parent) {
95
- const style = getComputedStyle(parent);
96
- const overflow = style.overflow + style.overflowY + style.overflowX;
97
- if (/(auto|scroll)/.test(overflow)) {
98
- scrollParents.push(parent);
99
- }
100
- parent = parent.parentElement;
101
- }
102
- // Always include window for page scroll
103
- return scrollParents;
104
- }
105
- /**
106
- * Add scroll listeners to all scrollable parents
107
- */
108
- addScrollListeners() {
109
- if (!this.triggerEl)
110
- return;
111
- this.scrollParents = this.getScrollParents(this.triggerEl);
112
- // Listen to each scroll parent
113
- this.scrollParents.forEach(parent => {
114
- parent.addEventListener('scroll', this.handleScroll, { passive: true });
115
- });
116
- // Also listen to window scroll and resize
117
- window.addEventListener('scroll', this.handleScroll, { passive: true });
118
- window.addEventListener('resize', this.handleScroll, { passive: true });
119
- }
120
- /**
121
- * Remove scroll listeners
122
- */
123
- removeScrollListeners() {
124
- this.scrollParents.forEach(parent => {
125
- parent.removeEventListener('scroll', this.handleScroll);
126
- });
127
- window.removeEventListener('scroll', this.handleScroll);
128
- window.removeEventListener('resize', this.handleScroll);
129
- this.scrollParents = [];
130
- }
131
- handleScroll = () => {
132
- if (this.open) {
133
- this.updatePosition();
134
- }
135
- };
136
- handlePopoverToggle = (event) => {
137
- if (event.newState === 'open') {
138
- this.open = true;
139
- this.addScrollListeners();
140
- this.updatePosition();
141
- this.lePopoverOpen.emit();
142
- }
143
- else {
144
- this.open = false;
145
- this.isPositioned = false;
146
- this.removeScrollListeners();
147
- this.lePopoverClose.emit();
148
- }
149
- };
150
- handleOtherPopoverOpen = (event) => {
151
- const customEvent = event;
152
- if (customEvent.detail?.popover === this.el)
153
- return;
154
- if (this.open) {
155
- this.hide();
156
- }
157
- };
158
- /**
159
- * Opens the popover
160
- */
161
- async show() {
162
- document.dispatchEvent(new CustomEvent('le-popover-will-open', {
163
- detail: { popover: this.el }
164
- }));
165
- this.popoverEl?.showPopover();
166
- }
167
- /**
168
- * Closes the popover
169
- */
170
- async hide() {
171
- this.popoverEl?.hidePopover();
172
- }
173
- /**
174
- * Toggles the popover
175
- */
176
- async toggle() {
177
- if (this.open) {
178
- await this.hide();
179
- }
180
- else {
181
- await this.show();
182
- }
183
- }
184
- handleTriggerClick = (event) => {
185
- event.stopPropagation();
186
- this.toggle();
187
- };
188
- updatePosition() {
189
- if (!this.triggerEl || !this.popoverEl)
190
- return;
191
- const triggerRect = this.triggerEl.getBoundingClientRect();
192
- const popoverRect = this.popoverEl.getBoundingClientRect();
193
- const viewportWidth = window.innerWidth;
194
- const viewportHeight = window.innerHeight;
195
- const viewportPadding = 8;
196
- let position = this.position;
197
- let align = this.align;
198
- // Auto-position logic
199
- const spaceBelow = viewportHeight - triggerRect.bottom - viewportPadding;
200
- const spaceAbove = triggerRect.top - viewportPadding;
201
- const spaceRight = viewportWidth - triggerRect.right - viewportPadding;
202
- const spaceLeft = triggerRect.left - viewportPadding;
203
- if (position === 'auto') {
204
- if (spaceBelow >= popoverRect.height + this.offset) {
205
- position = 'bottom';
206
- }
207
- else if (spaceAbove >= popoverRect.height + this.offset) {
208
- position = 'top';
209
- }
210
- else if (spaceRight >= popoverRect.width + this.offset) {
211
- position = 'right';
212
- }
213
- else if (spaceLeft >= popoverRect.width + this.offset) {
214
- position = 'left';
215
- }
216
- else {
217
- const maxSpace = Math.max(spaceBelow, spaceAbove, spaceRight, spaceLeft);
218
- if (maxSpace === spaceBelow)
219
- position = 'bottom';
220
- else if (maxSpace === spaceAbove)
221
- position = 'top';
222
- else if (maxSpace === spaceRight)
223
- position = 'right';
224
- else
225
- position = 'left';
226
- }
227
- }
228
- // Adjust alignment for horizontal overflow
229
- if (position === 'top' || position === 'bottom') {
230
- if (align === 'start' && triggerRect.left + popoverRect.width > viewportWidth - viewportPadding) {
231
- align = 'end';
232
- }
233
- else if (align === 'end' && triggerRect.right - popoverRect.width < viewportPadding) {
234
- align = 'start';
235
- }
236
- else if (align === 'center') {
237
- const triggerCenter = triggerRect.left + triggerRect.width / 2;
238
- if (triggerCenter - popoverRect.width / 2 < viewportPadding) {
239
- align = 'start';
240
- }
241
- else if (triggerCenter + popoverRect.width / 2 > viewportWidth - viewportPadding) {
242
- align = 'end';
243
- }
244
- }
245
- }
246
- // Calculate position
247
- let top = 0;
248
- let left = 0;
249
- let maxHeight = null;
250
- switch (position) {
251
- case 'top':
252
- top = triggerRect.top - popoverRect.height - this.offset;
253
- if (top < viewportPadding) {
254
- maxHeight = triggerRect.top - this.offset - viewportPadding * 2;
255
- top = viewportPadding;
256
- }
257
- break;
258
- case 'bottom':
259
- top = triggerRect.bottom + this.offset;
260
- if (top + popoverRect.height > viewportHeight - viewportPadding) {
261
- maxHeight = viewportHeight - top - viewportPadding;
262
- }
263
- break;
264
- case 'left':
265
- left = triggerRect.left - popoverRect.width - this.offset;
266
- top = triggerRect.top;
267
- if (left < viewportPadding)
268
- left = viewportPadding;
269
- break;
270
- case 'right':
271
- left = triggerRect.right + this.offset;
272
- top = triggerRect.top;
273
- if (left + popoverRect.width > viewportWidth - viewportPadding) {
274
- left = viewportWidth - popoverRect.width - viewportPadding;
275
- }
276
- break;
277
- }
278
- // Calculate horizontal alignment for top/bottom
279
- if (position === 'top' || position === 'bottom') {
280
- switch (align) {
281
- case 'start':
282
- left = triggerRect.left;
283
- break;
284
- case 'center':
285
- left = triggerRect.left + triggerRect.width / 2 - popoverRect.width / 2;
286
- break;
287
- case 'end':
288
- left = triggerRect.right - popoverRect.width;
289
- break;
290
- }
291
- // Constrain to viewport
292
- if (left < viewportPadding) {
293
- left = viewportPadding;
294
- }
295
- else if (left + popoverRect.width > viewportWidth - viewportPadding) {
296
- left = viewportWidth - popoverRect.width - viewportPadding;
297
- }
298
- }
299
- // Calculate vertical alignment for left/right
300
- if (position === 'left' || position === 'right') {
301
- switch (align) {
302
- case 'start':
303
- top = triggerRect.top;
304
- break;
305
- case 'center':
306
- top = triggerRect.top + triggerRect.height / 2 - popoverRect.height / 2;
307
- break;
308
- case 'end':
309
- top = triggerRect.bottom - popoverRect.height;
310
- break;
311
- }
312
- if (top < viewportPadding)
313
- top = viewportPadding;
314
- if (top + popoverRect.height > viewportHeight - viewportPadding) {
315
- maxHeight = viewportHeight - top - viewportPadding;
316
- }
317
- }
318
- // Apply styles
319
- this.popoverEl.style.top = `${top}px`;
320
- this.popoverEl.style.left = `${left}px`;
321
- if (maxHeight !== null && maxHeight > 100) {
322
- this.popoverEl.style.maxHeight = `${maxHeight}px`;
323
- this.popoverEl.style.overflowY = 'auto';
324
- }
325
- else {
326
- this.popoverEl.style.maxHeight = '';
327
- this.popoverEl.style.overflowY = '';
328
- }
329
- this.isPositioned = true;
330
- }
331
- render() {
332
- const popoverStyles = {
333
- visibility: this.isPositioned ? 'visible' : 'hidden',
334
- };
335
- if (this.width)
336
- popoverStyles.width = this.width;
337
- if (this.minWidth)
338
- popoverStyles.minWidth = this.minWidth;
339
- if (this.maxWidth)
340
- popoverStyles.maxWidth = this.maxWidth;
341
- return [
342
- h("div", { key: '3d2a3b86ddb3be577bd0e976a5a00f25396a97fb', class: "le-popover-trigger", ref: (el) => (this.triggerEl = el), onClick: this.handleTriggerClick }, h("slot", { key: '9db2e9e2b0bdb25c5a2361115d2094292fe692ec', name: "trigger" }, h("button", { key: '88d78b192f72731f00d6131b92b8d6a4b445d7f9', type: "button", class: "le-popover-default-trigger" }, h("span", { key: '0f2913f160cda5dcbeb20c714219d587196e230b' }, "\u2295")))),
343
- h("div", { key: 'b65d2de900ff6e67a62d92d7452db34afde9f257', id: this.uniqueId, class: "le-popover-content", popover: this.closeOnClickOutside ? 'auto' : 'manual', ref: (el) => (this.popoverEl = el), style: popoverStyles }, (this.popoverTitle || this.showClose) && (h("div", { key: '323061fc49c8e0fc9ae541dfc576e551b0a83818', class: "le-popover-header" }, this.popoverTitle && h("span", { key: 'b1d9f4203966ae6a0bb14186824596643954d6f8', class: "le-popover-title" }, this.popoverTitle), this.showClose && (h("button", { key: 'd0d335d8c9897ed9ba7bd0370572a8cafa72b044', type: "button", class: "le-popover-close", onClick: () => this.hide(), "aria-label": "Close" }, "\u00D7")))), h("div", { key: '52d3294394b0e1fd49f8c361414e228feed68ea9', class: "le-popover-body" }, h("slot", { key: '16d8691545f2eaa44f136bfea33a1f1d71d18cd7' })))
344
- ];
345
- }
346
- static get is() { return "le-popover"; }
347
- static get encapsulation() { return "shadow"; }
348
- static get originalStyleUrls() {
349
- return {
350
- "$": ["le-popover.css"]
351
- };
352
- }
353
- static get styleUrls() {
354
- return {
355
- "$": ["le-popover.css"]
356
- };
357
- }
358
- static get properties() {
359
- return {
360
- "mode": {
361
- "type": "string",
362
- "mutable": true,
363
- "complexType": {
364
- "original": "'default' | 'admin'",
365
- "resolved": "\"admin\" | \"default\"",
366
- "references": {}
367
- },
368
- "required": false,
369
- "optional": false,
370
- "docs": {
371
- "tags": [],
372
- "text": "Mode of the popover should be 'default' for internal use"
373
- },
374
- "getter": false,
375
- "setter": false,
376
- "reflect": true,
377
- "attribute": "mode"
378
- },
379
- "open": {
380
- "type": "boolean",
381
- "mutable": true,
382
- "complexType": {
383
- "original": "boolean",
384
- "resolved": "boolean",
385
- "references": {}
386
- },
387
- "required": false,
388
- "optional": false,
389
- "docs": {
390
- "tags": [],
391
- "text": "Whether the popover is currently open"
392
- },
393
- "getter": false,
394
- "setter": false,
395
- "reflect": true,
396
- "attribute": "open",
397
- "defaultValue": "false"
398
- },
399
- "position": {
400
- "type": "string",
401
- "mutable": false,
402
- "complexType": {
403
- "original": "'top' | 'bottom' | 'left' | 'right' | 'auto'",
404
- "resolved": "\"auto\" | \"bottom\" | \"left\" | \"right\" | \"top\"",
405
- "references": {}
406
- },
407
- "required": false,
408
- "optional": false,
409
- "docs": {
410
- "tags": [],
411
- "text": "Position of the popover relative to its trigger"
412
- },
413
- "getter": false,
414
- "setter": false,
415
- "reflect": false,
416
- "attribute": "position",
417
- "defaultValue": "'bottom'"
418
- },
419
- "align": {
420
- "type": "string",
421
- "mutable": false,
422
- "complexType": {
423
- "original": "'start' | 'center' | 'end'",
424
- "resolved": "\"center\" | \"end\" | \"start\"",
425
- "references": {}
426
- },
427
- "required": false,
428
- "optional": false,
429
- "docs": {
430
- "tags": [],
431
- "text": "Alignment of the popover"
432
- },
433
- "getter": false,
434
- "setter": false,
435
- "reflect": false,
436
- "attribute": "align",
437
- "defaultValue": "'start'"
438
- },
439
- "popoverTitle": {
440
- "type": "string",
441
- "mutable": false,
442
- "complexType": {
443
- "original": "string",
444
- "resolved": "string",
445
- "references": {}
446
- },
447
- "required": false,
448
- "optional": true,
449
- "docs": {
450
- "tags": [],
451
- "text": "Optional title for the popover header"
452
- },
453
- "getter": false,
454
- "setter": false,
455
- "reflect": false,
456
- "attribute": "popover-title"
457
- },
458
- "showClose": {
459
- "type": "boolean",
460
- "mutable": false,
461
- "complexType": {
462
- "original": "boolean",
463
- "resolved": "boolean",
464
- "references": {}
465
- },
466
- "required": false,
467
- "optional": false,
468
- "docs": {
469
- "tags": [],
470
- "text": "Whether to show a close button in the header"
471
- },
472
- "getter": false,
473
- "setter": false,
474
- "reflect": false,
475
- "attribute": "show-close",
476
- "defaultValue": "true"
477
- },
478
- "closeOnClickOutside": {
479
- "type": "boolean",
480
- "mutable": false,
481
- "complexType": {
482
- "original": "boolean",
483
- "resolved": "boolean",
484
- "references": {}
485
- },
486
- "required": false,
487
- "optional": false,
488
- "docs": {
489
- "tags": [],
490
- "text": "Whether clicking outside closes the popover"
491
- },
492
- "getter": false,
493
- "setter": false,
494
- "reflect": false,
495
- "attribute": "close-on-click-outside",
496
- "defaultValue": "true"
497
- },
498
- "closeOnEscape": {
499
- "type": "boolean",
500
- "mutable": false,
501
- "complexType": {
502
- "original": "boolean",
503
- "resolved": "boolean",
504
- "references": {}
505
- },
506
- "required": false,
507
- "optional": false,
508
- "docs": {
509
- "tags": [],
510
- "text": "Whether pressing Escape closes the popover"
511
- },
512
- "getter": false,
513
- "setter": false,
514
- "reflect": false,
515
- "attribute": "close-on-escape",
516
- "defaultValue": "true"
517
- },
518
- "offset": {
519
- "type": "number",
520
- "mutable": false,
521
- "complexType": {
522
- "original": "number",
523
- "resolved": "number",
524
- "references": {}
525
- },
526
- "required": false,
527
- "optional": false,
528
- "docs": {
529
- "tags": [],
530
- "text": "Offset from the trigger element (in pixels)"
531
- },
532
- "getter": false,
533
- "setter": false,
534
- "reflect": false,
535
- "attribute": "offset",
536
- "defaultValue": "8"
537
- },
538
- "width": {
539
- "type": "string",
540
- "mutable": false,
541
- "complexType": {
542
- "original": "string",
543
- "resolved": "string",
544
- "references": {}
545
- },
546
- "required": false,
547
- "optional": true,
548
- "docs": {
549
- "tags": [],
550
- "text": "Fixed width for the popover (e.g., '300px', '20rem')"
551
- },
552
- "getter": false,
553
- "setter": false,
554
- "reflect": false,
555
- "attribute": "width"
556
- },
557
- "minWidth": {
558
- "type": "string",
559
- "mutable": false,
560
- "complexType": {
561
- "original": "string",
562
- "resolved": "string",
563
- "references": {}
564
- },
565
- "required": false,
566
- "optional": true,
567
- "docs": {
568
- "tags": [],
569
- "text": "Minimum width for the popover (e.g., '200px', '15rem')"
570
- },
571
- "getter": false,
572
- "setter": false,
573
- "reflect": false,
574
- "attribute": "min-width",
575
- "defaultValue": "'200px'"
576
- },
577
- "maxWidth": {
578
- "type": "string",
579
- "mutable": false,
580
- "complexType": {
581
- "original": "string",
582
- "resolved": "string",
583
- "references": {}
584
- },
585
- "required": false,
586
- "optional": true,
587
- "docs": {
588
- "tags": [],
589
- "text": "Maximum width for the popover (e.g., '400px', '25rem')"
590
- },
591
- "getter": false,
592
- "setter": false,
593
- "reflect": false,
594
- "attribute": "max-width"
595
- }
596
- };
597
- }
598
- static get states() {
599
- return {
600
- "isPositioned": {}
601
- };
602
- }
603
- static get events() {
604
- return [{
605
- "method": "lePopoverOpen",
606
- "name": "lePopoverOpen",
607
- "bubbles": true,
608
- "cancelable": true,
609
- "composed": true,
610
- "docs": {
611
- "tags": [],
612
- "text": "Emitted when the popover opens"
613
- },
614
- "complexType": {
615
- "original": "void",
616
- "resolved": "void",
617
- "references": {}
618
- }
619
- }, {
620
- "method": "lePopoverClose",
621
- "name": "lePopoverClose",
622
- "bubbles": true,
623
- "cancelable": true,
624
- "composed": true,
625
- "docs": {
626
- "tags": [],
627
- "text": "Emitted when the popover closes"
628
- },
629
- "complexType": {
630
- "original": "void",
631
- "resolved": "void",
632
- "references": {}
633
- }
634
- }];
635
- }
636
- static get methods() {
637
- return {
638
- "show": {
639
- "complexType": {
640
- "signature": "() => Promise<void>",
641
- "parameters": [],
642
- "references": {
643
- "Promise": {
644
- "location": "global",
645
- "id": "global::Promise"
646
- }
647
- },
648
- "return": "Promise<void>"
649
- },
650
- "docs": {
651
- "text": "Opens the popover",
652
- "tags": []
653
- }
654
- },
655
- "hide": {
656
- "complexType": {
657
- "signature": "() => Promise<void>",
658
- "parameters": [],
659
- "references": {
660
- "Promise": {
661
- "location": "global",
662
- "id": "global::Promise"
663
- }
664
- },
665
- "return": "Promise<void>"
666
- },
667
- "docs": {
668
- "text": "Closes the popover",
669
- "tags": []
670
- }
671
- },
672
- "toggle": {
673
- "complexType": {
674
- "signature": "() => Promise<void>",
675
- "parameters": [],
676
- "references": {
677
- "Promise": {
678
- "location": "global",
679
- "id": "global::Promise"
680
- }
681
- },
682
- "return": "Promise<void>"
683
- },
684
- "docs": {
685
- "text": "Toggles the popover",
686
- "tags": []
687
- }
688
- }
689
- };
690
- }
691
- static get elementRef() { return "el"; }
692
- }
693
- //# sourceMappingURL=le-popover.js.map