@everymatrix/helper-accordion 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 (47) hide show
  1. package/dist/cjs/helper-accordion.cjs.entry.js +88 -0
  2. package/dist/cjs/helper-accordion.cjs.js +19 -0
  3. package/dist/cjs/index-cfe84820.js +1165 -0
  4. package/dist/cjs/index.cjs.js +2 -0
  5. package/dist/cjs/loader.cjs.js +21 -0
  6. package/dist/collection/collection-manifest.json +12 -0
  7. package/dist/collection/components/helper-accordion/helper-accordion.css +66 -0
  8. package/dist/collection/components/helper-accordion/helper-accordion.js +262 -0
  9. package/dist/collection/index.js +1 -0
  10. package/dist/collection/utils/locale.utils.js +14 -0
  11. package/dist/collection/utils/utils.js +3 -0
  12. package/dist/components/helper-accordion.d.ts +11 -0
  13. package/dist/components/helper-accordion.js +113 -0
  14. package/dist/components/index.d.ts +22 -0
  15. package/dist/components/index.js +2 -0
  16. package/dist/esm/helper-accordion.entry.js +84 -0
  17. package/dist/esm/helper-accordion.js +17 -0
  18. package/dist/esm/index-3e7659e3.js +1139 -0
  19. package/dist/esm/index.js +1 -0
  20. package/dist/esm/loader.js +17 -0
  21. package/dist/esm/polyfills/core-js.js +11 -0
  22. package/dist/esm/polyfills/css-shim.js +1 -0
  23. package/dist/esm/polyfills/dom.js +79 -0
  24. package/dist/esm/polyfills/es5-html-element.js +1 -0
  25. package/dist/esm/polyfills/index.js +34 -0
  26. package/dist/esm/polyfills/system.js +6 -0
  27. package/dist/helper-accordion/helper-accordion.esm.js +1 -0
  28. package/dist/helper-accordion/index.esm.js +0 -0
  29. package/dist/helper-accordion/p-1bc0026d.js +2 -0
  30. package/dist/helper-accordion/p-9e8e36f2.entry.js +1 -0
  31. package/dist/index.cjs.js +1 -0
  32. package/dist/index.js +1 -0
  33. package/dist/stencil.config.js +22 -0
  34. package/dist/types/Users/user/workspace/everymatrix/widgets-stencil/packages/helper-accordion/.stencil/packages/helper-accordion/stencil.config.d.ts +2 -0
  35. package/dist/types/components/helper-accordion/helper-accordion.d.ts +48 -0
  36. package/dist/types/components.d.ts +117 -0
  37. package/dist/types/index.d.ts +1 -0
  38. package/dist/types/stencil-public-runtime.d.ts +1565 -0
  39. package/dist/types/utils/locale.utils.d.ts +1 -0
  40. package/dist/types/utils/utils.d.ts +1 -0
  41. package/loader/cdn.js +3 -0
  42. package/loader/index.cjs.js +3 -0
  43. package/loader/index.d.ts +12 -0
  44. package/loader/index.es2017.js +3 -0
  45. package/loader/index.js +4 -0
  46. package/loader/package.json +10 -0
  47. package/package.json +19 -0
