jebamo 0.0.2 → 0.0.3

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 (145) hide show
  1. package/package.json +2 -2
  2. package/dist/components/index.d.ts +0 -33
  3. package/dist/components/index.js +0 -3
  4. package/dist/components/index.js.map +0 -1
  5. package/dist/components/je-alert.d.ts +0 -11
  6. package/dist/components/je-alert.js +0 -146
  7. package/dist/components/je-alert.js.map +0 -1
  8. package/dist/components/je-branch.d.ts +0 -11
  9. package/dist/components/je-branch.js +0 -37
  10. package/dist/components/je-branch.js.map +0 -1
  11. package/dist/components/je-button.d.ts +0 -11
  12. package/dist/components/je-button.js +0 -8
  13. package/dist/components/je-button.js.map +0 -1
  14. package/dist/components/je-card.d.ts +0 -11
  15. package/dist/components/je-card.js +0 -8
  16. package/dist/components/je-card.js.map +0 -1
  17. package/dist/components/je-checkbox-group.d.ts +0 -11
  18. package/dist/components/je-checkbox-group.js +0 -90
  19. package/dist/components/je-checkbox-group.js.map +0 -1
  20. package/dist/components/je-checkbox-option.d.ts +0 -11
  21. package/dist/components/je-checkbox-option.js +0 -65
  22. package/dist/components/je-checkbox-option.js.map +0 -1
  23. package/dist/components/je-checkbox.d.ts +0 -11
  24. package/dist/components/je-checkbox.js +0 -83
  25. package/dist/components/je-checkbox.js.map +0 -1
  26. package/dist/components/je-color.d.ts +0 -11
  27. package/dist/components/je-color.js +0 -8
  28. package/dist/components/je-color.js.map +0 -1
  29. package/dist/components/je-column-group.d.ts +0 -11
  30. package/dist/components/je-column-group.js +0 -46
  31. package/dist/components/je-column-group.js.map +0 -1
  32. package/dist/components/je-column.d.ts +0 -11
  33. package/dist/components/je-column.js +0 -95
  34. package/dist/components/je-column.js.map +0 -1
  35. package/dist/components/je-datepicker.d.ts +0 -11
  36. package/dist/components/je-datepicker.js +0 -3249
  37. package/dist/components/je-datepicker.js.map +0 -1
  38. package/dist/components/je-details.d.ts +0 -11
  39. package/dist/components/je-details.js +0 -49
  40. package/dist/components/je-details.js.map +0 -1
  41. package/dist/components/je-divider.d.ts +0 -11
  42. package/dist/components/je-divider.js +0 -42
  43. package/dist/components/je-divider.js.map +0 -1
  44. package/dist/components/je-drawer.d.ts +0 -11
  45. package/dist/components/je-drawer.js +0 -60
  46. package/dist/components/je-drawer.js.map +0 -1
  47. package/dist/components/je-dropzone.d.ts +0 -11
  48. package/dist/components/je-dropzone.js +0 -55
  49. package/dist/components/je-dropzone.js.map +0 -1
  50. package/dist/components/je-form.d.ts +0 -11
  51. package/dist/components/je-form.js +0 -8
  52. package/dist/components/je-form.js.map +0 -1
  53. package/dist/components/je-icon.d.ts +0 -11
  54. package/dist/components/je-icon.js +0 -8
  55. package/dist/components/je-icon.js.map +0 -1
  56. package/dist/components/je-infinite.d.ts +0 -11
  57. package/dist/components/je-infinite.js +0 -64
  58. package/dist/components/je-infinite.js.map +0 -1
  59. package/dist/components/je-input.d.ts +0 -11
  60. package/dist/components/je-input.js +0 -8
  61. package/dist/components/je-input.js.map +0 -1
  62. package/dist/components/je-link.d.ts +0 -11
  63. package/dist/components/je-link.js +0 -62
  64. package/dist/components/je-link.js.map +0 -1
  65. package/dist/components/je-loading.d.ts +0 -11
  66. package/dist/components/je-loading.js +0 -66
  67. package/dist/components/je-loading.js.map +0 -1
  68. package/dist/components/je-menu-option.d.ts +0 -11
  69. package/dist/components/je-menu-option.js +0 -37
  70. package/dist/components/je-menu-option.js.map +0 -1
  71. package/dist/components/je-menu.d.ts +0 -11
  72. package/dist/components/je-menu.js +0 -37
  73. package/dist/components/je-menu.js.map +0 -1
  74. package/dist/components/je-modal.d.ts +0 -11
  75. package/dist/components/je-modal.js +0 -104
  76. package/dist/components/je-modal.js.map +0 -1
  77. package/dist/components/je-multiselect-option.d.ts +0 -11
  78. package/dist/components/je-multiselect-option.js +0 -62
  79. package/dist/components/je-multiselect-option.js.map +0 -1
  80. package/dist/components/je-multiselect.d.ts +0 -11
  81. package/dist/components/je-multiselect.js +0 -146
  82. package/dist/components/je-multiselect.js.map +0 -1
  83. package/dist/components/je-page.d.ts +0 -11
  84. package/dist/components/je-page.js +0 -61
  85. package/dist/components/je-page.js.map +0 -1
  86. package/dist/components/je-pill.d.ts +0 -11
  87. package/dist/components/je-pill.js +0 -8
  88. package/dist/components/je-pill.js.map +0 -1
  89. package/dist/components/je-placeholder.d.ts +0 -11
  90. package/dist/components/je-placeholder.js +0 -40
  91. package/dist/components/je-placeholder.js.map +0 -1
  92. package/dist/components/je-popover.d.ts +0 -11
  93. package/dist/components/je-popover.js +0 -8
  94. package/dist/components/je-popover.js.map +0 -1
  95. package/dist/components/je-radio-group.d.ts +0 -11
  96. package/dist/components/je-radio-group.js +0 -92
  97. package/dist/components/je-radio-group.js.map +0 -1
  98. package/dist/components/je-radio.d.ts +0 -11
  99. package/dist/components/je-radio.js +0 -68
  100. package/dist/components/je-radio.js.map +0 -1
  101. package/dist/components/je-select-option.d.ts +0 -11
  102. package/dist/components/je-select-option.js +0 -56
  103. package/dist/components/je-select-option.js.map +0 -1
  104. package/dist/components/je-select.d.ts +0 -11
  105. package/dist/components/je-select.js +0 -208
  106. package/dist/components/je-select.js.map +0 -1
  107. package/dist/components/je-tab.d.ts +0 -11
  108. package/dist/components/je-tab.js +0 -37
  109. package/dist/components/je-tab.js.map +0 -1
  110. package/dist/components/je-tabs.d.ts +0 -11
  111. package/dist/components/je-tabs.js +0 -37
  112. package/dist/components/je-tabs.js.map +0 -1
  113. package/dist/components/je-textarea.d.ts +0 -11
  114. package/dist/components/je-textarea.js +0 -55
  115. package/dist/components/je-textarea.js.map +0 -1
  116. package/dist/components/je-toast.d.ts +0 -11
  117. package/dist/components/je-toast.js +0 -37
  118. package/dist/components/je-toast.js.map +0 -1
  119. package/dist/components/je-toggle.d.ts +0 -11
  120. package/dist/components/je-toggle.js +0 -57
  121. package/dist/components/je-toggle.js.map +0 -1
  122. package/dist/components/je-toolbar.d.ts +0 -11
  123. package/dist/components/je-toolbar.js +0 -37
  124. package/dist/components/je-toolbar.js.map +0 -1
  125. package/dist/components/je-tree.d.ts +0 -11
  126. package/dist/components/je-tree.js +0 -37
  127. package/dist/components/je-tree.js.map +0 -1
  128. package/dist/components/p-1f3759e7.js +0 -41
  129. package/dist/components/p-1f3759e7.js.map +0 -1
  130. package/dist/components/p-243cc91b.js +0 -50
  131. package/dist/components/p-243cc91b.js.map +0 -1
  132. package/dist/components/p-2df369c4.js +0 -265
  133. package/dist/components/p-2df369c4.js.map +0 -1
  134. package/dist/components/p-41492a72.js +0 -1514
  135. package/dist/components/p-41492a72.js.map +0 -1
  136. package/dist/components/p-4b8ae8ef.js +0 -51
  137. package/dist/components/p-4b8ae8ef.js.map +0 -1
  138. package/dist/components/p-5dee004d.js +0 -246
  139. package/dist/components/p-5dee004d.js.map +0 -1
  140. package/dist/components/p-8401b4e4.js +0 -48
  141. package/dist/components/p-8401b4e4.js.map +0 -1
  142. package/dist/components/p-94327b0d.js +0 -39
  143. package/dist/components/p-94327b0d.js.map +0 -1
  144. package/dist/components/p-aa4caa39.js +0 -76
  145. package/dist/components/p-aa4caa39.js.map +0 -1