@@ -0,0 +1,2 @@
1
+ 'use strict';
2
+
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-cfe84820.js');
6
+
7
+ /*
8
+ Stencil Client Patch Esm v2.17.0 | MIT Licensed | https://stenciljs.com
9
+ */
10
+ const patchEsm = () => {
11
+ return index.promiseResolve();
12
+ };
13
+
14
+ const defineCustomElements = (win, options) => {
15
+ if (typeof window === 'undefined') return Promise.resolve();
16
+ return patchEsm().then(() => {
17
+ return index.bootstrapLazy([["helper-accordion.cjs",[[1,"helper-accordion",{"headerTitle":[1,"header-title"],"headerSubtitle":[1,"header-subtitle"],"description":[1],"footer":[4],"deleteTab":[4,"delete-tab"],"postMessage":[4,"post-message"],"eventName":[1,"event-name"],"collapsed":[4],"language":[1],"showContent":[32]}]]]], options);
18
+ });
19
+ };
20
+
21
+ exports.defineCustomElements = defineCustomElements;
@@ -0,0 +1,12 @@
1
+ {
2
+ "entries": [
3
+ "./components/helper-accordion/helper-accordion.js"
4
+ ],
5
+ "compiler": {
6
+ "name": "@stencil/core",
7
+ "version": "2.17.0",
8
+ "typescriptVersion": "4.5.4"
9
+ },
10
+ "collections": [],
11
+ "bundles": []
12
+ }
@@ -0,0 +1,66 @@
1
+ @import url("https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap");
2
+ :host {
3
+ display: block;
4
+ font-family: "Roboto", sans-serif;
5
+ }
6
+
7
+ .Header {
8
+ border-radius: 4px;
9
+ margin-bottom: 1px;
10
+ background: #009993;
11
+ display: flex;
12
+ gap: 30px;
13
+ border: 1px solid #009993;
14
+ padding: 8px 10px;
15
+ user-select: none;
16
+ }
17
+ .Header:hover {
18
+ background: #00ABA4;
19
+ }
20
+ .Header .Title,
21
+ .Header .Subtitle,
22
+ .Header .Description {
23
+ margin: 0;
24
+ font-size: 14px;
25
+ color: #fff;
26
+ }
27
+ .Header .Expand {
28
+ margin-left: auto;
29
+ color: #FFF;
30
+ width: 17px;
31
+ height: 17px;
32
+ cursor: pointer;
33
+ text-align: center;
34
+ transform: rotate(90deg);
35
+ font-size: 20px;
36
+ user-select: none;
37
+ }
38
+
39
+ .Content {
40
+ border-radius: 4px;
41
+ background: #fff;
42
+ border: 1px solid #009993;
43
+ padding: 10px 15px;
44
+ user-select: none;
45
+ color: #000;
46
+ margin-bottom: 10px;
47
+ }
48
+
49
+ .ActionButton {
50
+ border-radius: 4px;
51
+ margin-top: 10px;
52
+ cursor: pointer;
53
+ text-transform: capitalize;
54
+ display: block;
55
+ font-size: 12px;
56
+ text-align: center;
57
+ padding: 8px 20px;
58
+ width: 80px;
59
+ background: #FF3D00;
60
+ border: 1px solid #FF3D00;
61
+ color: #FFF;
62
+ }
63
+ .ActionButton:hover {
64
+ background: #FF6536;
65
+ border: 1px solid #FF3D00;
66
+ }
@@ -0,0 +1,262 @@
1
+ import { Component, Prop, h, State, Event } from '@stencil/core';
2
+ import { translate } from '../../utils/locale.utils';
3
+ export class Accordion {
4
+ constructor() {
5
+ /**
6
+ * Title (top header)
7
+ */
8
+ this.headerTitle = '';
9
+ /**
10
+ * SubTitle (top header)
11
+ */
12
+ this.headerSubtitle = '';
13
+ /**
14
+ * Description
15
+ */
16
+ this.description = '';
17
+ /**
18
+ * Enables footer content
19
+ */
20
+ this.footer = false;
21
+ /**
22
+ * Enables footer button for tab deletion
23
+ */
24
+ this.deleteTab = false;
25
+ /**
26
+ * Activates postMessages as events for actions from the widget
27
+ */
28
+ this.postMessage = false;
29
+ /**
30
+ * Name of the event emitter by the action button
31
+ */
32
+ this.eventName = 'helperAccordionAction';
33
+ /**
34
+ * Collapsed
35
+ */
36
+ this.collapsed = true;
37
+ /**
38
+ * Language
39
+ */
40
+ this.language = 'en';
41
+ }
42
+ // @TODO fix the `any` type :)
43
+ connectedCallback() {
44
+ this.showContent = !this.collapsed;
45
+ }
46
+ toggleContent() {
47
+ this.showContent = !this.showContent;
48
+ }
49
+ deleteAction() {
50
+ if (this.postMessage) {
51
+ // @TODO maybe change the name type, this one sucks
52
+ window.postMessage({ type: this.eventName }, window.location.href);
53
+ }
54
+ this.accordionEvent.emit();
55
+ }
56
+ render() {
57
+ return (h("div", { class: "Wrapper" },
58
+ h("div", { class: "Header" },
59
+ h("p", { class: "Title" }, this.headerTitle),
60
+ h("p", { class: "Subtitle" }, this.headerSubtitle),
61
+ h("p", { class: "Subtitle" }, this.description),
62
+ h("span", { class: "Expand", onClick: () => this.toggleContent() }, this.showContent ? '<' : '>')),
63
+ this.showContent &&
64
+ h("div", null,
65
+ h("div", { class: "Content" },
66
+ h("slot", { name: 'accordionContent' }),
67
+ this.footer && this.showContent &&
68
+ h("div", null, this.deleteTab &&
69
+ h("span", { class: "ActionButton", onClick: () => this.deleteAction() }, translate('deleteTicket', this.language)))))));
70
+ }
71
+ static get is() { return "helper-accordion"; }
72
+ static get encapsulation() { return "shadow"; }
73
+ static get originalStyleUrls() { return {
74
+ "$": ["helper-accordion.scss"]
75
+ }; }
76
+ static get styleUrls() { return {
77
+ "$": ["helper-accordion.css"]
78
+ }; }
79
+ static get properties() { return {
80
+ "headerTitle": {
81
+ "type": "string",
82
+ "mutable": false,
83
+ "complexType": {
84
+ "original": "string",
85
+ "resolved": "string",
86
+ "references": {}
87
+ },
88
+ "required": false,
89
+ "optional": false,
90
+ "docs": {
91
+ "tags": [],
92
+ "text": "Title (top header)"
93
+ },
94
+ "attribute": "header-title",
95
+ "reflect": false,
96
+ "defaultValue": "''"
97
+ },
98
+ "headerSubtitle": {
99
+ "type": "string",
100
+ "mutable": false,
101
+ "complexType": {
102
+ "original": "string",
103
+ "resolved": "string",
104
+ "references": {}
105
+ },
106
+ "required": false,
107
+ "optional": false,
108
+ "docs": {
109
+ "tags": [],
110
+ "text": "SubTitle (top header)"
111
+ },
112
+ "attribute": "header-subtitle",
113
+ "reflect": false,
114
+ "defaultValue": "''"
115
+ },
116
+ "description": {
117
+ "type": "string",
118
+ "mutable": false,
119
+ "complexType": {
120
+ "original": "string",
121
+ "resolved": "string",
122
+ "references": {}
123
+ },
124
+ "required": false,
125
+ "optional": false,
126
+ "docs": {
127
+ "tags": [],
128
+ "text": "Description"
129
+ },
130
+ "attribute": "description",
131
+ "reflect": false,
132
+ "defaultValue": "''"
133
+ },
134
+ "footer": {
135
+ "type": "boolean",
136
+ "mutable": false,
137
+ "complexType": {
138
+ "original": "boolean",
139
+ "resolved": "boolean",
140
+ "references": {}
141
+ },
142
+ "required": false,
143
+ "optional": false,
144
+ "docs": {
145
+ "tags": [],
146
+ "text": "Enables footer content"
147
+ },
148
+ "attribute": "footer",
149
+ "reflect": false,
150
+ "defaultValue": "false"
151
+ },
152
+ "deleteTab": {
153
+ "type": "boolean",
154
+ "mutable": false,
155
+ "complexType": {
156
+ "original": "boolean",
157
+ "resolved": "boolean",
158
+ "references": {}
159
+ },
160
+ "required": false,
161
+ "optional": false,
162
+ "docs": {
163
+ "tags": [],
164
+ "text": "Enables footer button for tab deletion"
165
+ },
166
+ "attribute": "delete-tab",
167
+ "reflect": false,
168
+ "defaultValue": "false"
169
+ },
170
+ "postMessage": {
171
+ "type": "boolean",
172
+ "mutable": false,
173
+ "complexType": {
174
+ "original": "boolean",
175
+ "resolved": "boolean",
176
+ "references": {}
177
+ },
178
+ "required": false,
179
+ "optional": false,
180
+ "docs": {
181
+ "tags": [],
182
+ "text": "Activates postMessages as events for actions from the widget"
183
+ },
184
+ "attribute": "post-message",
185
+ "reflect": false,
186
+ "defaultValue": "false"
187
+ },
188
+ "eventName": {
189
+ "type": "string",
190
+ "mutable": false,
191
+ "complexType": {
192
+ "original": "string",
193
+ "resolved": "string",
194
+ "references": {}
195
+ },
196
+ "required": false,
197
+ "optional": false,
198
+ "docs": {
199
+ "tags": [],
200
+ "text": "Name of the event emitter by the action button"
201
+ },
202
+ "attribute": "event-name",
203
+ "reflect": false,
204
+ "defaultValue": "'helperAccordionAction'"
205
+ },
206
+ "collapsed": {
207
+ "type": "boolean",
208
+ "mutable": false,
209
+ "complexType": {
210
+ "original": "boolean",
211
+ "resolved": "boolean",
212
+ "references": {}
213
+ },
214
+ "required": false,
215
+ "optional": false,
216
+ "docs": {
217
+ "tags": [],
218
+ "text": "Collapsed"
219
+ },
220
+ "attribute": "collapsed",
221
+ "reflect": false,
222
+ "defaultValue": "true"
223
+ },
224
+ "language": {
225
+ "type": "string",
226
+ "mutable": false,
227
+ "complexType": {
228
+ "original": "string",
229
+ "resolved": "string",
230
+ "references": {}
231
+ },
232
+ "required": false,
233
+ "optional": false,
234
+ "docs": {
235
+ "tags": [],
236
+ "text": "Language"
237
+ },
238
+ "attribute": "language",
239
+ "reflect": false,
240
+ "defaultValue": "'en'"
241
+ }
242
+ }; }
243
+ static get states() { return {
244
+ "showContent": {}
245
+ }; }
246
+ static get events() { return [{
247
+ "method": "accordionEvent",
248
+ "name": "helperAccordionAction",
249
+ "bubbles": true,
250
+ "cancelable": true,
251
+ "composed": true,
252
+ "docs": {
253
+ "tags": [],
254
+ "text": "Action event"
255
+ },
256
+ "complexType": {
257
+ "original": "any",
258
+ "resolved": "any",
259
+ "references": {}
260
+ }
261
+ }]; }
262
+ }
@@ -0,0 +1 @@
1
+ export * from './components';
@@ -0,0 +1,14 @@
1
+ const DEFAULT_LANGUAGE = 'en';
2
+ const SUPPORTED_LANGUAGES = ['ro', 'en'];
3
+ const TRANSLATIONS = {
4
+ en: {
5
+ deleteTicket: 'Delete ticket'
6
+ },
7
+ ro: {
8
+ deleteTicket: 'Sterge biletul'
9
+ },
10
+ };
11
+ export const translate = (key, customLang) => {
12
+ const lang = customLang;
13
+ return TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];
14
+ };
@@ -0,0 +1,3 @@
1
+ export function format(first, middle, last) {
2
+ return ((first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : ''));
3
+ }
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface HelperAccordion extends Components.HelperAccordion, HTMLElement {}
4
+ export const HelperAccordion: {
5
+ prototype: HelperAccordion;
6
+ new (): HelperAccordion;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,113 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
+
3
+ const DEFAULT_LANGUAGE = 'en';
4
+ const SUPPORTED_LANGUAGES = ['ro', 'en'];
5
+ const TRANSLATIONS = {
6
+ en: {
7
+ deleteTicket: 'Delete ticket'
8
+ },
9
+ ro: {
10
+ deleteTicket: 'Sterge biletul'
11
+ },
12
+ };
13
+ const translate = (key, customLang) => {
14
+ const lang = customLang;
15
+ return TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];
16
+ };
17
+
18
+ const helperAccordionCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");:host{display:block;font-family:\"Roboto\", sans-serif}.Header{border-radius:4px;margin-bottom:1px;background:#009993;display:flex;gap:30px;border:1px solid #009993;padding:8px 10px;user-select:none}.Header:hover{background:#00ABA4}.Header .Title,.Header .Subtitle,.Header .Description{margin:0;font-size:14px;color:#fff}.Header .Expand{margin-left:auto;color:#FFF;width:17px;height:17px;cursor:pointer;text-align:center;transform:rotate(90deg);font-size:20px;user-select:none}.Content{border-radius:4px;background:#fff;border:1px solid #009993;padding:10px 15px;user-select:none;color:#000;margin-bottom:10px}.ActionButton{border-radius:4px;margin-top:10px;cursor:pointer;text-transform:capitalize;display:block;font-size:12px;text-align:center;padding:8px 20px;width:80px;background:#FF3D00;border:1px solid #FF3D00;color:#FFF}.ActionButton:hover{background:#FF6536;border:1px solid #FF3D00}";
19
+
20
+ const Accordion = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
21
+ constructor() {
22
+ super();
23
+ this.__registerHost();
24
+ this.__attachShadow();
25
+ this.accordionEvent = createEvent(this, "helperAccordionAction", 7);
26
+ /**
27
+ * Title (top header)
28
+ */
29
+ this.headerTitle = '';
30
+ /**
31
+ * SubTitle (top header)
32
+ */
33
+ this.headerSubtitle = '';
34
+ /**
35
+ * Description
36
+ */
37
+ this.description = '';
38
+ /**
39
+ * Enables footer content
40
+ */
41
+ this.footer = false;
42
+ /**
43
+ * Enables footer button for tab deletion
44
+ */
45
+ this.deleteTab = false;
46
+ /**
47
+ * Activates postMessages as events for actions from the widget
48
+ */
49
+ this.postMessage = false;
50
+ /**
51
+ * Name of the event emitter by the action button
52
+ */
53
+ this.eventName = 'helperAccordionAction';
54
+ /**
55
+ * Collapsed
56
+ */
57
+ this.collapsed = true;
58
+ /**
59
+ * Language
60
+ */
61
+ this.language = 'en';
62
+ }
63
+ // @TODO fix the `any` type :)
64
+ connectedCallback() {
65
+ this.showContent = !this.collapsed;
66
+ }
67
+ toggleContent() {
68
+ this.showContent = !this.showContent;
69
+ }
70
+ deleteAction() {
71
+ if (this.postMessage) {
72
+ // @TODO maybe change the name type, this one sucks
73
+ window.postMessage({ type: this.eventName }, window.location.href);
74
+ }
75
+ this.accordionEvent.emit();
76
+ }
77
+ render() {
78
+ return (h("div", { class: "Wrapper" }, h("div", { class: "Header" }, h("p", { class: "Title" }, this.headerTitle), h("p", { class: "Subtitle" }, this.headerSubtitle), h("p", { class: "Subtitle" }, this.description), h("span", { class: "Expand", onClick: () => this.toggleContent() }, this.showContent ? '<' : '>')), this.showContent &&
79
+ h("div", null, h("div", { class: "Content" }, h("slot", { name: 'accordionContent' }), this.footer && this.showContent &&
80
+ h("div", null, this.deleteTab &&
81
+ h("span", { class: "ActionButton", onClick: () => this.deleteAction() }, translate('deleteTicket', this.language)))))));
82
+ }
83
+ static get style() { return helperAccordionCss; }
84
+ }, [1, "helper-accordion", {
85
+ "headerTitle": [1, "header-title"],
86
+ "headerSubtitle": [1, "header-subtitle"],
87
+ "description": [1],
88
+ "footer": [4],
89
+ "deleteTab": [4, "delete-tab"],
90
+ "postMessage": [4, "post-message"],
91
+ "eventName": [1, "event-name"],
92
+ "collapsed": [4],
93
+ "language": [1],
94
+ "showContent": [32]
95
+ }]);
96
+ function defineCustomElement$1() {
97
+ if (typeof customElements === "undefined") {
98
+ return;
99
+ }
100
+ const components = ["helper-accordion"];
101
+ components.forEach(tagName => { switch (tagName) {
102
+ case "helper-accordion":
103
+ if (!customElements.get(tagName)) {
104
+ customElements.define(tagName, Accordion);
105
+ }
106
+ break;
107
+ } });
108
+ }
109
+
110
+ const HelperAccordion = Accordion;
111
+ const defineCustomElement = defineCustomElement$1;
112
+
113
+ export { HelperAccordion, defineCustomElement };
@@ -0,0 +1,22 @@
1
+ /* HelperAccordion custom elements */
2
+ export { Accordion as HelperAccordion } from '../types/components/helper-accordion/helper-accordion';
3
+
4
+ /**
5
+ * Used to manually set the base path where assets can be found.
6
+ * If the script is used as "module", it's recommended to use "import.meta.url",
7
+ * such as "setAssetPath(import.meta.url)". Other options include
8
+ * "setAssetPath(document.currentScript.src)", or using a bundler's replace plugin to
9
+ * dynamically set the path at build time, such as "setAssetPath(process.env.ASSET_PATH)".
10
+ * But do note that this configuration depends on how your script is bundled, or lack of
11
+ * bundling, and where your assets can be loaded from. Additionally custom bundling
12
+ * will have to ensure the static assets are copied to its build directory.
13
+ */
14
+ export declare const setAssetPath: (path: string) => void;
15
+
16
+ export interface SetPlatformOptions {
17
+ raf?: (c: FrameRequestCallback) => number;
18
+ ael?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
19
+ rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
20
+ }
21
+ export declare const setPlatformOptions: (opts: SetPlatformOptions) => void;
22
+ export * from '../types';
@@ -0,0 +1,2 @@
1
+ export { setAssetPath, setPlatformOptions } from '@stencil/core/internal/client';
2
+ export { HelperAccordion, defineCustomElement as defineCustomElementHelperAccordion } from './helper-accordion.js';
@@ -0,0 +1,84 @@
1
+ import { r as registerInstance, c as createEvent, h } from './index-3e7659e3.js';
2
+
3
+ const DEFAULT_LANGUAGE = 'en';
4
+ const SUPPORTED_LANGUAGES = ['ro', 'en'];
5
+ const TRANSLATIONS = {
6
+ en: {
7
+ deleteTicket: 'Delete ticket'
8
+ },
9
+ ro: {
10
+ deleteTicket: 'Sterge biletul'
11
+ },
12
+ };
13
+ const translate = (key, customLang) => {
14
+ const lang = customLang;
15
+ return TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];
16
+ };
17
+
18
+ const helperAccordionCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");:host{display:block;font-family:\"Roboto\", sans-serif}.Header{border-radius:4px;margin-bottom:1px;background:#009993;display:flex;gap:30px;border:1px solid #009993;padding:8px 10px;user-select:none}.Header:hover{background:#00ABA4}.Header .Title,.Header .Subtitle,.Header .Description{margin:0;font-size:14px;color:#fff}.Header .Expand{margin-left:auto;color:#FFF;width:17px;height:17px;cursor:pointer;text-align:center;transform:rotate(90deg);font-size:20px;user-select:none}.Content{border-radius:4px;background:#fff;border:1px solid #009993;padding:10px 15px;user-select:none;color:#000;margin-bottom:10px}.ActionButton{border-radius:4px;margin-top:10px;cursor:pointer;text-transform:capitalize;display:block;font-size:12px;text-align:center;padding:8px 20px;width:80px;background:#FF3D00;border:1px solid #FF3D00;color:#FFF}.ActionButton:hover{background:#FF6536;border:1px solid #FF3D00}";
19
+
20
+ const Accordion = class {
21
+ constructor(hostRef) {
22
+ registerInstance(this, hostRef);
23
+ this.accordionEvent = createEvent(this, "helperAccordionAction", 7);
24
+ /**
25
+ * Title (top header)
26
+ */
27
+ this.headerTitle = '';
28
+ /**
29
+ * SubTitle (top header)
30
+ */
31
+ this.headerSubtitle = '';
32
+ /**
33
+ * Description
34
+ */
35
+ this.description = '';
36
+ /**
37
+ * Enables footer content
38
+ */
39
+ this.footer = false;
40
+ /**
41
+ * Enables footer button for tab deletion
42
+ */
43
+ this.deleteTab = false;
44
+ /**
45
+ * Activates postMessages as events for actions from the widget
46
+ */
47
+ this.postMessage = false;
48
+ /**
49
+ * Name of the event emitter by the action button
50
+ */
51
+ this.eventName = 'helperAccordionAction';
52
+ /**
53
+ * Collapsed
54
+ */
55
+ this.collapsed = true;
56
+ /**
57
+ * Language
58
+ */
59
+ this.language = 'en';
60
+ }
61
+ // @TODO fix the `any` type :)
62
+ connectedCallback() {
63
+ this.showContent = !this.collapsed;
64
+ }
65
+ toggleContent() {
66
+ this.showContent = !this.showContent;
67
+ }
68
+ deleteAction() {
69
+ if (this.postMessage) {
70
+ // @TODO maybe change the name type, this one sucks
71
+ window.postMessage({ type: this.eventName }, window.location.href);
72
+ }
73
+ this.accordionEvent.emit();
74
+ }
75
+ render() {
76
+ return (h("div", { class: "Wrapper" }, h("div", { class: "Header" }, h("p", { class: "Title" }, this.headerTitle), h("p", { class: "Subtitle" }, this.headerSubtitle), h("p", { class: "Subtitle" }, this.description), h("span", { class: "Expand", onClick: () => this.toggleContent() }, this.showContent ? '<' : '>')), this.showContent &&
77
+ h("div", null, h("div", { class: "Content" }, h("slot", { name: 'accordionContent' }), this.footer && this.showContent &&
78
+ h("div", null, this.deleteTab &&
79
+ h("span", { class: "ActionButton", onClick: () => this.deleteAction() }, translate('deleteTicket', this.language)))))));
80
+ }
81
+ };
82
+ Accordion.style = helperAccordionCss;
83
+
84
+ export { Accordion as helper_accordion };
@@ -0,0 +1,17 @@
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-3e7659e3.js';
2
+
3
+ /*
4
+ Stencil Client Patch Browser v2.17.0 | MIT Licensed | https://stenciljs.com
5
+ */
6
+ const patchBrowser = () => {
7
+ const importMeta = import.meta.url;
8
+ const opts = {};
9
+ if (importMeta !== '') {
10
+ opts.resourcesUrl = new URL('.', importMeta).href;
11
+ }
12
+ return promiseResolve(opts);
13
+ };
14
+
15
+ patchBrowser().then(options => {
16
+ return bootstrapLazy([["helper-accordion",[[1,"helper-accordion",{"headerTitle":[1,"header-title"],"headerSubtitle":[1,"header-subtitle"],"description":[1],"footer":[4],"deleteTab":[4,"delete-tab"],"postMessage":[4,"post-message"],"eventName":[1,"event-name"],"collapsed":[4],"language":[1],"showContent":[32]}]]]], options);
17
+ });