@@ -1,246 +0,0 @@
1
- import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-41492a72.js';
2
-
3
- const animationUpdate = () => {
4
- return new Promise(resolve => requestAnimationFrame(() => resolve()));
5
- };
6
- const debounce = (func, wait = 0) => {
7
- let timer;
8
- return (...args) => {
9
- clearTimeout(timer);
10
- timer = setTimeout(func, wait, ...args);
11
- };
12
- };
13
- const debounceEvent = (event, wait) => {
14
- const original = event._original || event;
15
- return {
16
- _original: event,
17
- emit: debounce(original.emit.bind(original), wait),
18
- };
19
- };
20
-
21
- const jePopoverCss = ":host{display:block;--je-popover-background-color:rgb(233, 236, 236);--je-popover-color:var(--je-medium-900);--je-popover-box-shadow:0px 4px 16px 0px rgba(0, 0, 0, 0.12);--je-popover-border:solid 1px rgb(197, 200, 204)}:host([darkmode]){--je-popover-background-color:rgb(41, 45, 46);--je-popover-color:var(--je-medium-50);--je-popover-box-shadow:0px 4px 16px 0px rgba(68, 68, 68, 0.12);--je-popover-border:solid 1px rgb(86, 87, 90)}.content{font-family:var(--je-font-family);position:absolute;background-color:var(--je-popover-background-color, canvas);color:var(--je-popover-color, canvastext);padding-inline:var(--je-spacing-xs, 10px);box-shadow:var(--je-popover-box-shadow);border:var(--je-popover-border);z-index:1000;border-radius:var(--je-border-radius, 2px);overflow:hidden}.content-transition{opacity:0;transition:opacity 250ms ease-in-out}.content.open{opacity:1}.backdrop{display:block;position:fixed;top:0;left:0;width:100%;height:100%;background:var(--je-backdrop-color, rgba(0, 0, 0, 0.5));z-index:999}.backdrop-transition{opacity:0;transition:opacity 250ms ease-in-out}.backdrop.fade{opacity:1}.clear{background:rgba(0, 0, 0, 0)}";
22
- const JePopoverStyle0 = jePopoverCss;
23
-
24
- const JePopover = /*@__PURE__*/ proxyCustomElement(class JePopover extends H {
25
- constructor() {
26
- super();
27
- this.__registerHost();
28
- this.__attachShadow();
29
- this.didPresent = createEvent(this, "didPresent", 7);
30
- this.didDismiss = createEvent(this, "didDismiss", 7);
31
- this.handleContentClick = () => {
32
- if (this.isOpen && this.dismissOnClick) {
33
- this.dismiss('contentClickDismiss');
34
- }
35
- };
36
- this.handleBackdropClick = () => {
37
- if (this.isOpen && this.backdropDismiss) {
38
- this.dismiss('backdropDismiss');
39
- }
40
- };
41
- this.isOpen = false;
42
- this.trigger = undefined;
43
- this.showBackdrop = false;
44
- this.backdropDismiss = true;
45
- this.dismissOnClick = false;
46
- this.position = 'element';
47
- this.offsetX = 10;
48
- this.offsetY = 10;
49
- this.triggerAction = 'click';
50
- }
51
- componentDidLoad() {
52
- this.pagEl = this.el.closest('je-page');
53
- this.parentEl = this.el.parentElement;
54
- if (this.trigger) {
55
- this.triggerElement = document.getElementById(this.trigger);
56
- if (this.triggerElement && this.triggerAction == 'click') {
57
- this.triggerElement.addEventListener("click", () => this.present(this.position));
58
- }
59
- else if (this.triggerElement && this.triggerAction == 'hover') {
60
- this.triggerElement.addEventListener("mouseover", async (ev) => {
61
- await this.present(this.position, ev);
62
- this.triggerElement.addEventListener("mouseleave", () => this.dismiss('hoverDismiss'), { once: true });
63
- });
64
- }
65
- else if (this.triggerElement && this.triggerAction == 'context-menu') {
66
- this.triggerElement.addEventListener("contextmenu", ev => {
67
- ev.preventDefault();
68
- this.present(this.position, ev);
69
- });
70
- }
71
- else {
72
- console.error('Failed to find popover trigger element:', this.trigger);
73
- }
74
- }
75
- }
76
- handleThemeChange(e) {
77
- this.el.toggleAttribute('darkmode', e.detail == 'dark');
78
- }
79
- handleWindowClick(ev) {
80
- this.mouseEvent = ev;
81
- }
82
- /**
83
- * Used internally to present the popover. Can also be used to manually
84
- * present it if needed. Will auto position itself using the specified
85
- * position strategy. If no target is provided, it will use the last mouse
86
- * event on the window or the trigger element.
87
- * @param positionStrategy The strategy to use when positioning the popover
88
- * @param target Can optionally override the target the popover bases it's position off of
89
- */
90
- async present(positionStrategy, target) {
91
- var _a;
92
- if (!this.isOpen) {
93
- if (this.parentEl) {
94
- if (this.pagEl) {
95
- this.pagEl.append(this.el);
96
- }
97
- else {
98
- document.body.append(this.el);
99
- }
100
- }
101
- this.isOpen = true;
102
- if (positionStrategy !== 'none') {
103
- this.contentEl.removeAttribute('style');
104
- await animationUpdate();
105
- const { offsetX, offsetY } = this;
106
- const contentHeight = this.contentEl.clientHeight;
107
- const rightThreshold = window.innerWidth / 2;
108
- const bottomThreshold = window.innerHeight - 20 - contentHeight;
109
- if (positionStrategy == 'click') {
110
- target !== null && target !== void 0 ? target : (target = this.mouseEvent);
111
- const { pageX, pageY } = target;
112
- const isNearRight = pageX > rightThreshold;
113
- const isNearBottom = pageY > bottomThreshold;
114
- const isNearTop = pageY - offsetY - contentHeight < 0;
115
- if (isNearRight) {
116
- this.contentEl.style.left = `${pageX - offsetX - this.contentEl.clientWidth}px`;
117
- }
118
- else {
119
- this.contentEl.style.left = `${pageX + offsetX}px`;
120
- }
121
- if (isNearBottom && !isNearTop) {
122
- this.contentEl.style.top = `${pageY - offsetY - contentHeight}px`;
123
- }
124
- else if (isNearBottom && isNearTop) {
125
- this.contentEl.style.overflowY = 'auto';
126
- if (pageY > window.innerHeight - pageY) {
127
- this.contentEl.style.top = `${offsetY}px`;
128
- this.contentEl.style.maxHeight = `${pageY}px`;
129
- }
130
- else {
131
- this.contentEl.style.top = `${pageY + offsetY}px`;
132
- this.contentEl.style.maxHeight = `${window.innerHeight - 20 - pageY}px`;
133
- }
134
- }
135
- else {
136
- this.contentEl.style.top = `${pageY + offsetY}px`;
137
- }
138
- }
139
- else {
140
- target !== null && target !== void 0 ? target : (target = ((_a = this.triggerElement) !== null && _a !== void 0 ? _a : this.mouseEvent.target));
141
- const boundingRect = target.getBoundingClientRect();
142
- const { x: pageX, y: pageY } = boundingRect;
143
- const isNearRight = pageX > rightThreshold;
144
- const isNearBottom = pageY > bottomThreshold;
145
- const isNearTop = pageY - offsetY - contentHeight < 0;
146
- const triggerElement = target;
147
- const { left, bottom, top, right } = triggerElement.getBoundingClientRect();
148
- this.contentEl.style.boxSizing = 'border-box';
149
- if (isNearRight) {
150
- this.contentEl.style.left = `${right - this.contentEl.clientWidth}px`;
151
- }
152
- else {
153
- this.contentEl.style.left = `${left}px`;
154
- }
155
- if (isNearBottom && !isNearTop) {
156
- this.contentEl.style.top = `${top - offsetY - contentHeight}px`;
157
- }
158
- else if (isNearBottom && isNearTop) {
159
- this.contentEl.style.overflowY = 'auto';
160
- if (pageY > window.innerHeight - pageY) {
161
- this.contentEl.style.top = `${offsetY}px`;
162
- this.contentEl.style.maxHeight = `${top}px`;
163
- }
164
- else {
165
- this.contentEl.style.top = `${bottom + offsetY}px`;
166
- this.contentEl.style.maxHeight = `${window.innerHeight - 20 - bottom}px`;
167
- }
168
- }
169
- else {
170
- this.contentEl.style.top = `${bottom + offsetY}px`;
171
- }
172
- }
173
- }
174
- return new Promise(resolve => {
175
- this.contentEl.addEventListener('transitionend', () => {
176
- this.didPresent.emit();
177
- resolve();
178
- }, { once: true });
179
- if (this.triggerAction !== 'hover') {
180
- this.backdropEl.classList.add('fade');
181
- }
182
- this.contentEl.classList.add('open');
183
- });
184
- }
185
- }
186
- /** Manually dismisses the popover. Role and data get passed to the didDismiss event. */
187
- async dismiss(role = 'manualDismiss', data) {
188
- if (this.isOpen) {
189
- return new Promise(resolve => {
190
- this.contentEl.addEventListener('transitionend', () => {
191
- if (this.parentEl) {
192
- this.el.remove();
193
- this.parentEl.append(this.el);
194
- }
195
- this.isOpen = false;
196
- this.didDismiss.emit({ role: role, data: data });
197
- resolve();
198
- }, { once: true });
199
- if (this.triggerAction !== 'hover') {
200
- this.backdropEl.classList.remove('fade');
201
- }
202
- this.contentEl.classList.remove('open');
203
- });
204
- }
205
- }
206
- render() {
207
- return (h(Host, { key: '1de5a4aef076c6296b9c64b96028cc6f4998a40a', slot: "overlay" }, h("div", { key: '845a3c97b059371422707c785707aa499146f2dd', part: "content", ref: el => this.contentEl = el, onClick: this.handleContentClick, class: { 'content-transition': true, content: this.isOpen } }, this.isOpen && h("slot", { key: '436d0ed78d49a6471760da0057fcc75cfbd0dd44' })), this.triggerAction !== 'hover' &&
208
- h("div", { key: '1ec70ebb3246b78533e7250eda5d200212b795ad', ref: el => this.backdropEl = el, onClick: this.handleBackdropClick, class: {
209
- 'backdrop-transition': true,
210
- backdrop: this.isOpen,
211
- clear: !this.showBackdrop && this.isOpen
212
- } })));
213
- }
214
- get el() { return this; }
215
- static get style() { return JePopoverStyle0; }
216
- }, [1, "je-popover", {
217
- "trigger": [1],
218
- "showBackdrop": [4, "show-backdrop"],
219
- "backdropDismiss": [4, "backdrop-dismiss"],
220
- "dismissOnClick": [4, "dismiss-on-click"],
221
- "position": [1],
222
- "offsetX": [2, "offset-x"],
223
- "offsetY": [2, "offset-y"],
224
- "triggerAction": [1, "trigger-action"],
225
- "isOpen": [32],
226
- "present": [64],
227
- "dismiss": [64]
228
- }, [[16, "themeChange", "handleThemeChange"], [10, "click", "handleWindowClick"]]]);
229
- function defineCustomElement() {
230
- if (typeof customElements === "undefined") {
231
- return;
232
- }
233
- const components = ["je-popover"];
234
- components.forEach(tagName => { switch (tagName) {
235
- case "je-popover":
236
- if (!customElements.get(tagName)) {
237
- customElements.define(tagName, JePopover);
238
- }
239
- break;
240
- } });
241
- }
242
- defineCustomElement();
243
-
244
- export { JePopover as J, debounceEvent as a, defineCustomElement as d };
245
-
246
- //# sourceMappingURL=p-5dee004d.js.map
@@ -1 +0,0 @@
1
- {"file":"p-5dee004d.js","mappings":"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","names":[],"sources":["src/utils/utils.ts","src/components/je-popover/je-popover.scss?tag=je-popover&encapsulation=shadow","src/components/je-popover/je-popover.tsx"],"sourcesContent":["import { EventEmitter } from \"@stencil/core\";\n\nexport type Color = 'primary' | 'secondary' | 'tertiary' | 'success' | 'error' | 'warning' | 'medium' | 'light' | 'dark';\n\nexport const animationUpdate = () => {\n return new Promise<void>(resolve => requestAnimationFrame(() => resolve()));\n}\n\nconst debounce = (func: (...args: any[]) => void, wait = 0) => {\n let timer: any;\n return (...args: any[]): any => {\n clearTimeout(timer);\n timer = setTimeout(func, wait, ...args);\n };\n};\n\nexport const debounceEvent = (event: EventEmitter, wait: number): EventEmitter => {\n const original = (event as any)._original || event;\n return {\n _original: event,\n emit: debounce(original.emit.bind(original), wait),\n } as EventEmitter;\n};\n",":host {\n display: block;\n\n --je-popover-background-color: rgb(233, 236, 236);\n --je-popover-color: var(--je-medium-900);\n --je-popover-box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.12);\n --je-popover-border: solid 1px rgb(197, 200, 204);\n}\n\n:host([darkmode]) {\n --je-popover-background-color: rgb(41, 45, 46);\n --je-popover-color: var(--je-medium-50);\n --je-popover-box-shadow: 0px 4px 16px 0px rgba(68, 68, 68, 0.12);\n --je-popover-border: solid 1px rgb(86, 87, 90);\n}\n\n.content {\n font-family: var(--je-font-family);\n position: absolute;\n background-color: var(--je-popover-background-color, canvas);\n color: var(--je-popover-color, canvastext);\n padding-inline: var(--je-spacing-xs, 10px);\n box-shadow: var(--je-popover-box-shadow);\n border: var(--je-popover-border);\n z-index: 1000;\n border-radius: var(--je-border-radius, 2px);\n overflow: hidden;\n}\n\n.content-transition {\n opacity: 0;\n transition: opacity 250ms ease-in-out;\n}\n\n.content.open {\n opacity: 1;\n}\n\n.backdrop {\n display: block;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: var(--je-backdrop-color, rgba(0, 0, 0, 0.5));\n z-index: 999;\n}\n\n.backdrop-transition {\n opacity: 0;\n transition: opacity 250ms ease-in-out;\n}\n\n.backdrop.fade {\n opacity: 1;\n}\n\n.clear {\n background: rgba(0, 0, 0, 0);\n}\n","import { Component, Host, h, Element, EventEmitter, Listen, Method, Prop, State, Event } from '@stencil/core';\nimport { animationUpdate } from '../../utils/utils';\n\nexport type PositionStrategy = 'none' | 'click' | 'element';\nexport type Target<T extends PositionStrategy> = T extends 'click' ? MouseEvent | undefined : T extends 'element' ? HTMLElement | undefined : never;\n\n@Component({\n tag: 'je-popover',\n styleUrl: 'je-popover.scss',\n shadow: true,\n})\nexport class JePopover {\n @Element() el!: HTMLJePopoverElement;\n\n protected parentEl!: HTMLElement;\n\n protected triggerElement!: HTMLElement;\n\n protected contentEl!: HTMLElement;\n\n protected backdropEl!: HTMLElement;\n\n protected pagEl!: HTMLElement;\n\n private mouseEvent?: MouseEvent;\n\n @State() isOpen = false;\n\n /**\n * The id of the element that will present the menu on click.\n * If not provided, you will have to manually present the popover\n * using present().\n */\n @Prop() trigger?: string;\n\n /** Whether or not the backdrop will be visible to the user */\n @Prop() showBackdrop = false;\n\n /** Backdrop will dismiss the popover on click when enabled */\n @Prop() backdropDismiss = true;\n\n /**\n * Popover will automatically dismiss itself when something is\n * clicked in the popover when enabled\n */\n @Prop() dismissOnClick = false;\n\n /**\n * If the popover should auto position itself using the mouse event or\n * the triggerElement.\n */\n @Prop() position: PositionStrategy = 'element';\n\n /** Horizontal offset used when auto positioning the popover content */\n @Prop() offsetX = 10;\n\n /** Vertical offset used when auto positioning the popover content */\n @Prop() offsetY = 10;\n\n /**\n * @click Popover will show on left click or tap on mobile.\n * @context-menu Popover will show on right click or press on mobile.\n * @hover Popover will show on hover or tap on mobile. No backdrop will be rendered.\n */\n @Prop() triggerAction: 'click' | 'hover' | 'context-menu' = 'click';\n\n /** Emits whenever the popover has presented. Does not emit any data */\n @Event() didPresent: EventEmitter;\n\n /**\n * Emits whenever the popover has finished dismissing. Emits the role\n * and optional data object passed to the dismiss() method.\n */\n @Event() didDismiss: EventEmitter<{ role?: string, data?: any }>;\n\n componentDidLoad() {\n this.pagEl = this.el.closest('je-page') as HTMLElement;\n this.parentEl = this.el.parentElement;\n if (this.trigger) {\n this.triggerElement = document.getElementById(this.trigger);\n if (this.triggerElement && this.triggerAction == 'click') {\n this.triggerElement.addEventListener(\"click\", () => this.present(this.position));\n } else if (this.triggerElement && this.triggerAction == 'hover') {\n this.triggerElement.addEventListener(\"mouseover\", async ev => {\n await this.present(this.position, ev);\n this.triggerElement.addEventListener(\n \"mouseleave\",\n () => this.dismiss('hoverDismiss'),\n { once: true });\n });\n } else if (this.triggerElement && this.triggerAction == 'context-menu') {\n this.triggerElement.addEventListener(\"contextmenu\", ev => {\n ev.preventDefault();\n this.present(this.position, ev);\n });\n } else {\n console.error('Failed to find popover trigger element:', this.trigger);\n }\n }\n }\n\n private handleContentClick = () => {\n if (this.isOpen && this.dismissOnClick) {\n this.dismiss('contentClickDismiss');\n }\n }\n\n @Listen('themeChange', { target: 'body' })\n handleThemeChange(e: CustomEvent<'light' | 'dark'>) {\n this.el.toggleAttribute('darkmode', e.detail == 'dark')\n }\n\n @Listen('click', { capture: true, target: 'window' })\n protected handleWindowClick(ev: MouseEvent) {\n this.mouseEvent = ev;\n }\n\n /**\n * Used internally to present the popover. Can also be used to manually\n * present it if needed. Will auto position itself using the specified\n * position strategy. If no target is provided, it will use the last mouse\n * event on the window or the trigger element.\n * @param positionStrategy The strategy to use when positioning the popover\n * @param target Can optionally override the target the popover bases it's position off of\n */\n @Method()\n async present<T extends PositionStrategy>(positionStrategy: T, target?: Target<T>) {\n if (!this.isOpen) {\n if (this.parentEl) {\n if (this.pagEl) {\n this.pagEl.append(this.el)\n } else {\n document.body.append(this.el);\n }\n }\n this.isOpen = true;\n\n if (positionStrategy !== 'none') {\n this.contentEl.removeAttribute('style');\n await animationUpdate();\n const { offsetX, offsetY } = this;\n const contentHeight = this.contentEl.clientHeight;\n const rightThreshold = window.innerWidth / 2;\n const bottomThreshold = window.innerHeight - 20 - contentHeight;\n\n if (positionStrategy == 'click') {\n target ??= this.mouseEvent as Target<T>;\n const { pageX, pageY } = target as MouseEvent;\n const isNearRight = pageX > rightThreshold;\n const isNearBottom = pageY > bottomThreshold;\n const isNearTop = pageY - offsetY - contentHeight < 0;\n if (isNearRight) {\n this.contentEl.style.left = `${pageX - offsetX - this.contentEl.clientWidth}px`;\n } else {\n this.contentEl.style.left = `${pageX + offsetX}px`;\n }\n\n if (isNearBottom && !isNearTop) {\n this.contentEl.style.top = `${pageY - offsetY - contentHeight}px`;\n } else if (isNearBottom && isNearTop) {\n this.contentEl.style.overflowY = 'auto';\n if (pageY > window.innerHeight - pageY) {\n this.contentEl.style.top = `${offsetY}px`;\n this.contentEl.style.maxHeight = `${pageY}px`;\n } else {\n this.contentEl.style.top = `${pageY + offsetY}px`;\n this.contentEl.style.maxHeight = `${window.innerHeight - 20 - pageY}px`;\n }\n } else {\n this.contentEl.style.top = `${pageY + offsetY}px`;\n }\n } else {\n target ??= (this.triggerElement ?? this.mouseEvent.target) as Target<T>;\n const boundingRect = (target as HTMLElement).getBoundingClientRect();\n const { x: pageX, y: pageY } = boundingRect;\n const isNearRight = pageX > rightThreshold;\n const isNearBottom = pageY > bottomThreshold;\n const isNearTop = pageY - offsetY - contentHeight < 0;\n const triggerElement = target as HTMLElement;\n const { left, bottom, top, right } = triggerElement.getBoundingClientRect();\n this.contentEl.style.boxSizing = 'border-box';\n if (isNearRight) {\n this.contentEl.style.left = `${right - this.contentEl.clientWidth}px`;\n } else {\n this.contentEl.style.left = `${left}px`;\n }\n\n if (isNearBottom && !isNearTop) {\n this.contentEl.style.top = `${top - offsetY - contentHeight}px`;\n } else if (isNearBottom && isNearTop) {\n this.contentEl.style.overflowY = 'auto';\n if (pageY > window.innerHeight - pageY) {\n this.contentEl.style.top = `${offsetY}px`;\n this.contentEl.style.maxHeight = `${top}px`;\n } else {\n this.contentEl.style.top = `${bottom + offsetY}px`;\n this.contentEl.style.maxHeight = `${window.innerHeight - 20 - bottom}px`;\n }\n } else {\n this.contentEl.style.top = `${bottom + offsetY}px`;\n }\n }\n }\n\n return new Promise<void>(resolve => {\n this.contentEl.addEventListener('transitionend', () => {\n this.didPresent.emit();\n resolve();\n }, { once: true });\n if (this.triggerAction !== 'hover') {\n this.backdropEl.classList.add('fade');\n }\n this.contentEl.classList.add('open');\n });\n }\n }\n\n /** Manually dismisses the popover. Role and data get passed to the didDismiss event. */\n @Method()\n async dismiss(role = 'manualDismiss', data?: any) {\n if (this.isOpen) {\n return new Promise<void>(resolve => {\n this.contentEl.addEventListener('transitionend', () => {\n if (this.parentEl) {\n this.el.remove();\n this.parentEl.append(this.el);\n }\n this.isOpen = false;\n this.didDismiss.emit({ role: role, data: data });\n resolve();\n }, { once: true });\n if (this.triggerAction !== 'hover') {\n this.backdropEl.classList.remove('fade');\n }\n this.contentEl.classList.remove('open');\n });\n }\n }\n\n private handleBackdropClick = () => {\n if (this.isOpen && this.backdropDismiss) {\n this.dismiss('backdropDismiss');\n }\n }\n\n render() {\n return (\n <Host slot=\"overlay\">\n <div part=\"content\" ref={el => this.contentEl = el} onClick={this.handleContentClick} class={{ 'content-transition': true, content: this.isOpen }}>\n {this.isOpen && <slot></slot>}\n </div>\n {this.triggerAction !== 'hover' &&\n <div ref={el => this.backdropEl = el} onClick={this.handleBackdropClick}\n class={{\n 'backdrop-transition': true,\n backdrop: this.isOpen,\n clear: !this.showBackdrop && this.isOpen\n }}\n ></div>\n }\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,48 +0,0 @@
1
- import { p as proxyCustomElement, H, h, d as Host } from './p-41492a72.js';
2
-
3
- const jeColorCss = ":host{display:inline-block}:host([color=primary]),:host([color=auto][primary]){color:var(--je-primary-500)}:host([color=error]),:host([color=auto][error]){color:var(--je-error-500)}:host([color=secondary]),:host([color=auto][secondary]){color:var(--je-secondary-500)}:host([color=tertiary]),:host([color=auto][tertiary]){color:var(--je-tertiary-500)}:host([color=warning]),:host([color=auto][warning]){color:var(--je-warning-500)}:host([color=success]),:host([color=auto][success]){color:var(--je-success-500)}:host([color=medium]),:host([color=auto][medium]){color:var(--je-medium-500)}:host([color=light]),:host([color=auto][light]){color:var(--je-medium-100)}:host([color=dark]),:host([color=auto][dark]){color:var(--je-medium-850)}";
4
- const JeColorStyle0 = jeColorCss;
5
-
6
- const JeColor = /*@__PURE__*/ proxyCustomElement(class JeColor extends H {
7
- constructor() {
8
- super();
9
- this.__registerHost();
10
- this.__attachShadow();
11
- this.color = 'primary';
12
- this.lightModeColor = 'dark';
13
- this.darkModeColor = 'light';
14
- }
15
- handleThemeChange(e) {
16
- if (this.color == 'auto') {
17
- this.el.toggleAttribute(this.lightModeColor, e.detail == 'light');
18
- this.el.toggleAttribute(this.darkModeColor, e.detail == 'dark');
19
- }
20
- }
21
- render() {
22
- return (h(Host, { key: 'f282f9cc373d41672e2f89d28ca63ae2eb68bead' }, h("slot", { key: '595b55df77aa90cd06c63e96a3eb2f2a1a5d300f' })));
23
- }
24
- get el() { return this; }
25
- static get style() { return JeColorStyle0; }
26
- }, [1, "je-color", {
27
- "color": [513],
28
- "lightModeColor": [1, "light-mode-color"],
29
- "darkModeColor": [1, "dark-mode-color"]
30
- }, [[16, "themeChange", "handleThemeChange"]]]);
31
- function defineCustomElement() {
32
- if (typeof customElements === "undefined") {
33
- return;
34
- }
35
- const components = ["je-color"];
36
- components.forEach(tagName => { switch (tagName) {
37
- case "je-color":
38
- if (!customElements.get(tagName)) {
39
- customElements.define(tagName, JeColor);
40
- }
41
- break;
42
- } });
43
- }
44
- defineCustomElement();
45
-
46
- export { JeColor as J, defineCustomElement as d };
47
-
48
- //# sourceMappingURL=p-8401b4e4.js.map
@@ -1 +0,0 @@
1
- {"file":"p-8401b4e4.js","mappings":";;AAAA,MAAM,UAAU,GAAG,iuBAAiuB,CAAC;AACrvB,sBAAe,UAAU;;MCOZ,OAAO;;;;;qBAI+B,SAAS;8BAG1B,MAAM;6BAGP,OAAO;;IAGtC,iBAAiB,CAAC,CAAgC;QAChD,IAAI,IAAI,CAAC,KAAK,IAAI,MAAM,EAAE;YACxB,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,CAAA;YACjE,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAA;SAChE;KACF;IAED,MAAM;QACJ,QACE,EAAC,IAAI,uDACH,8DAAa,CACR,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/je-color/je-color.scss?tag=je-color&encapsulation=shadow","src/components/je-color/je-color.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n:host([color=primary]), :host([color=auto][primary]) {\n color: var(--je-primary-500);\n}\n\n:host([color=error]), :host([color=auto][error]) {\n color: var(--je-error-500);\n}\n\n:host([color=secondary]), :host([color=auto][secondary]) {\n color: var(--je-secondary-500);\n}\n\n:host([color=tertiary]), :host([color=auto][tertiary]) {\n color: var(--je-tertiary-500);\n}\n\n:host([color=warning]), :host([color=auto][warning]) {\n color: var(--je-warning-500);\n}\n\n:host([color=success]), :host([color=auto][success]) {\n color: var(--je-success-500);\n}\n\n:host([color=medium]), :host([color=auto][medium]) {\n color: var(--je-medium-500);\n}\n\n:host([color=light]), :host([color=auto][light]) {\n color: var(--je-medium-100);\n}\n\n:host([color=dark]), :host([color=auto][dark]) {\n color: var(--je-medium-850);\n}\n","import { Component, Host, Listen, Prop, h, Element } from '@stencil/core';\nimport { Color } from '../../components';\n\n@Component({\n tag: 'je-color',\n styleUrl: 'je-color.scss',\n shadow: true,\n})\nexport class JeColor {\n @Element() el: HTMLJeColorElement;\n\n /** Predefined colors. Auto will switch between light and dark based on the closest je-page's theme. */\n @Prop({ reflect: true }) color: Color | 'auto' = 'primary';\n\n /** Overrides what the light mode color will be when color is \"auto\". */\n @Prop() lightModeColor: Color = 'dark';\n\n /** Overrides what the dark mode color will be when color is \"auto\". */\n @Prop() darkModeColor: Color = 'light';\n\n @Listen('themeChange', { target: 'body' })\n handleThemeChange(e: CustomEvent<'light' | 'dark'>) {\n if (this.color == 'auto') {\n this.el.toggleAttribute(this.lightModeColor, e.detail == 'light')\n this.el.toggleAttribute(this.darkModeColor, e.detail == 'dark')\n }\n }\n\n render() {\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,39 +0,0 @@
1
- import { p as proxyCustomElement, H, h, d as Host } from './p-41492a72.js';
2
-
3
- const jeCardCss = ":host{display:block;border:solid 1px var(--je-card-border-color);border-radius:var(--je-border-radius, 2px);overflow:hidden;box-sizing:border-box;position:relative;color:var(--je-card-color);background-color:var(--je-card-background);--je-card-color:inherit;--je-card-background:inherit;--je-card-hover-background:#9f9e9e0e;--je-card-active-background:#9f9e9e19;--je-card-border-color:var(--je-medium-300)}:host([button]){cursor:pointer;user-select:none;-webkit-user-select:none;transition:all 125ms ease-in-out}:host([button]:hover){background-color:var(--je-card-hover-background)}:host([button]:active){background-color:var(--je-card-active-background)}:host([color=error]){--je-card-color:var(--je-error-100);--je-card-background:var(--je-error-500);--je-card-hover-background:var(--je-error-600);--je-card-active-background:var(--je-error-700);--je-card-border-color:var(--je-error-300)}:host([color=secondary]){--je-card-color:var(--je-secondary-100);--je-card-background:var(--je-secondary-500);--je-card-hover-background:var(--je-secondary-600);--je-card-active-background:var(--je-secondary-700);--je-card-border-color:var(--je-secondary-300)}:host([color=tertiary]){--je-card-color:var(--je-tertiary-100);--je-card-background:var(--je-tertiary-500);--je-card-hover-background:var(--je-tertiary-600);--je-card-active-background:var(--je-tertiary-700);--je-card-border-color:var(--je-tertiary-300)}:host([color=warning]){--je-card-color:var(--je-warning-100);--je-card-background:var(--je-warning-500);--je-card-hover-background:var(--je-warning-600);--je-card-active-background:var(--je-warning-700);--je-card-border-color:var(--je-warning-300)}:host([color=success]){--je-card-color:var(--je-success-100);--je-card-background:var(--je-success-500);--je-card-hover-background:var(--je-success-600);--je-card-active-background:var(--je-success-700);--je-card-border-color:var(--je-success-300)}:host([color=medium]){--je-card-color:var(--je-medium-50);--je-card-background:var(--je-medium-500);--je-card-hover-background:var(--je-medium-600);--je-card-active-background:var(--je-medium-700)}:host([color=light]){--je-card-color:var(--je-medium-900);--je-card-background:var(--je-medium-100);--je-card-hover-background:var(--je-medium-400);--je-card-active-background:var(--je-medium-500)}:host([color=dark]){--je-card-color:var(--je-medium-50);--je-card-background:var(--je-medium-850);--je-card-hover-background:var(--je-medium-850);--je-card-active-background:var(--je-medium-900)}::slotted([slot=media]){width:100%}::slotted([slot=header]){box-sizing:border-box;padding-inline:var(--je-spacing-xs, 10px);border-bottom:solid 1px var(--je-card-border-color)}::slotted([slot=footer]){box-sizing:border-box;display:flex;padding-block:var(--je-spacing-xs, 10px);gap:var(--je-spacing-2xs, 8px)}.container{box-sizing:border-box;padding:var(--je-spacing-xs, 10px)}";
4
- const JeCardStyle0 = jeCardCss;
5
-
6
- const JeCard = /*@__PURE__*/ proxyCustomElement(class JeCard extends H {
7
- constructor() {
8
- super();
9
- this.__registerHost();
10
- this.__attachShadow();
11
- this.color = undefined;
12
- this.button = undefined;
13
- }
14
- render() {
15
- return (h(Host, { key: '33f8bed14daea376f91f0ae6c948235a54a7a135' }, h("slot", { key: '5a108e5cc5339c21ae02ce1913b632856787825c', name: 'media' }), h("slot", { key: 'a6d8fc7f088f3d7b9512e27292d890cf5198ece6', name: 'header' }), h("div", { key: '5edfea57c094c3ca6504c2657fbd014d11eb5889', class: 'container' }, h("slot", { key: '47646e973cee3cbcb526f12b65404034ace999ca' }), h("slot", { key: 'e34763d24d6652f18463aeceb06c3f5db729ac06', name: 'footer' }))));
16
- }
17
- static get style() { return JeCardStyle0; }
18
- }, [1, "je-card", {
19
- "color": [513],
20
- "button": [516]
21
- }]);
22
- function defineCustomElement() {
23
- if (typeof customElements === "undefined") {
24
- return;
25
- }
26
- const components = ["je-card"];
27
- components.forEach(tagName => { switch (tagName) {
28
- case "je-card":
29
- if (!customElements.get(tagName)) {
30
- customElements.define(tagName, JeCard);
31
- }
32
- break;
33
- } });
34
- }
35
- defineCustomElement();
36
-
37
- export { JeCard as J, defineCustomElement as d };
38
-
39
- //# sourceMappingURL=p-94327b0d.js.map
@@ -1 +0,0 @@
1
- {"file":"p-94327b0d.js","mappings":";;AAAA,MAAM,SAAS,GAAG,qzFAAqzF,CAAC;AACx0F,qBAAe,SAAS;;MCOX,MAAM;;;;;;;;IAIjB,MAAM;QACJ,QACE,EAAC,IAAI,uDACH,6DAAM,IAAI,EAAC,OAAO,GAAG,EACrB,6DAAM,IAAI,EAAC,QAAQ,GAAG,EACtB,4DAAK,KAAK,EAAC,WAAW,IACpB,8DAAQ,EACR,6DAAM,IAAI,EAAC,QAAQ,GAAG,CAClB,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/je-card/je-card.scss?tag=je-card&encapsulation=shadow","src/components/je-card/je-card.tsx"],"sourcesContent":[":host {\n display: block;\n border: solid 1px var(--je-card-border-color);\n border-radius: var(--je-border-radius, 2px);\n overflow: hidden;\n box-sizing: border-box;\n position: relative;\n color: var(--je-card-color);\n background-color: var(--je-card-background);\n\n --je-card-color: inherit;\n --je-card-background: inherit;\n --je-card-hover-background: #9f9e9e0e;\n --je-card-active-background: #9f9e9e19;\n --je-card-border-color: var(--je-medium-300);\n}\n\n:host([button]) {\n cursor: pointer;\n user-select: none;\n -webkit-user-select: none;\n transition: all 125ms ease-in-out;\n}\n\n:host([button]:hover) {\n background-color: var(--je-card-hover-background);\n}\n\n:host([button]:active) {\n background-color: var(--je-card-active-background);\n}\n\n:host([color=error]) {\n --je-card-color: var(--je-error-100);\n --je-card-background: var(--je-error-500);\n --je-card-hover-background: var(--je-error-600);\n --je-card-active-background: var(--je-error-700);\n --je-card-border-color: var(--je-error-300);\n}\n\n:host([color=secondary]) {\n --je-card-color: var(--je-secondary-100);\n --je-card-background: var(--je-secondary-500);\n --je-card-hover-background: var(--je-secondary-600);\n --je-card-active-background: var(--je-secondary-700);\n --je-card-border-color: var(--je-secondary-300);\n}\n\n:host([color=tertiary]) {\n --je-card-color: var(--je-tertiary-100);\n --je-card-background: var(--je-tertiary-500);\n --je-card-hover-background: var(--je-tertiary-600);\n --je-card-active-background: var(--je-tertiary-700);\n --je-card-border-color: var(--je-tertiary-300);\n}\n\n:host([color=warning]) {\n --je-card-color: var(--je-warning-100);\n --je-card-background: var(--je-warning-500);\n --je-card-hover-background: var(--je-warning-600);\n --je-card-active-background: var(--je-warning-700);\n --je-card-border-color: var(--je-warning-300);\n}\n\n:host([color=success]) {\n --je-card-color: var(--je-success-100);\n --je-card-background: var(--je-success-500);\n --je-card-hover-background: var(--je-success-600);\n --je-card-active-background: var(--je-success-700);\n --je-card-border-color: var(--je-success-300);\n}\n\n:host([color=medium]) {\n --je-card-color: var(--je-medium-50);\n --je-card-background: var(--je-medium-500);\n --je-card-hover-background: var(--je-medium-600);\n --je-card-active-background: var(--je-medium-700);\n}\n\n:host([color=light]) {\n --je-card-color: var(--je-medium-900);\n --je-card-background: var(--je-medium-100);\n --je-card-hover-background: var(--je-medium-400);\n --je-card-active-background: var(--je-medium-500);\n}\n\n:host([color=dark]) {\n --je-card-color: var(--je-medium-50);\n --je-card-background: var(--je-medium-850);\n --je-card-hover-background: var(--je-medium-850);\n --je-card-active-background: var(--je-medium-900);\n}\n\n::slotted([slot=\"media\"]) {\n width: 100%;\n}\n\n::slotted([slot=\"header\"]) {\n box-sizing: border-box;\n padding-inline: var(--je-spacing-xs, 10px);\n border-bottom: solid 1px var(--je-card-border-color);\n}\n\n::slotted([slot=\"footer\"]) {\n box-sizing: border-box;\n display: flex;\n padding-block: var(--je-spacing-xs, 10px);\n gap: var(--je-spacing-2xs, 8px);\n}\n\n.container {\n box-sizing: border-box;\n padding: var(--je-spacing-xs, 10px);\n}\n","import { Component, Host, Prop, h } from '@stencil/core';\nimport { Color } from '../../utils/utils';\n\n@Component({\n tag: 'je-card',\n styleUrl: 'je-card.scss',\n shadow: true,\n})\nexport class JeCard {\n @Prop({ reflect: true }) color?: Color;\n @Prop({ reflect: true }) button?: boolean;\n\n render() {\n return (\n <Host>\n <slot name='media' />\n <slot name='header' />\n <div class='container'>\n <slot />\n <slot name='footer' />\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,76 +0,0 @@
1
- import { p as proxyCustomElement, H, h } from './p-41492a72.js';
2
-
3
- const jeButtonCss = ":host{display:block;width:fit-content;position:relative;--je-button-height:40px;--je-button-width:auto;--je-button-min-width:80px;--je-button-font-size:1.1em;--je-button-inline-padding:12px;--je-button-color:var(--je-primary-100, buttontext);--je-button-background:var(--je-primary-500, buttonface);--je-button-hover-background:var(--je-primary-600, buttonface);--je-button-active-background:var(--je-primary-700, buttonface)}:host([color=error]),:host([color=auto][error]){--je-button-color:var(--je-error-100);--je-button-background:var(--je-error-500);--je-button-hover-background:var(--je-error-600);--je-button-active-background:var(--je-error-700)}:host([color=secondary]),:host([color=auto][secondary]){--je-button-color:var(--je-secondary-100);--je-button-background:var(--je-secondary-500);--je-button-hover-background:var(--je-secondary-600);--je-button-active-background:var(--je-secondary-700)}:host([color=tertiary]),:host([color=auto][tertiary]){--je-button-color:var(--je-tertiary-100);--je-button-background:var(--je-tertiary-500);--je-button-hover-background:var(--je-tertiary-600);--je-button-active-background:var(--je-tertiary-700)}:host([color=warning]),:host([color=auto][warning]){--je-button-color:var(--je-warning-100);--je-button-background:var(--je-warning-500);--je-button-hover-background:var(--je-warning-600);--je-button-active-background:var(--je-warning-700)}:host([color=success]),:host([color=auto][success]){--je-button-color:var(--je-success-100);--je-button-background:var(--je-success-500);--je-button-hover-background:var(--je-success-600);--je-button-active-background:var(--je-success-700)}:host([color=medium]),:host([color=auto][medium]){--je-button-color:var(--je-medium-50);--je-button-background:var(--je-medium-500);--je-button-hover-background:var(--je-medium-600);--je-button-active-background:var(--je-medium-700)}:host([color=light]),:host([color=auto][light]){--je-button-color:var(--je-medium-900);--je-button-background:var(--je-medium-100);--je-button-hover-background:var(--je-medium-400);--je-button-active-background:var(--je-medium-500)}:host([color=dark]),:host([color=auto][dark]){--je-button-color:var(--je-medium-50);--je-button-background:var(--je-medium-850);--je-button-hover-background:var(--je-medium-850);--je-button-active-background:var(--je-medium-900)}:host([expand]){width:100%;--je-button-width:100%}:host([icon-only]){--je-button-min-width:2px;--je-button-inline-padding:0}:host([size=sm]){--je-button-min-width:60px;--je-button-height:30px;--je-button-font-size:0.9em;--je-button-inline-padding:8px}:host([size=lg]){--je-button-min-width:100px;--je-button-height:50px;--je-button-font-size:1.3em;--je-button-inline-padding:20px}button{display:flex;align-items:center;justify-content:center;gap:4px;position:relative;box-sizing:border-box;border:none;border-radius:var(--je-border-radius, 2px);padding-inline:var(--je-button-inline-padding);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;text-transform:uppercase;text-wrap:wrap;font-family:var(--je-font-family);font-size:var(--je-button-font-size);font-weight:var(--je-font-semi-bold);width:var(--je-button-width);height:var(--je-button-height);min-width:var(--je-button-min-width);color:var(--je-button-color);background-color:var(--je-button-background);transition:all 125ms ease-in-out}@media (hover: hover){button:hover{--je-button-background:var(--je-button-hover-background)}}button:active{--je-button-background:var(--je-button-active-background)}button:disabled{opacity:0.8;cursor:default}:host([fill=outline]) button{color:var(--je-button-background);background-color:transparent;border:solid 1px var(--je-button-background)}:host([fill=clear]) button{color:var(--je-button-background);background-color:transparent;font-weight:var(--je-font-bold)}@media (hover: hover){:host([fill=clear]) button:hover{opacity:0.8}}::slotted(je-icon){cursor:pointer}::slotted([slot=badge]){top:0;right:0;position:absolute;transform:translate(50%, -50%);border-radius:14px;color:var(--je-button-background);background-color:var(--je-button-color);padding-inline:4px;height:20px;display:flex;align-items:center;justify-content:center}";
4
- const JeButtonStyle0 = jeButtonCss;
5
-
6
- const JeButton = /*@__PURE__*/ proxyCustomElement(class JeButton extends H {
7
- constructor() {
8
- super();
9
- this.__registerHost();
10
- this.__attachShadow();
11
- this.disabled = false;
12
- this.type = 'button';
13
- this.expand = false;
14
- this.iconOnly = false;
15
- this.fill = 'solid';
16
- this.size = 'md';
17
- this.color = 'primary';
18
- this.lightModeColor = 'dark';
19
- this.darkModeColor = 'light';
20
- }
21
- componentDidLoad() {
22
- if (this.type == 'submit' || this.type == 'reset') {
23
- this.formEl = this.el.closest('form');
24
- if (this.formEl) {
25
- this.formButtonEl = document.createElement('button');
26
- this.formButtonEl.type = this.type;
27
- this.formButtonEl.style.display = 'none';
28
- this.formEl.append(this.formButtonEl);
29
- }
30
- }
31
- }
32
- handleThemeChange(e) {
33
- if (this.color == 'auto') {
34
- this.el.toggleAttribute(this.lightModeColor, e.detail == 'light');
35
- this.el.toggleAttribute(this.darkModeColor, e.detail == 'dark');
36
- }
37
- }
38
- handleClick() {
39
- if (this.formButtonEl) {
40
- this.formButtonEl.click();
41
- }
42
- }
43
- render() {
44
- return (h("button", { key: 'ebf16b4d043ac8346c34475bc6424f3f8d537bfb', part: 'inner-button', disabled: this.disabled, type: this.type }, h("slot", { key: '4a2f527ad436bcf5bdc1f9ae84034388bda0e674' }), h("slot", { key: '0e7d1c98c5b242a0f9c29cb47a893ac408557808', name: 'badge' })));
45
- }
46
- get el() { return this; }
47
- static get style() { return JeButtonStyle0; }
48
- }, [1, "je-button", {
49
- "disabled": [4],
50
- "type": [1],
51
- "expand": [516],
52
- "iconOnly": [516, "icon-only"],
53
- "fill": [513],
54
- "size": [513],
55
- "color": [513],
56
- "lightModeColor": [1, "light-mode-color"],
57
- "darkModeColor": [1, "dark-mode-color"]
58
- }, [[16, "themeChange", "handleThemeChange"], [0, "click", "handleClick"]]]);
59
- function defineCustomElement() {
60
- if (typeof customElements === "undefined") {
61
- return;
62
- }
63
- const components = ["je-button"];
64
- components.forEach(tagName => { switch (tagName) {
65
- case "je-button":
66
- if (!customElements.get(tagName)) {
67
- customElements.define(tagName, JeButton);
68
- }
69
- break;
70
- } });
71
- }
72
- defineCustomElement();
73
-
74
- export { JeButton as J, defineCustomElement as d };
75
-
76
- //# sourceMappingURL=p-aa4caa39.js.map
@@ -1 +0,0 @@
1
- {"file":"p-aa4caa39.js","mappings":";;AAAA,MAAM,WAAW,GAAG,+lIAA+lI,CAAC;AACpnI,uBAAe,WAAW;;MCOb,QAAQ;;;;;wBAMA,KAAK;oBAGT,QAAQ;sBAGW,KAAK;wBAGH,KAAK;oBAGsB,OAAO;oBAGlB,IAAI;qBAGP,SAAS;8BAG1B,MAAM;6BAGP,OAAO;;IAEtC,gBAAgB;QACd,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE;YACjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACrD,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACnC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBACzC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aACvC;SACF;KACF;IAGD,iBAAiB,CAAC,CAAgC;QAChD,IAAI,IAAI,CAAC,KAAK,IAAI,MAAM,EAAE;YACxB,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,CAAA;YACjE,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAA;SAChE;KACF;IAGD,WAAW;QACT,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;SAC3B;KACF;IAED,MAAM;QACJ,QACE,+DAAQ,IAAI,EAAC,cAAc,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAClE,8DAAa,EACb,6DAAM,IAAI,EAAC,OAAO,GAAQ,CACnB,EACT;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/je-button/je-button.scss?tag=je-button&encapsulation=shadow","src/components/je-button/je-button.tsx"],"sourcesContent":[":host {\n display: block;\n width: fit-content;\n position: relative;\n\n /**\n * @prop --je-button-height: Fixed height\n * @prop --je-button-width: Optional fixed width\n * @prop --je-button-min-width: Minimum width\n * @prop --je-button-font-size: Font size\n * @prop --je-button-inline-padding: Inner inline padding\n * @prop --je-button-color: Text color\n * @prop --je-button-background: Default background color\n * @prop --je-button-hover-background: Hovered background color\n * @prop --je-button-active-background: Pressed background color\n */\n --je-button-height: 40px;\n --je-button-width: auto;\n --je-button-min-width: 80px;\n --je-button-font-size: 1.1em;\n --je-button-inline-padding: 12px;\n --je-button-color: var(--je-primary-100, buttontext);\n --je-button-background: var(--je-primary-500, buttonface);\n --je-button-hover-background: var(--je-primary-600, buttonface);\n --je-button-active-background: var(--je-primary-700, buttonface);\n}\n\n:host([color=error]), :host([color=auto][error]) {\n --je-button-color: var(--je-error-100);\n --je-button-background: var(--je-error-500);\n --je-button-hover-background: var(--je-error-600);\n --je-button-active-background: var(--je-error-700);\n}\n\n:host([color=secondary]), :host([color=auto][secondary]) {\n --je-button-color: var(--je-secondary-100);\n --je-button-background: var(--je-secondary-500);\n --je-button-hover-background: var(--je-secondary-600);\n --je-button-active-background: var(--je-secondary-700);\n}\n\n:host([color=tertiary]), :host([color=auto][tertiary]) {\n --je-button-color: var(--je-tertiary-100);\n --je-button-background: var(--je-tertiary-500);\n --je-button-hover-background: var(--je-tertiary-600);\n --je-button-active-background: var(--je-tertiary-700);\n}\n\n:host([color=warning]), :host([color=auto][warning]) {\n --je-button-color: var(--je-warning-100);\n --je-button-background: var(--je-warning-500);\n --je-button-hover-background: var(--je-warning-600);\n --je-button-active-background: var(--je-warning-700);\n}\n\n:host([color=success]), :host([color=auto][success]) {\n --je-button-color: var(--je-success-100);\n --je-button-background: var(--je-success-500);\n --je-button-hover-background: var(--je-success-600);\n --je-button-active-background: var(--je-success-700);\n}\n\n:host([color=medium]), :host([color=auto][medium]) {\n --je-button-color: var(--je-medium-50);\n --je-button-background: var(--je-medium-500);\n --je-button-hover-background: var(--je-medium-600);\n --je-button-active-background: var(--je-medium-700);\n}\n\n:host([color=light]), :host([color=auto][light]) {\n --je-button-color: var(--je-medium-900);\n --je-button-background: var(--je-medium-100);\n --je-button-hover-background: var(--je-medium-400);\n --je-button-active-background: var(--je-medium-500);\n}\n\n:host([color=dark]), :host([color=auto][dark]) {\n --je-button-color: var(--je-medium-50);\n --je-button-background: var(--je-medium-850);\n --je-button-hover-background: var(--je-medium-850);\n --je-button-active-background: var(--je-medium-900);\n}\n\n:host([expand]) {\n width: 100%;\n --je-button-width: 100%;\n}\n\n:host([icon-only]) {\n --je-button-min-width: 2px;\n --je-button-inline-padding: 0;\n}\n\n:host([size=sm]) {\n --je-button-min-width: 60px;\n --je-button-height: 30px;\n --je-button-font-size: 0.9em;\n --je-button-inline-padding: 8px;\n}\n\n:host([size=lg]) {\n --je-button-min-width: 100px;\n --je-button-height: 50px;\n --je-button-font-size: 1.3em;\n --je-button-inline-padding: 20px;\n}\n\nbutton {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n position: relative;\n box-sizing: border-box;\n border: none;\n border-radius: var(--je-border-radius, 2px);\n padding-inline: var(--je-button-inline-padding);\n cursor: pointer;\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n user-select: none;\n text-transform: uppercase;\n text-wrap: wrap;\n font-family: var(--je-font-family);\n font-size: var(--je-button-font-size);\n font-weight: var(--je-font-semi-bold);\n width: var(--je-button-width);\n height: var(--je-button-height);\n min-width: var(--je-button-min-width);\n color: var(--je-button-color);\n background-color: var(--je-button-background);\n transition: all 125ms ease-in-out;\n\n @media (hover: hover) {\n &:hover {\n --je-button-background: var(--je-button-hover-background);\n }\n }\n\n &:active {\n --je-button-background: var(--je-button-active-background);\n }\n\n &:disabled {\n opacity: 0.8;\n cursor: default;\n }\n}\n\n:host([fill=outline]) button {\n color: var(--je-button-background);\n background-color: transparent;\n border: solid 1px var(--je-button-background);\n}\n\n:host([fill=clear]) button {\n color: var(--je-button-background);\n background-color: transparent;\n font-weight: var(--je-font-bold);\n\n @media (hover: hover) {\n &:hover {\n opacity: 0.8;\n }\n }\n}\n\n::slotted(je-icon) {\n cursor: pointer;\n}\n\n::slotted([slot=badge]) {\n top: 0;\n right: 0;\n position: absolute;\n transform: translate(50%, -50%);\n border-radius: 14px;\n color: var(--je-button-background);\n background-color: var(--je-button-color);\n padding-inline: 4px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n","import { Component, Prop, h, Element, Listen } from '@stencil/core';\nimport { Color } from '../../utils/utils';\n\n@Component({\n tag: 'je-button',\n styleUrl: 'je-button.scss',\n shadow: true,\n})\nexport class JeButton {\n @Element() el: HTMLJeButtonElement;\n private formEl?: HTMLFormElement;\n private formButtonEl?: HTMLButtonElement;\n\n /** Disables button */\n @Prop() disabled = false;\n\n /** Can set to submit or reset to participate in forms */\n @Prop() type = 'button';\n\n /** Expands the button to the full width of it's container */\n @Prop({ reflect: true }) expand = false;\n\n /** Removes the padding, ideal for turning an icon or image into a button */\n @Prop({ reflect: true }) iconOnly = false;\n\n /** Button fill */\n @Prop({ reflect: true }) fill: 'solid' | 'outline' | 'clear' = 'solid';\n\n /** Button size */\n @Prop({ reflect: true }) size: 'md' | 'lg' | 'sm' = 'md';\n\n /** Predefined colors. Auto will switch between light and dark based on the closest je-page's theme. */\n @Prop({ reflect: true }) color: Color | 'auto' = 'primary';\n\n /** Overrides what the light mode color will be when color is \"auto\". */\n @Prop() lightModeColor: Color = 'dark';\n\n /** Overrides what the dark mode color will be when color is \"auto\". */\n @Prop() darkModeColor: Color = 'light';\n\n componentDidLoad() {\n if (this.type == 'submit' || this.type == 'reset') {\n this.formEl = this.el.closest('form');\n if (this.formEl) {\n this.formButtonEl = document.createElement('button');\n this.formButtonEl.type = this.type;\n this.formButtonEl.style.display = 'none';\n this.formEl.append(this.formButtonEl);\n }\n }\n }\n\n @Listen('themeChange', { target: 'body' })\n handleThemeChange(e: CustomEvent<'light' | 'dark'>) {\n if (this.color == 'auto') {\n this.el.toggleAttribute(this.lightModeColor, e.detail == 'light')\n this.el.toggleAttribute(this.darkModeColor, e.detail == 'dark')\n }\n }\n\n @Listen('click')\n handleClick() {\n if (this.formButtonEl) {\n this.formButtonEl.click();\n }\n }\n\n render() {\n return (\n <button part='inner-button' disabled={this.disabled} type={this.type}>\n <slot></slot>\n <slot name='badge'></slot>\n </button>\n );\n }\n}\n"],"version":3}